diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..6859777 --- /dev/null +++ b/.tool-versions @@ -0,0 +1,5 @@ +golang 1.18 +nodejs 14.21.3 +pulumi 3.51.1 +python 3.11.2 +dotnet 7.0.302 diff --git a/Makefile b/Makefile index 9f2e285..8bccd6a 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ -PROJECT_NAME := xyz Package +PROJECT_NAME := nobl9 Package SHELL := /bin/bash -PACK := xyz -ORG := pulumi +PACK := nobl9 +ORG := piclemx PROJECT := github.com/${ORG}/pulumi-${PACK} NODE_MODULE_NAME := @pulumi/${PACK} TF_NAME := ${PACK} @@ -29,13 +29,13 @@ prepare:: mv "provider/cmd/pulumi-resource-x${EMPTY_TO_AVOID_SED}yz" provider/cmd/pulumi-resource-${NAME} if [[ "${OS}" != "Darwin" ]]; then \ - sed -i 's,github.com/pulumi/pulumi-xyz,${REPOSITORY},g' provider/go.mod; \ + sed -i 's,github.com/piclemx/pulumi-nobl9,${REPOSITORY},g' provider/go.mod; \ find ./ ! -path './.git/*' -type f -exec sed -i 's/[x]yz/${NAME}/g' {} \; &> /dev/null; \ fi # In MacOS the -i parameter needs an empty string to execute in place. if [[ "${OS}" == "Darwin" ]]; then \ - sed -i '' 's,github.com/pulumi/pulumi-xyz,${REPOSITORY},g' provider/go.mod; \ + sed -i '' 's,github.com/piclemx/pulumi-nobl9,${REPOSITORY},g' provider/go.mod; \ find ./ ! -path './.git/*' -type f -exec sed -i '' 's/[x]yz/${NAME}/g' {} \; &> /dev/null; \ fi diff --git a/README-PROVIDER.md b/README-PROVIDER.md index fd3567b..941ec13 100644 --- a/README-PROVIDER.md +++ b/README-PROVIDER.md @@ -1,6 +1,6 @@ -# Foo Resource Provider +# Nobl9 Resource Provider -The Foo Resource Provider lets you manage [Foo](http://example.com) resources. +The Nobl9 Resource Provider lets you manage [Nobl9](https://www.nobl9.com/) resources. ## Installing @@ -11,13 +11,13 @@ This package is available for several languages/platforms: To use from JavaScript or TypeScript in Node.js, install using either `npm`: ```bash -npm install @pulumi/foo +npm install @piclemx/pulumi-nobl9/ ``` or `yarn`: ```bash -yarn add @pulumi/foo +yarn add @piclemx/pulumi-nobl9 ``` ### Python @@ -25,7 +25,7 @@ yarn add @pulumi/foo To use from Python, install using `pip`: ```bash -pip install pulumi_foo +pip install pulumi_nobl9 ``` ### Go @@ -33,7 +33,7 @@ pip install pulumi_foo To use from Go, use `go get` to grab the latest version of the library: ```bash -go get github.com/pulumi/pulumi-foo/sdk/go/... +go get github.com/piclemx/pulumi-nobl9/sdk/go/... ``` ### .NET @@ -41,7 +41,7 @@ go get github.com/pulumi/pulumi-foo/sdk/go/... To use from .NET, install using `dotnet add package`: ```bash -dotnet add package Pulumi.Foo +dotnet add package Pulumi.Nobl9 ``` ## Configuration @@ -53,4 +53,4 @@ The following configuration points are available for the `foo` provider: ## Reference -For detailed reference documentation, please visit [the Pulumi registry](https://www.pulumi.com/registry/packages/foo/api-docs/). +For detailed reference documentation, please visit [the Pulumi registry](https://www.pulumi.com/registry/packages/nobl9/api-docs/). diff --git a/README.md b/README.md index a38f41b..0dc21b1 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ From the templated repository: This will do the following: - rename folders in `provider/cmd` to `pulumi-resource-foo` and `pulumi-tfgen-foo` - replace dependencies in `provider/go.mod` to reflect your repository name - - find and replace all instances of the boilerplate `xyz` with the `NAME` of your provider. + - find and replace all instances of the boilerplate `nobl9` with the `NAME` of your provider. Note for third-party providers: - Make sure to set the correct GitHub organization/username in all files referencing your provider as a dependency: @@ -225,7 +225,7 @@ The `make tfgen` target will take the file `schema.json` and serialize it to a b In this section, we will create a Pulumi program in TypeScript that utilizes the provider we created to ensure everything is working properly. 1. Create an account with the provider's service and generate any necessary credentials, e.g. API keys. - - Email: bot@pulumi.com + - Email: - Password: (Create a random password in 1Password with the maximum length and complexity allowed by the provider.) - Ensure all secrets (passwords, generated API keys) are stored in Pulumi's 1Password vault. @@ -359,7 +359,7 @@ before: hooks: - make tfgen builds: -- binary: pulumi-resource-xyz +- binary: pulumi-resource-nobl9 dir: provider goarch: - amd64 @@ -370,8 +370,8 @@ builds: - linux ignore: [] ldflags: - - -X github.com/pulumi/pulumi-xyz/provider/pkg/version.Version={{.Tag}} - main: ./cmd/pulumi-resource-xyz/ + - -X github.com/piclemx/pulumi-nobl9/provider/pkg/version.Version={{.Tag}} + main: ./cmd/pulumi-resource-nobl9/ sort: asc use: git release: @@ -396,18 +396,18 @@ dist ├── artifacts.json ├── config.yaml ├── metadata.json -├── pulumi-xyz_darwin_amd64_v1 -│ └── pulumi-resource-xyz -├── pulumi-xyz_darwin_arm64 -│ └── pulumi-resource-xyz -├── pulumi-xyz_linux_amd64_v1 -│ └── pulumi-resource-xyz -├── pulumi-xyz_linux_arm64 -│ └── pulumi-resource-xyz -├── pulumi-xyz_windows_amd64_v1 -│ └── pulumi-resource-xyz.exe -└── pulumi-xyz_windows_arm64 - └── pulumi-resource-xyz.exe +├── pulumi-nobl9_darwin_amd64_v1 +│ └── pulumi-resource-nobl9 +├── pulumi-nobl9_darwin_arm64 +│ └── pulumi-resource-nobl9 +├── pulumi-nobl9_linux_amd64_v1 +│ └── pulumi-resource-nobl9 +├── pulumi-nobl9_linux_arm64 +│ └── pulumi-resource-nobl9 +├── pulumi-nobl9_windows_amd64_v1 +│ └── pulumi-resource-nobl9.exe +└── pulumi-nobl9_windows_arm64 + └── pulumi-resource-nobl9.exe ``` Any of the provider binaries can be used to target the correct machine architecture @@ -455,4 +455,4 @@ EOF cd provider && go mod tidy ``` - \ No newline at end of file + diff --git a/deployment-templates/.goreleaser.yml b/deployment-templates/.goreleaser.yml index 9097c9a..7468a67 100644 --- a/deployment-templates/.goreleaser.yml +++ b/deployment-templates/.goreleaser.yml @@ -5,7 +5,7 @@ before: hooks: - make tfgen builds: - - binary: pulumi-resource-xyz + - binary: pulumi-resource-nobl9 dir: provider env: - CGO_ENABLED=0 @@ -18,8 +18,8 @@ builds: - linux ldflags: # The line below MUST align with the module in current provider/go.mod - - -X github.com/your-org-name/pulumi-xyz/provider/pkg/version.Version={{.Tag }} - main: ./cmd/pulumi-resource-xyz/ + - -X github.com/your-org-name/pulumi-nobl9/provider/pkg/version.Version={{.Tag }} + main: ./cmd/pulumi-resource-nobl9/ changelog: skip: true release: diff --git a/examples/go.mod b/examples/go.mod index 709bf5a..cfba71f 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -1,3 +1,5 @@ -module github.com/pulumi/pulumi-xyz/examples +module github.com/piclemx/pulumi-nobl9/examples go 1.16 + +require github.com/pulumi/pulumi/pkg/v3 v3.64.0 diff --git a/examples/go.sum b/examples/go.sum new file mode 100644 index 0000000..bb44eb2 --- /dev/null +++ b/examples/go.sum @@ -0,0 +1,3473 @@ +bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.39.0/go.mod h1:rVLT6fkc8chs9sfPtFc1SBH6em7n+ZoXaG+87tDISts= +cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +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= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.82.0/go.mod h1:vlKccHJGuFBFufnAnuB08dfEH9Y3H7dzDzRECFdC2TA= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.88.0/go.mod h1:dnKwfYbP9hQhefiUvpbcAyoGSHUrOxR20JVElLiUvEY= +cloud.google.com/go v0.89.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.92.2/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.92.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.0/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= +cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= +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.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= +cloud.google.com/go v0.107.0 h1:qkj22L7bgkl6vIeZDlOY2po43Mx/TIa2Wsa7VR+PEww= +cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= +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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +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/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/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/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/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/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/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/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/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= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +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.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 h1:7UGq3QknM33pw5xATlpzeoomNxsacIVvTqTTvbfajmE= +cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= +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/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/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/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/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/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/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/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/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/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/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= +cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= +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/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/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/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/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/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/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/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/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/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/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/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/firestore v1.5.0/go.mod h1:c4nNYR1qdq7eaZ+jSc5fonrQN2k3M7sWATcYTiakjEo= +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/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/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/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/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/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/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/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.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 h1:E2osAkZzxI/+8pZcxVLcDtAQx/u+hZXVryUaYQ5O0Kk= +cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= +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/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/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/kms v0.1.0/go.mod h1:8Qp8PCAypHg4FdmlyW1QRAv09BGQ9Uzh7JnmIZxPk+c= +cloud.google.com/go/kms v1.1.0/go.mod h1:WdbppnCDMDpOvoYBMn1+gNmOeEoZYqAv+HeuKARGCXI= +cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= +cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= +cloud.google.com/go/kms v1.6.0 h1:OWRZzrPmOZUzurjI2FBGtgY2mB1WaJkqhw6oIwSj0Yg= +cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= +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/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.0.0/go.mod h1:V1cc3ogwobYzQq5f2R7DS/GvRIrI4FKj01Gs5glwAls= +cloud.google.com/go/logging v1.6.1 h1:ZBsZK+JG+oCDT+vaxwqF2egKNRjz8soXiS6Xv79benI= +cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= +cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= +cloud.google.com/go/longrunning v0.3.0 h1:NjljC+FYPV3uh5/OwWT6pVU+doBqMg2x/rZlE+CamDs= +cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= +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/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= +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/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/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/monitoring v0.1.0/go.mod h1:Hpm3XfzJv+UTiXzCG5Ffp0wijzHTC7Cv4eR7o3x/fEE= +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/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/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/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/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/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/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/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/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/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/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/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/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/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.10.3/go.mod h1:FUcc28GpGxxACoklPsE1sCtbkY4Ix+ro7yvw+h82Jn4= +cloud.google.com/go/pubsub v1.16.0/go.mod h1:6A8EfoWZ/lUvCWStKGwAWauJZSiuV0Mkmu6WilK/TxQ= +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/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= +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/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/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/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/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/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/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/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/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/secretmanager v0.1.0/go.mod h1:3nGKHvnzDUVit7U0S9KAKJ4aOsO1xtwRG+7ey5LK1bM= +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/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/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/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/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/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/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/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/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= +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/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= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +cloud.google.com/go/storage v1.15.0/go.mod h1:mjjQMoxxyGH7Jr8K5qrx6N2O0AHsczI61sMNn03GIZI= +cloud.google.com/go/storage v1.16.1/go.mod h1:LaNorbty3ehnU3rEjXSNV/NRgQA0O8Y+uh6bPe5UOk4= +cloud.google.com/go/storage v1.22.0/go.mod h1:GbaLEoMqbVm6sx3Z0R++gSiBlgMv6yUi2q1DeGFKQgE= +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/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/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/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= +cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= +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/trace v0.1.0/go.mod h1:wxEwsoeRVPbeSkt7ZC9nWCgmoKQRAoySN7XHW2AmI7g= +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/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/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= +cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= +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/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/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/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= +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/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/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/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= +code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c/go.mod h1:QD9Lzhd/ux6eNQVUDVRJX/RKTigpewimNYBi7ivZKY8= +contrib.go.opencensus.io/exporter/aws v0.0.0-20200617204711-c478e41e60e9/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= +contrib.go.opencensus.io/exporter/stackdriver v0.13.5/go.mod h1:aXENhDJ1Y4lIg4EUaVTwzvYETVNZk10Pu26tevFKLUc= +contrib.go.opencensus.io/exporter/stackdriver v0.13.8/go.mod h1:huNtlWx75MwO7qMs0KrMxPZXzNNWebav1Sq/pm02JdQ= +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= +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= +github.com/Azure/azure-amqp-common-go/v3 v3.1.0/go.mod h1:PBIGdzcO1teYoufTKMcGibdKaYZv4avS+O6LNIp8bq0= +github.com/Azure/azure-amqp-common-go/v3 v3.1.1/go.mod h1:YsDaPfaO9Ub2XeSKdIy2DfwuiQlHQCauHJwSqtrkECI= +github.com/Azure/azure-amqp-common-go/v3 v3.2.3/go.mod h1:7rPmbSfszeovxGfc5fSAXE4ehlXQZHpMja2OtxC2Tas= +github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= +github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v51.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v54.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v57.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v63.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v65.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v66.0.0+incompatible h1:bmmC38SlE8/E81nNADlgmVGurPWMHDX2YNXVQMrBpEE= +github.com/Azure/azure-sdk-for-go v66.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1 h1:tz19qLF65vuu2ibfTqGVJxG/zZAI27NEIIbvAOQwYbw= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0 h1:Yoicul8bnVdQrhDMTHxdEckRGX01XvwXDHUT9zYZ3k0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0/go.mod h1:+6sju8gk8FRmSajX3Oz4G5Gm7P+mbqE9FVaXXFYTkCM= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0 h1:jp0dGvZ7ZK0mgqnTSClMxa5xuRL7NZgHameVYF6BurY= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= +github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus v1.0.2/go.mod h1:LH9XQnMr2ZYxQdVdCrzLO9mxeDyrDFa6wbSI3x5zCZk= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.1 h1:QSdcrd/UFJv6Bp/CfoVf2SrENpFn9P6Yh8yb+xNhYMM= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.1/go.mod h1:eZ4g6GUvXiGulfIbbhh1Xr4XwUYaYaWMqzGD/284wCA= +github.com/Azure/azure-service-bus-go v0.10.11/go.mod h1:AWw9eTTWZVZyvgpPahD1ybz3a8/vT3GsJDS8KYex55U= +github.com/Azure/azure-service-bus-go v0.10.16/go.mod h1:MlkLwGGf1ewcx5jZadn0gUEty+tTg0RaElr6bPf+QhI= +github.com/Azure/azure-storage-blob-go v0.13.0/go.mod h1:pA9kNqtjUeQF2zOSu4s//nUdBD+e64lEuc4sVnuOfNs= +github.com/Azure/azure-storage-blob-go v0.14.0/go.mod h1:SMqIBi+SuiQH32bvyjngEewEeXoPfKMgWlBDaYf6fck= +github.com/Azure/go-amqp v0.13.0/go.mod h1:qj+o8xPCz9tMSbQ83Vp8boHahuRDl5mkNHyt1xlxUTs= +github.com/Azure/go-amqp v0.13.4/go.mod h1:wbpCKA8tR5MLgRyIu+bb+S6ECdIDdYJ0NlpFE9xsBPI= +github.com/Azure/go-amqp v0.13.7/go.mod h1:wbpCKA8tR5MLgRyIu+bb+S6ECdIDdYJ0NlpFE9xsBPI= +github.com/Azure/go-amqp v0.13.11/go.mod h1:D5ZrjQqB1dyp1A+G73xeL/kNn7D5qHJIIsNNps7YNmk= +github.com/Azure/go-amqp v0.13.12/go.mod h1:D5ZrjQqB1dyp1A+G73xeL/kNn7D5qHJIIsNNps7YNmk= +github.com/Azure/go-amqp v0.17.0/go.mod h1:9YJ3RhxRT1gquYnzpZO1vcYMMpAdJT+QEg6fwmw9Zlg= +github.com/Azure/go-amqp v0.17.5/go.mod h1:9YJ3RhxRT1gquYnzpZO1vcYMMpAdJT+QEg6fwmw9Zlg= +github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest v10.8.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= +github.com/Azure/go-autorest/autorest v0.11.3/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= +github.com/Azure/go-autorest/autorest v0.11.17/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= +github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= +github.com/Azure/go-autorest/autorest v0.11.20/go.mod h1:o3tqFY+QR40VOlk+pV4d77mORO64jOXSgEnPQgLK6JY= +github.com/Azure/go-autorest/autorest v0.11.24/go.mod h1:G6kyRlFnTuSbEYkQGawPfsCswgme4iYf6rfSKUDzbCc= +github.com/Azure/go-autorest/autorest v0.11.25/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= +github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= +github.com/Azure/go-autorest/autorest v0.11.28 h1:ndAExarwr5Y+GaHE6VCaY1kyS/HwwGGyuimVhWsHOEM= +github.com/Azure/go-autorest/autorest v0.11.28/go.mod h1:MrkzG3Y3AH668QyF9KRk5neJnGgmhQ6krbhR8Q5eMvA= +github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= +github.com/Azure/go-autorest/autorest/adal v0.9.2/go.mod h1:/3SMAM86bP6wC9Ev35peQDUeqFZBMH07vvUOmg4z/fE= +github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= +github.com/Azure/go-autorest/autorest/adal v0.9.11/go.mod h1:nBKAnTomx8gDtl+3ZCJv2v0KACFHWTB2drffI1B68Pk= +github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/adal v0.9.14/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/adal v0.9.15/go.mod h1:tGMin8I49Yij6AQ+rvV+Xa/zwxYQB5hmsd6DkfAx2+A= +github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= +github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= +github.com/Azure/go-autorest/autorest/adal v0.9.21 h1:jjQnVFXPfekaqb8vIsv2G1lxshoW+oGv4MDlhRtnYZk= +github.com/Azure/go-autorest/autorest/adal v0.9.21/go.mod h1:zua7mBUaCc5YnSLKYgGJR/w5ePdMDA6H56upLsHzA9U= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.7/go.mod h1:AkzUsqkrdmNhfP2i54HqINVQopw0CLDnvHpJ88Zz1eI= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.8/go.mod h1:kxyKZTSfKh8OVFWPAgOgQ/frrJgeYQJPyR5fLFmXko4= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.11 h1:P6bYXFoao05z5uhOQzbC3Qd8JqF3jUoocoTeIxkp2cA= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.11/go.mod h1:84w/uV8E37feW2NCJ08uT9VBfjfUHpgLVnG2InYD6cg= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.2/go.mod h1:7qkJkT+j6b+hIpzMOwPChJhTqS8VbsqqgULzMNRugoM= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.3/go.mod h1:yAQ2b6eP/CmLPnmLvxtT1ALIY3OR1oFcCqVBi8vHiTc= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.5/go.mod h1:ADQAXrkgm7acgWVUNamOgh8YNrv4p27l3Wc55oVfpzg= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 h1:w77/uPk80ZET2F+AfQExZyEWtn+0Rk/uw17m9fv5Ajc= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.6/go.mod h1:piCfgPho7BiIDdEQ1+g4VmKyD5y+p/XtSNqE6Hc4QD0= +github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= +github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= +github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= +github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk= +github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= +github.com/Azure/go-autorest/autorest/validation v0.3.1 h1:AgyqjAd94fwNAoTjl/WQXg4VvFeRFpO+UhNyRXqF1ac= +github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= +github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= +github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0 h1:WVsrXCnHlDDX8ls+tootqRE87/hL9S/g4ewig9RsD/c= +github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0/go.mod h1:Vt9sXTKwMyGcOxSmLDMnGPgqsUg7m8pe215qMLrDXw4= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/GoogleCloudPlatform/cloudsql-proxy v1.22.0/go.mod h1:mAm5O/zik2RFmcpigNjg6nMotDL8ZXJaxKzgGVcSMFA= +github.com/GoogleCloudPlatform/cloudsql-proxy v1.24.0/go.mod h1:3tx938GhY4FC+E1KT/jNjDw7Z5qxAEtIiERJ2sXjnII= +github.com/GoogleCloudPlatform/cloudsql-proxy v1.31.2/go.mod h1:qR6jVnZTKDCW3j+fC9mOEPHm++1nKDMkqbbkD6KNsfo= +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/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/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +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/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= +github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= +github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +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/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= +github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= +github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= +github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= +github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= +github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= +github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= +github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= +github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= +github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= +github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= +github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +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/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= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= +github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= +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/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +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/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= +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= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= +github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= +github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= +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/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/apparentlymart/go-cidr v1.0.1/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= +github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= +github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= +github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= +github.com/apparentlymart/go-textseg v1.0.0 h1:rRmlIsPEEhUTIKQb7T++Nz/A5Q6C9IuX2wFoYVvnCs0= +github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= +github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= +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/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.3.0/go.mod h1:zXjbSimjXTd7vOpY8B0/2LpvNvDoXBuplAD+gJD3GYs= +github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.4.0 h1:yCQqn7dwca4ITXb+CbubHmedzaQYHhNhrEXLYUeEe8Q= +github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +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/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +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/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= +github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= +github.com/aws/aws-sdk-go v1.23.20/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.25.37/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.30.27/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +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.40.34/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= +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 h1:p6mw01WBaNpbdP2xrisz5tIkcNwzj/HysobNoaAHjgo= +github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/aws/aws-sdk-go-v2 v1.9.0/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= +github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= +github.com/aws/aws-sdk-go-v2 v1.17.1/go.mod h1:JLnGeGONAyi2lWXI1p0PCIOIy333JMVK1U7Hf0aRFLw= +github.com/aws/aws-sdk-go-v2 v1.17.3 h1:shN7NlnVzvDUgPQ+1rLMSxY8OWRNDRYtiqe0p/PgrhY= +github.com/aws/aws-sdk-go-v2 v1.17.3/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.3 h1:S/ZBwevQkr7gv5YxONYpGQxlMFFYSRfz3RMcjsC9Qhk= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.3/go.mod h1:gNsR5CaXKmQSSzrmGxmwmct/r+ZBfbxorAuXYsj/M5Y= +github.com/aws/aws-sdk-go-v2/config v1.7.0/go.mod h1:w9+nMZ7soXCe5nT46Ri354SNhXDQ6v+V5wqDjnZE+GY= +github.com/aws/aws-sdk-go-v2/config v1.15.15 h1:yBV+J7Au5KZwOIrIYhYkTGJbifZPCkAnCFSvGsF3ui8= +github.com/aws/aws-sdk-go-v2/config v1.15.15/go.mod h1:A1Lzyy/o21I5/s2FbyX5AevQfSVXpvvIDCoVFD0BC4E= +github.com/aws/aws-sdk-go-v2/credentials v1.4.0/go.mod h1:dgGR+Qq7Wjcd4AOAW5Rf5Tnv3+x7ed6kETXyS9WCuAY= +github.com/aws/aws-sdk-go-v2/credentials v1.12.10 h1:7gGcMQePejwiKoDWjB9cWnpfVdnz/e5JwJFuT6OrroI= +github.com/aws/aws-sdk-go-v2/credentials v1.12.10/go.mod h1:g5eIM5XRs/OzIIK81QMBl+dAuDyoLN0VYaLP+tBqEOk= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.5.0/go.mod h1:CpNzHK9VEFUCknu50kkB8z58AH2B5DvPP7ea1LHve/Y= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.9 h1:hz8tc+OW17YqxyFFPSkvfSikbqWcyyHRyPVSTzC0+aI= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.9/go.mod h1:KDCCm4ONIdHtUloDcFvK2+vshZvx4Zmj7UMDfusuz5s= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.21 h1:bpiKFJ9aC0xTVpygSRRRL/YHC1JZ+pHQHENATHuoiwo= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.21/go.mod h1:iIYPrQ2rYfZiB/iADYlhj9HHZ9TTi6PqKQPAqygohbE= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.15/go.mod h1:pWrr2OoHlT7M/Pd2y4HV3gJyPb3qj5qMmnPkKSNPYK4= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.25/go.mod h1:Zb29PYkf42vVYQY6pvSyJCJcFHlPIiY+YKdPtwnvMkY= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.27 h1:I3cakv2Uy1vNmmhRQmFptYDxOvBnwCdNwyw63N0RaRU= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.27/go.mod h1:a1/UpzeyBBerajpnP5nGZa9mGzsBn5cOKxm6NWQsvoI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.9/go.mod h1:08tUpeSGN33QKSO7fwxXczNfiwCpbj+GxK6XKwqWVv0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19/go.mod h1:6Q0546uHDp421okhmmGfbxzq2hBqbXFNpi4k+Q1JnQA= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.21 h1:5NbbMrIzmUn/TXFqAle6mgrH5m9cOvMLRGL7pnG8tRE= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.21/go.mod h1:+Gxn8jYn5k9ebfHEqlhrMirFjSW0v0C9fI+KN5vk2kE= +github.com/aws/aws-sdk-go-v2/internal/ini v1.2.2/go.mod h1:BQV0agm+JEhqR+2RT5e1XTFIDcAAV0eW6z2trp+iduw= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.16 h1:f0ySVcmQhwmzn7zQozd8wBM3yuGBfzdpsOaKQ0/Epzw= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.16/go.mod h1:CYmI+7x03jjJih8kBEEFKRQc40UjUokT0k7GbvrhhTc= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6 h1:3L8pcjvgaSOs0zzZcMKzxDSkYKEpwJ2dNVDdxm68jAY= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6/go.mod h1:O7Oc4peGZDEKlddivslfYFvAbgzvl/GH3J8j3JIGBXc= +github.com/aws/aws-sdk-go-v2/service/iam v1.19.0 h1:9vCynoqC+dgxZKrsjvAniyIopsv3RZFsZ6wkQ+yxtj8= +github.com/aws/aws-sdk-go-v2/service/iam v1.19.0/go.mod h1:OyAuvpFeSVNppcSsp1hFOVQcaTRc1LE24YIR7pMbbAA= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3 h1:4n4KCtv5SUoT5Er5XV41huuzrCqepxlW3SDI9qHQebc= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3/go.mod h1:gkb2qADY+OHaGLKNTYxMaQNacfeyQpZ4csDTQMeFmcw= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10 h1:7LJcuRalaLw+GYQTMGmVUl4opg2HrDZkvn/L3KvIQfw= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10/go.mod h1:Qks+dxK3O+Z2deAhNo6cJ8ls1bam3tUGUAcgxQP1c70= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.0/go.mod h1:R1KK+vY8AfalhG1AOu5e35pOD2SdoPKQCFLTvnxiohk= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.9 h1:sHfDuhbOuuWSIAEDd3pma6p0JgUcR2iePxtCE8gfCxQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.9/go.mod h1:yQowTpvdZkFVuHrLBXmczat4W+WJKg/PafBZnGBLga0= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.9 h1:sJdKvydGYDML9LTFcp6qq6Z5fIjN0Rdq2Gvw1hUg8tc= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.9/go.mod h1:Rc5+wn2k8gFSi3V1Ch4mhxOzjMh+bYSXVFfVaqowQOY= +github.com/aws/aws-sdk-go-v2/service/kms v1.5.0/go.mod h1:w7JuP9Oq1IKMFQPkNe3V6s9rOssXzOVEMNEqK1L1bao= +github.com/aws/aws-sdk-go-v2/service/kms v1.18.1 h1:y07kzPdcjuuyDVYWf1CCsQQ6kcAWMbFy+yIJ71xQBS0= +github.com/aws/aws-sdk-go-v2/service/kms v1.18.1/go.mod h1:4PZMUkc9rXHWGVB5J9vKaZy3D7Nai79ORworQ3ASMiM= +github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2 h1:NvzGue25jKnuAsh6yQ+TZ4ResMcnp49AWgWGm2L4b5o= +github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2/go.mod h1:u+566cosFI+d+motIz3USXEh6sN8Nq4GrNXSg2RXVMo= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.6.0/go.mod h1:B+7C5UKdVq1ylkI/A6O8wcurFtaux0R1njePNPtKwoA= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.15.14/go.mod h1:xakbH8KMsQQKqzX87uyyzTHshc/0/Df8bsTneTS5pFU= +github.com/aws/aws-sdk-go-v2/service/sns v1.17.10/go.mod h1:uITsRNVMeCB3MkWpXxXw0eDz8pW4TYLzj+eyQtbhSxM= +github.com/aws/aws-sdk-go-v2/service/sqs v1.19.1/go.mod h1:A94o564Gj+Yn+7QO1eLFeI7UVv3riy/YBFOfICVqFvU= +github.com/aws/aws-sdk-go-v2/service/ssm v1.10.0/go.mod h1:4dXS5YNqI3SNbetQ7X7vfsMlX6ZnboJA2dulBwJx7+g= +github.com/aws/aws-sdk-go-v2/service/ssm v1.27.6/go.mod h1:fiFzQgj4xNOg4/wqmAiPvzgDMXPD+cUEplX/CYn+0j0= +github.com/aws/aws-sdk-go-v2/service/sso v1.4.0/go.mod h1:+1fpWnL96DL23aXPpMGbsmKe8jLTEfbjuQoA4WS1VaA= +github.com/aws/aws-sdk-go-v2/service/sso v1.11.13 h1:DQpf+al+aWozOEmVEdml67qkVZ6vdtGUi71BZZWw40k= +github.com/aws/aws-sdk-go-v2/service/sso v1.11.13/go.mod h1:d7ptRksDDgvXaUvxyHZ9SYh+iMDymm94JbVcgvSYSzU= +github.com/aws/aws-sdk-go-v2/service/sts v1.7.0/go.mod h1:0qcSMCyASQPN2sk/1KQLQ2Fh6yq8wm0HSDAimPhzCoM= +github.com/aws/aws-sdk-go-v2/service/sts v1.16.10 h1:7tquJrhjYz2EsCBvA9VTl+sBAAh1bv7h/sGASdZOGGo= +github.com/aws/aws-sdk-go-v2/service/sts v1.16.10/go.mod h1:cftkHYN6tCDNfkSasAmclSfl4l7cySoay8vz7p/ce0E= +github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/smithy-go v1.13.4/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/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= +github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +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/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= +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= +github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= +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/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= +github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= +github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M= +github.com/cenkalti/backoff/v3 v3.2.2/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= +github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +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/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/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= +github.com/cheggaaa/pb v1.0.18/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= +github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= +github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= +github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/logex v1.2.0/go.mod h1:9+9sk7u7pGNWYMkh0hdiL++6OeibzJccyQU4p4MedaY= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/readline v1.5.0/go.mod h1:x22KAscuvRqlLoK9CsoYsmxoXZMMFVyOl86cAH8qUic= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/chzyer/test v0.0.0-20210722231415-061457976a23/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= +github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc= +github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= +github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudflare/circl v1.1.0 h1:bZgT/A+cikZnKIwn7xL2OBj012Bmvho/o6RpRvv3GKY= +github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +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-20211130200136-a8f946100490/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/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= +github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= +github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= +github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/btrfs v0.0.0-20201111183144-404b9149801e/go.mod h1:jg2QkJcsabfHugurUvvPhS3E08Oxiuh5W/g1ybB4e0E= +github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/cgroups v0.0.0-20190717030353-c4b9ac5c7601/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI= +github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= +github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= +github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= +github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= +github.com/containerd/cgroups v1.0.3/go.mod h1:/ofk34relqNjSGyqPrmEULrO4Sc8LJhvJmWbUCUKqj8= +github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= +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/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= +github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ= +github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= +github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= +github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= +github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= +github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c= +github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= +github.com/containerd/containerd v1.6.1/go.mod h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE= +github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20200709052629-daa8e1ccc0bc/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= +github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= +github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= +github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= +github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= +github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk= +github.com/containerd/go-cni v1.1.0/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-cni v1.1.3/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20190911050354-e029b79d8cda/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod h1:PpyHrqVs8FTi9vpyHwPwiNEGaACDxT/N/pLcvMSRA9g= +github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak9TYCG3juvb0= +github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= +github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= +github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms= +github.com/containerd/imgcrypt v1.1.3/go.mod h1:/TPA1GIDXMzbj01yd8pIbQiLdQxed5ue1wb8bP7PQu4= +github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c= +github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/stargz-snapshotter/estargz v0.4.1/go.mod h1:x7Q9dg9QYb4+ELgxmo4gBUeJB0tl5dqH1Sdz0nJU1QM= +github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= +github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= +github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= +github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= +github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= +github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= +github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= +github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v1.0.1/go.mod h1:AKuhXbN5EzmD4yTNtfSsX3tPcmtrBI6QcRV0NiNt15Y= +github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHVlzhJpcY6TQxn/fUyDDM= +github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRDjeJr6FLK6vuiUwoH7P8= +github.com/containernetworking/plugins v1.0.1/go.mod h1:QHCfGpaTwYTbbH+nZXKVTxNBDZcxSOplJT5ico8/FLE= +github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= +github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= +github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/containers/ocicrypt v1.1.2/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= +github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.3.1/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.17 h1:QeVUsEDNrLBW4tMgZHvxy18sKtr6VI492kBhUfhDJNI= +github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= +github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= +github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= +github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= +github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= +github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= +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/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/denisenkom/go-mssqldb v0.12.2/go.mod h1:lnIw1mZukFRZDJYQ0Pb833QS2IaC3l5HkEfra2LJ+sk= +github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA= +github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= +github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= +github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dgryski/go-sip13 v0.0.0-20200911182023-62edffca9245/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/digitalocean/godo v1.78.0/go.mod h1:GBmu8MkjZmNARE7IXRPmkbbnocNN8+uBm0xbEVw2LCs= +github.com/digitalocean/godo v1.81.0/go.mod h1:BPCqvwbjbGqxuUnIKB4EvS/AX7IDnNmt5fwvIkWo+ew= +github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= +github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= +github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= +github.com/djherbis/times v1.2.0/go.mod h1:CGMZlo255K5r4Yw0b9RRfFQpM2y7uOmxg4jm9HsaVf8= +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/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= +github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= +github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= +github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= +github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.14+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= +github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +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/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= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/edsrzf/mmap-go v1.1.0 h1:6EUwBLQ/Mcr1EYLE4Tn1VdW1A4ckqCQWZBw8Hr0kjpQ= +github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= +github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= +github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +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/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= +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/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= +github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch/v5 v5.5.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= +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/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/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/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= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +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/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= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= +github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= +github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= +github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813/go.mod h1:P+oSoE9yhSRvsmYyZsshflcR6ePWYLql6UU1amW13IM= +github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= +github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U= +github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +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-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.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.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.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= +github.com/go-git/go-git/v5 v5.5.1/go.mod h1:uz5PQ3d0gz7mSgzZhSJToM6ALPaKCdSnl58/Xb5hzr8= +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-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= +github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= +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-ldap/ldap/v3 v3.1.3/go.mod h1:3rbOH3jRS2u6jg2rJnKAMLE/xQyCKIveG2Sa/Cohzb8= +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= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= +github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= +github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g= +github.com/go-openapi/runtime v0.23.1/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= +github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= +github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +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-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= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48/go.mod h1:dZGr0i9PLlaaTD4H/hoZIDjQ+r6xq8mgbRzHZf7f2J8= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= +github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= +github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= +github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= +github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= +github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= +github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= +github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= +github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= +github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= +github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= +github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= +github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= +github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= +github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= +github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= +github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= +github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +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-yaml v1.9.5/go.mod h1:U/jl18uSupI5rdI2jmuCswEA2htH9eXfferR3KfscvA= +github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= +github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= +github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +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-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c= +github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= +github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs= +github.com/golang-jwt/jwt/v4 v4.4.2/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/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= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +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/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= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +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/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-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/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= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +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/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= +github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= +github.com/google/go-replayers/grpcreplay v1.0.0/go.mod h1:8Ig2Idjpr6gifRd6pNVggX6TC1Zw6Jx74AKp7QNH2QE= +github.com/google/go-replayers/grpcreplay v1.1.0 h1:S5+I3zYyZ+GQz68OfbURDdt/+cSMqCK1wrvNx7WBzTE= +github.com/google/go-replayers/grpcreplay v1.1.0/go.mod h1:qzAvJ8/wi57zq7gWqaE6AwLM6miiXUQwP1S+I9icmhk= +github.com/google/go-replayers/httpreplay v0.1.2/go.mod h1:YKZViNhiGgqdBlUbI2MwGpq4pXxNmhJLPHQ7cv2b5no= +github.com/google/go-replayers/httpreplay v1.0.0/go.mod h1:LJhKoTwS5Wy5Ld/peq8dFFG5OfJyHEz7ft+DsTUv25M= +github.com/google/go-replayers/httpreplay v1.1.1 h1:H91sIMlt1NZzN7R+/ASswyouLJfW0WLW7fhyUFvDEkY= +github.com/google/go-replayers/httpreplay v1.1.1/go.mod h1:gN9GeLIs7l6NUoVaSSnv2RiqK1NiwAmD0MrKeC9IIks= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible h1:xmapqc1AyLoB+ddYT6r04bD9lIjlOqGaREovi0SzFaE= +github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210506205249-923b5ab0fc1a/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210715191844-86eeefc3e471/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +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/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= +github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +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/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= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +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/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= +github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= +github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= +github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/gophercloud/gophercloud v0.24.0/go.mod h1:Q8fZtyi5zZxPS/j9aj3sSxtvj41AdQMDwyo1myduD5c= +github.com/gophercloud/gophercloud v0.25.0/go.mod h1:Q8fZtyi5zZxPS/j9aj3sSxtvj41AdQMDwyo1myduD5c= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/grafana/regexp v0.0.0-20220304095617-2e8d9baf4ac2/go.mod h1:M5qHK+eWfAv8VR/265dIuEpL3fNfeC21tXXp9itM24A= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +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/hanwen/go-fuse v1.0.0/go.mod h1:unqXarDXqzAk0rt98O2tVndEPIpUgLD9+rwFisZH3Ok= +github.com/hanwen/go-fuse/v2 v2.1.0/go.mod h1:oRyA5eK+pvJyv5otpO/DgccS8y/RvYMaO00GgRLGryc= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= +github.com/hashicorp/consul/api v1.13.0/go.mod h1:ZlVrynguJKcYr54zGaDbaL3fOvKC9m72FhPvA8T35KQ= +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/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= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320/go.mod h1:EiZBMaudVLy8fmjf9Npq1dq9RalhveqZG5w/yz3mHWs= +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.6.1/go.mod h1:IZCrswsZPeWv9IkVnLElzRU/gz/QPi6pZHn4tv6vbwA= +github.com/hashicorp/go-getter v1.7.0/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +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= +github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.12.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.16.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.1/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-hclog v1.2.2 h1:ihRI7YFwcZdiSD7SIenIhHfQH3OuDvWerAUBZbeQS3M= +github.com/hashicorp/go-hclog v1.2.2/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.1.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= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g= +github.com/hashicorp/go-kms-wrapping/entropy/v2 v2.0.0/go.mod h1:xvb32K2keAc+R8DSFG2IwDcydK9DBQE+fGA5fsw6hSk= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +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/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.5/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= +github.com/hashicorp/go-plugin v1.4.6 h1:MDV3UrKQBM3du3G7MApDGvOsMYy3JQJ4exhSoKBAeVA= +github.com/hashicorp/go-plugin v1.4.6/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-retryablehttp v0.6.2/go.mod h1:gEx6HMUGxYYhJScX7W1Il64m6cc2C1mDaW3NQ9sY1FY= +github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.7.0/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-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= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +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/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= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4= +github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.1/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= +github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.2/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= +github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= +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.4.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.5.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= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +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/hc-install v0.4.0/go.mod h1:5d155H8EC5ewegao9A4PUTMNPZaq+TbOzkJJZ4vrXeI= +github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= +github.com/hashicorp/hcl/v2 v2.3.0/go.mod h1:d+FwDBbOLvpAM3Z6J7gPj/VoAGkNe/gm352ZhjJ/Zv8= +github.com/hashicorp/hcl/v2 v2.11.1/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg= +github.com/hashicorp/hcl/v2 v2.12.0/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg= +github.com/hashicorp/hcl/v2 v2.13.0/go.mod h1:e4z5nxYlWNPdDSNYX+ph14EvWYMFm3eP0zIUqPc2jr0= +github.com/hashicorp/hcl/v2 v2.14.0/go.mod h1:e4z5nxYlWNPdDSNYX+ph14EvWYMFm3eP0zIUqPc2jr0= +github.com/hashicorp/hcl/v2 v2.15.0/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= +github.com/hashicorp/hcl/v2 v2.16.1/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= +github.com/hashicorp/hcl/v2 v2.16.2 h1:mpkHZh/Tv+xet3sy3F9Ld4FyI2tUpWe9x3XtPx9f1a0= +github.com/hashicorp/hcl/v2 v2.16.2/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= +github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +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/api v0.0.0-20220629141207-c2428e1673ec/go.mod h1:jP79oXjopTyH6E8LF0CEMq67STgrlmBRIyijA0tuR5o= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8/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.17.2/go.mod h1:tuIbsL2l4MlwwIZx9HPM+LOV9vVyEfBYu2GsO1uH3/8= +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.14.0/go.mod h1:5A9HIWPkk4e5aeeXIBbkcOvaZbIYnAIkEyqP2pNSckM= +github.com/hashicorp/terraform-plugin-go v0.12.0/go.mod h1:kwhmaWHNDvT1B3QiSJdAtrB/D4RaKSY/v3r2BuoWK4M= +github.com/hashicorp/terraform-plugin-go v0.14.1/go.mod h1:Bc/K6K26BQ2FHqIELPbpKtt2CzzbQou+0UQF3/0NsCQ= +github.com/hashicorp/terraform-plugin-log v0.6.0/go.mod h1:p4R1jWBXRTvL4odmEkFfDdhUjHf9zcs/BCoNHAc7IK4= +github.com/hashicorp/terraform-plugin-log v0.7.0/go.mod h1:p4R1jWBXRTvL4odmEkFfDdhUjHf9zcs/BCoNHAc7IK4= +github.com/hashicorp/terraform-plugin-sdk v1.7.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY= +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/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-registry-address v0.0.0-20220623143253-7d51757b572c/go.mod h1:Wn3Na71knbXc1G8Lh+yu/dQWWJeFQEpDeJMtWMtlmNI= +github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= +github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= +github.com/hashicorp/vault/api v1.0.5-0.20200519221902-385fac77e20f/go.mod h1:euTFbi2YJgwcju3imEt919lhJKF68nN1cQPq3aA+kBE= +github.com/hashicorp/vault/api v1.1.0/go.mod h1:R3Umvhlxi2TN7Ex2hzOowyeNb+SfbVWI973N+ctaFMk= +github.com/hashicorp/vault/api v1.1.1/go.mod h1:29UXcn/1cLOPHQNMWA7bCz2By4PSd0VKPAydKXS5yN0= +github.com/hashicorp/vault/api v1.7.2/go.mod h1:xbfA+1AvxFseDzxxdWaL0uO99n1+tndus4GCrtouy0M= +github.com/hashicorp/vault/api v1.8.2 h1:C7OL9YtOtwQbTKI9ogB0A1wffRbCN+rH/LLCHO3d8HM= +github.com/hashicorp/vault/api v1.8.2/go.mod h1:ML8aYzBIhY5m1MD1B2Q0JV89cC85YVH4t5kBaZiyVaE= +github.com/hashicorp/vault/sdk v0.1.14-0.20200519221530-14615acda45f/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10= +github.com/hashicorp/vault/sdk v0.1.14-0.20200519221838-e0cfd64bc267/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10= +github.com/hashicorp/vault/sdk v0.2.0/go.mod h1:cAGI4nVnEfAyMeqt9oB+Mase8DNn3qA/LDNHURiwssY= +github.com/hashicorp/vault/sdk v0.2.1/go.mod h1:WfUiO1vYzfBkz1TmoE4ZGU7HD0T0Cl/rZwaxjBkgN4U= +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.6.0/go.mod h1:+DRpzoXIdMvKc88R4qxr+edwy/RvH5QK8itmxLiDHLc= +github.com/hashicorp/vault/sdk v0.6.1 h1:sjZC1z4j5Rh2GXYbkxn5BLK05S1p7+MhW4AgdUmgRUA= +github.com/hashicorp/vault/sdk v0.6.1/go.mod h1:Ck4JuAC6usTphfrrRJCRH+7/N7O2ozZzkm/fzQFt4uM= +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= +github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= +github.com/hetznercloud/hcloud-go v1.33.1/go.mod h1:XX/TQub3ge0yWR2yHWmnDVIrB+MQbda1pHxkUmDlUME= +github.com/hetznercloud/hcloud-go v1.35.0/go.mod h1:mepQwR6va27S3UQthaEPGS86jtzSY9xWL1e9dyxXpgA= +github.com/hexops/autogold v0.8.1/go.mod h1:97HLDXyG23akzAoRYJh/2OBs3kd80eHyKPvZw0S5ZBY= +github.com/hexops/autogold v1.3.0/go.mod h1:d4hwi2rid66Sag+BVuHgwakW/EmaFr8vdTSbWDbrDRI= +github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= +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/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/xstrings v1.3.2/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/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/ianlancetaylor/demangle v0.0.0-20220319035150-800ac71e25c2/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd h1:anPrsicrIi2ColgWTVPk+TrN42hJIWlfPHSBP9S0ZkM= +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= +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.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= +github.com/ionos-cloud/sdk-go/v6 v6.1.0/go.mod h1:Ox3W0iiEz0GHnfY9e5LmAxwklsxguuNFEUSu0gVRTME= +github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= +github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= +github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= +github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= +github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= +github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= +github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= +github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= +github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= +github.com/jackc/pgconn v1.12.1/go.mod h1:ZkhRC59Llhrq3oSfrikvwQ5NaxYExr6twkdkMLaKono= +github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= +github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= +github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= +github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= +github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.3.0/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= +github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= +github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= +github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM= +github.com/jackc/pgtype v1.11.0/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= +github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= +github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= +github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= +github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= +github.com/jackc/pgx/v4 v4.16.1/go.mod h1:SIhx0D5hoADaiXZVyv+3gSm3LCIIINTVO0PficsvWGQ= +github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.2.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +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.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jhump/protoreflect v1.6.0 h1:h5jfMVslIg6l29nsMs0D8Wj17RDVdNYti0vDN/PZZoE= +github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= +github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +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.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.1.0/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/keybase/go-crypto v0.0.0-20161004153544-93f5b35093ba/go.mod h1:ghbZscTyKdM07+Fw3KSi0hcJm+AlEUWj8QLlPtijN/M= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +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/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.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= +github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +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.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +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= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +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/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= +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/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.10.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.1/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= +github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +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/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= +github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= +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-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= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= +github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= +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.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +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-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +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 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +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.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +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-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/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= +github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/microsoft/ApplicationInsights-Go v0.4.4/go.mod h1:fKRUseBqkw6bDiXTs3ESTiU/4YTIHsQS4W3fP2ieF4U= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +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/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/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= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +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/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 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= +github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= +github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= +github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= +github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mmcloughlin/avo v0.5.0/go.mod h1:ChHFdoV7ql95Wi7vuq2YT1bwCJqiWdZrQ1im3VujLYM= +github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= +github.com/moby/moby v20.10.14+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/moby v20.10.18+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/moby v23.0.0+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= +github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= +github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= +github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= +github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= +github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= +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/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= +github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= +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= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/mxschmitt/golang-combinations v1.0.0/go.mod h1:RbMhWvfCelHR6WROvT2bVfxJvZHoEvBj71SKe+H0MYU= +github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0A= +github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM= +github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= +github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU= +github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nightlyone/lockfile v1.0.0/go.mod h1:rywoIealpdNse2r832aiD9jRk8ErCatROs6LzC841CI= +github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce/go.mod h1:uFMI8w+ref4v2r9jz+c9i1IfIttS/OkmLfrk1jne5hs= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= +github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= +github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2-0.20211117181255-693428a734f5/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= +github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= +github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= +github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= +github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE= +github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= +github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= +github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= +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.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +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/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +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/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= +github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= +github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +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/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.0+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/pjbgf/sha1cd v0.2.3/go.mod h1:HOK9QrgzdHpbc2Kzip0Q1yi3M2MFGPADtR6HjG65m5M= +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= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +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/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.1/go.mod h1:6gapUrK/U1TAN7ciCoNRIdVC5sbdBTUh1DKN0g6uH7E= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= +github.com/prometheus/alertmanager v0.24.0/go.mod h1:r6fy/D7FRuZh5YbnX6J3MBY0eI4Pb5yPYS7/bPSXXqI= +github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= +github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +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/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= +github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= +github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/common/assets v0.1.0/go.mod h1:D17UVUE12bHbim7HzwUvtqm6gwBEaDQ0F+hIGbFbccI= +github.com/prometheus/common/assets v0.2.0/go.mod h1:D17UVUE12bHbim7HzwUvtqm6gwBEaDQ0F+hIGbFbccI= +github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= +github.com/prometheus/exporter-toolkit v0.7.1/go.mod h1:ZUBIj498ePooX9t/2xtDjeQYwvRpiPP2lh5u4iblj2g= +github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +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.1.0/go.mod h1:Dw5klQSJCD6hHaHN4BcCoOW+KjC6NafdBtDsy6sY6uc= +github.com/pulumi/pulumi-java/pkg v0.2.0/go.mod h1:LUz8JGS7Lxn2EnPkxFhB6Rap0CwZyHTHmwLQ16NFIhc= +github.com/pulumi/pulumi-java/pkg v0.4.0/go.mod h1:j3qzYXomeNTibPcInXJVdsaBuHYwv0ISmwTgR6q0hU0= +github.com/pulumi/pulumi-java/pkg v0.4.1/go.mod h1:j3qzYXomeNTibPcInXJVdsaBuHYwv0ISmwTgR6q0hU0= +github.com/pulumi/pulumi-java/pkg v0.4.2-0.20220706212453-8046ed6407d4/go.mod h1:kvPN1g2gzkGPsXp16/3C4a/OKo+NmPtBolK2DXd0I5Q= +github.com/pulumi/pulumi-java/pkg v0.5.0/go.mod h1:NQafG/kIAAm2zGkIi2Dc5tcMTUikDOSp22NynwehBbM= +github.com/pulumi/pulumi-java/pkg v0.5.4/go.mod h1:leMQvQ5IR3APhejwcWSfwZnkHosKHygKRaWkIyhsvtw= +github.com/pulumi/pulumi-java/pkg v0.6.0/go.mod h1:xSK2B792P8zjwYZTHYapMM1RJdue2BpRFQNYObWO0C8= +github.com/pulumi/pulumi-java/pkg v0.7.1/go.mod h1:XdN2jYNlcQewr0MFecZfBnY3gnGcvV+WoPTzQqH48k4= +github.com/pulumi/pulumi-java/pkg v0.8.0/go.mod h1:x7/J1GCJ+hHFBEgnMr4QpsTfjXUNHccAHJ9gvFfmAFU= +github.com/pulumi/pulumi-java/pkg v0.9.2/go.mod h1:+5V4jggi3063hksi28zYvLm42UWVg3VqpR6qGZraIdM= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.33.1-0.20221104131001-330791e758b8/go.mod h1:J3Jy0quNlS1bNZIFQK3dxUz34AR4FyWlTvdp20gD74A= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.33.1-0.20221130185552-52ef9a815fb9/go.mod h1:KwuxFDO7k2h3ZH5eTmd/zs3eQ5KlRTliI8vbAIdLcLI= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.33.1-0.20221206123933-cdc390c674b1/go.mod h1:KzJrUQo9GsWoQ6WDVCbzjnYoHUvhkjo4DjYv5NWfdc0= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.34.1-0.20221214173921-8e65b1f9fdd5/go.mod h1:ba1dLETCVZnmdavrrVfg9goz5CjhsqgRfF/NPkLTr28= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.43.0/go.mod h1:tyvu1G9JH1kMNzYYpODtTv/7fgK+ko174AEHn+uSJ0o= +github.com/pulumi/pulumi-yaml v0.3.0/go.mod h1:6pQ0QcQqLYbq+i5vYjir/gDnpCvTkKcHqB5+mt0d3So= +github.com/pulumi/pulumi-yaml v0.5.2/go.mod h1:VTgGg3z1WFYDeiwnq9rS3Y4qAysHiQS3M4X67wqo0RM= +github.com/pulumi/pulumi-yaml v0.5.3/go.mod h1:DVllQAk4eYy9rtDqykGyV/6WiFjzpg/j/k87GZRwV7g= +github.com/pulumi/pulumi-yaml v0.5.4/go.mod h1:e8BcP30yunk/u3mLXDykhtEQf8tTItYgQzPHDmRvJcg= +github.com/pulumi/pulumi-yaml v0.5.5/go.mod h1:erKneF31b8HYQFuy+B3RileYsaIDSzl32zLQaN92+p8= +github.com/pulumi/pulumi-yaml v0.5.9/go.mod h1:rJCp0HXvJGG+hs40wII9yYxuCeBBr2+e8FytW0YnINM= +github.com/pulumi/pulumi-yaml v0.5.10/go.mod h1:vxV5TdH3Xk5HRHNftcDXSbsZFJcJY9ME6k4zD+xw9OY= +github.com/pulumi/pulumi-yaml v1.0.1/go.mod h1:vxV5TdH3Xk5HRHNftcDXSbsZFJcJY9ME6k4zD+xw9OY= +github.com/pulumi/pulumi-yaml v1.0.2/go.mod h1:FKly+y0x5onXHEZALNnFglr6ZZnro4Y/jlN4sYLKYeM= +github.com/pulumi/pulumi-yaml v1.0.3/go.mod h1:KLFTyADnoNoPU9djMyRvXymrTH2SCBg9wnXaapuggEA= +github.com/pulumi/pulumi-yaml v1.0.4/go.mod h1:Szj8ud4Vqyq3oO1n3kzIUfaP3AiCjYZM4FYjOVWwJn8= +github.com/pulumi/pulumi-yaml v1.1.1/go.mod h1:GhpdS6rFpwqvUtKdA+fQy8P28iNvncng39IXh5q68vE= +github.com/pulumi/pulumi/pkg/v3 v3.26.0/go.mod h1:L9E+MXe05AbrSmX1GjX3jIrVNpE2RrauKEjME+BNzi4= +github.com/pulumi/pulumi/pkg/v3 v3.31.1-0.20220429232336-81582c4dcb93/go.mod h1:bO/BHZJoG2Mm8C3dxP414vLPvjxFfsetPE3Ep7Ffgro= +github.com/pulumi/pulumi/pkg/v3 v3.32.1/go.mod h1:TNPDg+H4Mzy5ldOJNpkzqPYTuYH8ehorPFtnQd3pRUU= +github.com/pulumi/pulumi/pkg/v3 v3.33.2-0.20220523224435-36cbf572f457/go.mod h1:5dxG2MKx/TrYtMbQsCA5+9X52s+O7+mCJiYsyDZpRU8= +github.com/pulumi/pulumi/pkg/v3 v3.33.3-0.20220601044734-8c3b8ab96f3e/go.mod h1:L6pQPxfwzQ844F0xaPSwBTijOApmiLoGonpuphShQt4= +github.com/pulumi/pulumi/pkg/v3 v3.35.2/go.mod h1:iG3QYKolhUXYzevuHLCvA2AmdUbZ7cppZbtRf2NqZqY= +github.com/pulumi/pulumi/pkg/v3 v3.35.3/go.mod h1:/ItZHWjJ8l/HvuEQIFlbVAgl4Pi2TkwaaGk3tmKKIUg= +github.com/pulumi/pulumi/pkg/v3 v3.35.4-0.20220706194433-bf578c5d4a27/go.mod h1:YBsDAVIqMLmib0r4YjpgsKc91CszlS64Z6UUEaKtkCE= +github.com/pulumi/pulumi/pkg/v3 v3.35.4-0.20220707201547-515cf6191cb9/go.mod h1:ZOJG8uFLbc89MNIyLtXONhllRRhmTK0+WkF6hfrefd0= +github.com/pulumi/pulumi/pkg/v3 v3.36.1-0.20220725155140-d69eea638451/go.mod h1:W6+hMuAfpcsQONfi3e/El4yavNNeER7NDpGS29dQHVQ= +github.com/pulumi/pulumi/pkg/v3 v3.37.3-0.20220809202049-8441ea2eeefd/go.mod h1:fqioE6+15BcfbrwtMbatflfCSZtKtjJe2t+z6itTkt0= +github.com/pulumi/pulumi/pkg/v3 v3.38.1-0.20220825161912-0fc18cbafb78/go.mod h1:b1VnAnwsu+rLwFSZJ6Awxl8czGpypf1QeNCiBinLC00= +github.com/pulumi/pulumi/pkg/v3 v3.40.1/go.mod h1:Of6sFHjTHQGIFqUoXOu2fG/H+HzR4bQRDNTUZZrIvUY= +github.com/pulumi/pulumi/pkg/v3 v3.42.1-0.20221010121757-adef574983fa/go.mod h1:613f45hSUcSIc7Z3XpSyzFLk+SHZcE8tdffbs3D0xYY= +github.com/pulumi/pulumi/pkg/v3 v3.44.2/go.mod h1:ZPmdEFaa4IT0RWIvLxP61SidP91X+WRtpvIXP+fENkE= +github.com/pulumi/pulumi/pkg/v3 v3.46.0/go.mod h1:ac2TXo6SE0H+1iJyp3JttNE8wmuTU0XF/UcuAtYW3Rs= +github.com/pulumi/pulumi/pkg/v3 v3.46.1/go.mod h1:Rebr+SHHGtTu2w7VURQZDEUYDhtvjECoovIfh9TYHQU= +github.com/pulumi/pulumi/pkg/v3 v3.48.1-0.20221129095827-e43e98e5a7ab/go.mod h1:9f7Mbv0amXUNDbvG6jHJ4SaGLMEhXseW2KwjDTqvRAo= +github.com/pulumi/pulumi/pkg/v3 v3.48.1-0.20221205185749-86e7d56df231/go.mod h1:fCqwy4EYIamxchIckgUJBZIvQf3AA3JcLSUR2mWIho4= +github.com/pulumi/pulumi/pkg/v3 v3.48.1-0.20221207010559-e812f69ba562/go.mod h1:fCqwy4EYIamxchIckgUJBZIvQf3AA3JcLSUR2mWIho4= +github.com/pulumi/pulumi/pkg/v3 v3.49.0/go.mod h1:4metm4SXH718jHxL3kQwWTzyJMFEVARH4L5zF1qnCek= +github.com/pulumi/pulumi/pkg/v3 v3.49.1-0.20221210190028-cbf32d1940fa/go.mod h1:4metm4SXH718jHxL3kQwWTzyJMFEVARH4L5zF1qnCek= +github.com/pulumi/pulumi/pkg/v3 v3.53.1/go.mod h1:XqciW5mPO8RxBEbN2/My9XjO829UQ2cHuhVLfoKM/yE= +github.com/pulumi/pulumi/pkg/v3 v3.55.0/go.mod h1:uSh5p2+ZVvVT+SCddfla2g92ImHqBu2gZDCqmXI+r/8= +github.com/pulumi/pulumi/pkg/v3 v3.56.0/go.mod h1:l91pIemOEbGBX2tIoVb3r4YlIv3BoTBvyVpECFsVZ3c= +github.com/pulumi/pulumi/pkg/v3 v3.59.0/go.mod h1:whC7X+KJOqKcZtcUWypaOhYuQJitnF+32TQQAa5sgIU= +github.com/pulumi/pulumi/pkg/v3 v3.64.0 h1:QHnxdp4Xf0jm2giOZGx5oyCEp2MNfABE1Sm1CmYilv0= +github.com/pulumi/pulumi/pkg/v3 v3.64.0/go.mod h1:FR1XZl2uEBDqYGg53AIfACXZYKS5COgoWMleb0YfD7k= +github.com/pulumi/pulumi/sdk/v3 v3.26.0/go.mod h1:VsxW+TGv2VBLe/MeqsAr9r0zKzK/gbAhFT9QxYr24cY= +github.com/pulumi/pulumi/sdk/v3 v3.28.0/go.mod h1:Oe6AnW5MjJE5X2UJeqeXm1Al7qahdLVhIPeiKuoqxAw= +github.com/pulumi/pulumi/sdk/v3 v3.31.0/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.32.1/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.33.1/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.33.2-0.20220523224435-36cbf572f457/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.33.2/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.33.3-0.20220601044734-8c3b8ab96f3e/go.mod h1:sF9VfTkwRXYNk/gCR7ICd79VDC8WcsyVq37/sb8sV5A= +github.com/pulumi/pulumi/sdk/v3 v3.35.2/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.35.3/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.35.4-0.20220706194433-bf578c5d4a27/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.35.4-0.20220707201547-515cf6191cb9/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.36.0/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.36.1-0.20220725155140-d69eea638451/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.37.2/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.37.3-0.20220809202049-8441ea2eeefd/go.mod h1:3/6Fr/c01n7Hw7mtAlO7X8WMBgLP5AVTyYe4CRfJQc4= +github.com/pulumi/pulumi/sdk/v3 v3.38.0/go.mod h1:3/6Fr/c01n7Hw7mtAlO7X8WMBgLP5AVTyYe4CRfJQc4= +github.com/pulumi/pulumi/sdk/v3 v3.38.1-0.20220825161912-0fc18cbafb78/go.mod h1:Fw52iyR/4T9xWm7cTcshy4rGEXyPwhXKKEalczKZ8RY= +github.com/pulumi/pulumi/sdk/v3 v3.40.1/go.mod h1:tSNA8Z+GnEjMxH+qtrfcwpmOQj7mTPTAmJUhwvuox5I= +github.com/pulumi/pulumi/sdk/v3 v3.42.0/go.mod h1:N5jL+cw5KiOeMn9bwvRuPQEAhbE3KPq2wSb/Kw+6HuY= +github.com/pulumi/pulumi/sdk/v3 v3.42.1-0.20221010121757-adef574983fa/go.mod h1:N5jL+cw5KiOeMn9bwvRuPQEAhbE3KPq2wSb/Kw+6HuY= +github.com/pulumi/pulumi/sdk/v3 v3.44.2/go.mod h1:N5jL+cw5KiOeMn9bwvRuPQEAhbE3KPq2wSb/Kw+6HuY= +github.com/pulumi/pulumi/sdk/v3 v3.46.0/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.46.1/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.48.0/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.48.1-0.20221129095827-e43e98e5a7ab/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.48.1-0.20221205185749-86e7d56df231/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.48.1-0.20221207010559-e812f69ba562/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.49.0/go.mod h1:58NOiU6vEdA0S8KFiFt4/eqH7vKtWhDFsEGCUFRBovw= +github.com/pulumi/pulumi/sdk/v3 v3.49.1-0.20221210190028-cbf32d1940fa/go.mod h1:58NOiU6vEdA0S8KFiFt4/eqH7vKtWhDFsEGCUFRBovw= +github.com/pulumi/pulumi/sdk/v3 v3.53.1/go.mod h1:IYcBrkAwKEGRVq7R1ne3XJKB5bcux5eL3M/zqco7d6Y= +github.com/pulumi/pulumi/sdk/v3 v3.55.0/go.mod h1:sDKcGZ9ChAy1zHYtzEsHyXzD8AvgiKVyQUc8lgzuGhY= +github.com/pulumi/pulumi/sdk/v3 v3.56.0/go.mod h1:Pb5H3OaRZg0n4TRIfY0pagR/NBIEvjp3lZe2Spr6Umc= +github.com/pulumi/pulumi/sdk/v3 v3.59.0/go.mod h1:Pb5H3OaRZg0n4TRIfY0pagR/NBIEvjp3lZe2Spr6Umc= +github.com/pulumi/pulumi/sdk/v3 v3.64.0 h1:38y/6FLYZihLf2dnjw2L9g46h/6p+jOKKlmEYjL81+c= +github.com/pulumi/pulumi/sdk/v3 v3.64.0/go.mod h1:Pb5H3OaRZg0n4TRIfY0pagR/NBIEvjp3lZe2Spr6Umc= +github.com/pulumi/schema-tools v0.1.0/go.mod h1:feL1siLWdcCNUm+irXoHyNHbGaqoX7pfYojpGZe2ziY= +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/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= +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/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rjeczalik/notify v0.9.2/go.mod h1:aErll2f0sUX9PXZnVNyeiObbmTlk5jnMoCa4QEjJeqM= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +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/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= +github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= +github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +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= +github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= +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/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= +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/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.9/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= +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= +github.com/segmentio/asm v1.1.3/go.mod h1:Ld3L4ZXGNcSLRg4JBsZ3//1+f/TjYl0Mzen/DQy1EJg= +github.com/segmentio/encoding v0.3.5 h1:UZEiaZ55nlXGDL92scoVuw00RmiRCazIEmvPSbSvt8Y= +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/shirou/gopsutil v3.21.7+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shirou/gopsutil/v3 v3.22.3/go.mod h1:D01hZJ4pVHPpCTZ3m3T2+wDF2YAGfd+H4ifUguaQzHM= +github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= +github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +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= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= +github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/skeema/knownhosts v1.1.0 h1:Wvr9V0MxhjRbl3f9nMnKnFfiWTJmtECJ9Njkea3ysW0= +github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= +github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= +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/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +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= +github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= +github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +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/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= +github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= +github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +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/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +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.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/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= +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/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= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= +github.com/tedsuo/ifrit v0.0.0-20180802180643-bea94bb476cc/go.mod h1:eyZnKCc955uh98WQvzOm0dgAeLnf2O0Rz0LPoC5ze+0= +github.com/texttheater/golang-levenshtein v0.0.0-20191208221605-eb6844b05fc6/go.mod h1:XDKHRm5ThF8YJjx001LtgelzsoaEcvnA7lVWz9EeX3g= +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/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/tklauser/go-sysconf v0.3.8/go.mod h1:z4zYWRS+X53WUKtBcmDg1comV3fPhdQnzasnIHUoLDU= +github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= +github.com/tklauser/numcpus v0.2.3/go.mod h1:vpEPS/JC+oZGGQ/My/vJnNsvMDQL6PwOqt8dsCw5j+E= +github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= +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/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +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.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +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/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +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/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= +github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= +github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= +github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= +github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= +github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= +github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +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.1/go.mod h1:QIE4lCeL7nkC25x+yA3LBIYfwCc1TFziCtG7cBAac6w= +github.com/xanzy/ssh-agent v0.3.2/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +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/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= +github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= +github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= +github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= +github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= +github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= +github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +github.com/zclconf/go-cty v1.3.1/go.mod h1:YO23e2L18AG+ZYQfSobnY4G65nvwvprPCxBHkufUH1k= +github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= +github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= +github.com/zclconf/go-cty v1.12.1/go.mod h1:s9IfD1LK5ccNMSWCVFCE2rJfHiZgi7JijgeWIMfhLvA= +github.com/zclconf/go-cty v1.13.1 h1:0a6bRwuiSHtAmqCqNOE+c2oHgepv0ctoxU4FUe43kwc= +github.com/zclconf/go-cty v1.13.1/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/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= +go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= +go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= +go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= +go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= +go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= +go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= +go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= +go.opencensus.io v0.15.0/go.mod h1:UffZAU+4sDEINUGP/B7UfBBkq4fqLu9zXAX7ke6CHW0= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.22.6/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.31.0/go.mod h1:PFmBsWbldL1kiWZk9+0LBZz2brhByaGsvp6pRICMlPE= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.32.0/go.mod h1:5eCOqeGphOyz6TsY3ZDNjE33SM/TFAK3RGuCL2naTgY= +go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= +go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= +go.opentelemetry.io/otel v1.6.0/go.mod h1:bfJD2DZVw0LBxghOTlgnlI0CV3hLDu9XF/QKOUXMTQQ= +go.opentelemetry.io/otel v1.6.1/go.mod h1:blzUabWHkX6LJewxvadmzafgh/wnvBSDBdOuwkAtrWQ= +go.opentelemetry.io/otel v1.7.0/go.mod h1:5BdUoMIz5WEs0vt0CUEMtSSaTSHBBVwrhnz7+nrD5xk= +go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.6.1/go.mod h1:NEu79Xo32iVb+0gVNV8PMd7GoWqnyDXRlj04yFjqz40= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.7.0/go.mod h1:M1hVZHNxcbkAlcvrOMlpQ4YOO3Awf+4N2dxkZL3xm04= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0/go.mod h1:hO1KLR7jcKaDDKDkvI9dP/FIhpmna5lkqPUQdEjFAM8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.6.1/go.mod h1:YJ/JbY5ag/tSQFXzH3mtDmHqzF3aFn3DI/aB1n7pt4w= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.7.0/go.mod h1:ceUgdyfNv4h4gLxHR0WNfDiiVmZFodZhZSbOLhpxqXE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0/go.mod h1:keUU7UfnwWTWpJ+FWnyqmogPa82nuU5VUANFq49hlMY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.6.1/go.mod h1:UJJXJj0rltNIemDMwkOJyggsvyMG9QHfJeFH0HS5JjM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.7.0/go.mod h1:E+/KKhwOSw8yoPxSSuUHG6vKppkvhN+S1Jc7Nib3k3o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0/go.mod h1:QNX1aly8ehqqX1LEa6YniTU7VY9I6R3X/oPxhGdTceE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.6.1/go.mod h1:DAKwdo06hFLc0U88O10x4xnb5sc7dDRDqRuiN+io8JE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.7.0/go.mod h1:aFXT9Ng2seM9eizF+LfKiyPBGy8xIZKwhusC1gIu3hA= +go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/metric v0.28.0/go.mod h1:TrzsfQAmQaB1PDcdhBauLMk7nyyg9hm+GoQq/ekE9Iw= +go.opentelemetry.io/otel/metric v0.30.0/go.mod h1:/ShZ7+TS4dHzDFmfi1kSXMhMVubNoP0oIaBp70J6UXU= +go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= +go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= +go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= +go.opentelemetry.io/otel/sdk v1.6.1/go.mod h1:IVYrddmFZ+eJqu2k38qD3WezFR2pymCzm8tdxyh3R4E= +go.opentelemetry.io/otel/sdk v1.7.0/go.mod h1:uTEOTwaqIVuTGiJN7ii13Ibp75wJmYUDe374q6cZwUU= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= +go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= +go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= +go.opentelemetry.io/otel/trace v1.6.0/go.mod h1:qs7BrU5cZ8dXQHBGxHMOxwME/27YH2qEp4/+tZLLwJE= +go.opentelemetry.io/otel/trace v1.6.1/go.mod h1:RkFRM1m0puWIq10oxImnGEduNBzxiN7TXluRBtE+5j0= +go.opentelemetry.io/otel/trace v1.7.0/go.mod h1:fzLSB9nqR2eXzxPXb2JW9IKE+ScyXA48yyE4TNvoHqU= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= +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.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= +go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/automaxprocs v1.5.1/go.mod h1:BF4eumQw0P9GtnuxxovUd06vwm1o18oMzFtK66vU6XU= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +gocloud.dev v0.23.0/go.mod h1:zklCCIIo1N9ELkU2S2E7tW8P8eeMU7oGLeQCXdDwx9Q= +gocloud.dev v0.24.0/go.mod h1:uA+als++iBX5ShuG4upQo/3Zoz49iIPlYUWHV5mM8w8= +gocloud.dev v0.27.0 h1:j0WTUsnKTxCsWO7y8T+YCiBZUmLl9w/WIowqAY3yo0g= +gocloud.dev v0.27.0/go.mod h1:YlYKhYsY5/1JdHGWQDkAuqkezVKowu7qbe9aIeUF6p0= +gocloud.dev/secrets/hashivault v0.23.0/go.mod h1:JkedtcYw0IqNMru0glghf+dkoszG0WFjal3PCpucxBs= +gocloud.dev/secrets/hashivault v0.24.0/go.mod h1:I4EieZgy8VTp5iVK2jSPlTidjENujhKq2Y/wXz8r8V0= +gocloud.dev/secrets/hashivault v0.27.0 h1:AAeGJXr0tiHHJgg5tL8atOGktB4eK9EJAqkZbPKAcOo= +gocloud.dev/secrets/hashivault v0.27.0/go.mod h1:offqsI5oj0B0bVHZdfk/88uIb3NnN93ia8py0yvRlHY= +golang.org/x/arch v0.1.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +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-20190418165655-df01cb2cc480/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-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200317142112-1b76d66859c6/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/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-20210506145944-38f3c27a63bf/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= +golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= +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= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +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-20220131195533-30dcbda58838/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-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-20220824171710-5757bc0c5503/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 h1:a06MkbcxBrEFc0w0QIZWXrH/9cCX6KJyWbBOIwAn+7A= +golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +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-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/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/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/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/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +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 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191009170851-d66e71096ffb/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/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-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= +golang.org/x/net v0.0.0-20210420210106-798c2154c571/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= +golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210505214959-0714010a04ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +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.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 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210126194326-f9ce19ea3013/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220628200809-02e64fa58f26/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +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/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= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +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-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +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-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/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= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180926160741-c2ed4eda69e7/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/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= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +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= +golang.org/x/sys v0.0.0-20190530182044-ad28b68e88f1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/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-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210218084038-e8e29180ff58/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210223095934-7937bea0104d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/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= +golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210412220455-f1c623a9e750/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +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-20210503173754-0981d6026fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +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= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816074244-15123e1e1f71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210817190340-bfb29a6856f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/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-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220204135822-1c1b9b1eba6a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e/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-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/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-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-20220731174439-a90be440212d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220823224334-20c2bfdbfe24/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.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 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= +golang.org/x/sys v0.6.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= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +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.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 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +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= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +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.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 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +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= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +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/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 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA= +golang.org/x/time v0.1.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-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= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +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-20191010075000-0337d82405ff/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= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200608174601-1b747fd94509/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +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-20201110124207-079ba7bd75cd/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= +golang.org/x/tools v0.0.0-20210101214203-2dba1e4ea05c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +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.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +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= +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= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +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/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= +google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.5.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.10.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +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.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.37.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.45.0/go.mod h1:ISLIJCedJolbZvDfAk+Ctuq5hf+aJ33WgtUsfyFoLXA= +google.golang.org/api v0.46.0/go.mod h1:ceL4oozhkAiTID8XMmJBsIxID/9wMXJVVFXPg4ylg3I= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.52.0/go.mod h1:Him/adpjt0sxtkWViy0b6xyKW/SD71CwdJ7HqJo7SrU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.58.0/go.mod h1:cAbP2FsxoGVNwtgNAmmn3y5G1TWAiVYRmg4yku3lv+E= +google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= +google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= +google.golang.org/api v0.86.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.91.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= +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.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= +google.golang.org/api v0.103.0 h1:9yuVqlu2JCvcLg9p8S3fcFLZij8EPSyvODIY1rkMizQ= +google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= +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.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= +google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190508193815-b515fa19cec8/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190708153700-3bdd9d9f5532/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +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-20200608115520-7c474a2e3482/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= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210413151531-c14fb6ef47c3/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210420162539-3c870d7478d2/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210423144448-3a41ef94ed2b/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210506142907-4a47615972c2/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210517163617-5e0236093d7a/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210721163202-f1cecdd8b78a/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210722135532-667f2b7c528f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210825212027-de86158e7fda/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211018162055-cf77aa76bad2/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220201184016-50beb8ab5c44/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220405205423-9d709892a2bf/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= +google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20220802133213-ce4fa296bf78/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= +google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +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-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= +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-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= +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 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= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +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.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= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +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.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc v1.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag= +google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0/go.mod h1:DNq5QpG7LJqD2AamLZ7zvKE0DEpVl2BSEVjFycAAjRY= +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= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +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.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.0/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= +gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f/go.mod h1:CaHjv79TCgAvXMSFJSVgonHXYWxnhzI3eoHtnX5UgUo= +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/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/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.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +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/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= +gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/src-d/go-billy.v4 v4.3.2/go.mod h1:nDjArDMp+XMs1aFAESLRjfGSgfvoYN0hDfzEk0GjC98= +gopkg.in/src-d/go-git-fixtures.v3 v3.5.0/go.mod h1:dLBcvytrw/TYZsNTWCnkNF2DSIlzWYqTe3rJR56Ac7g= +gopkg.in/src-d/go-git.v4 v4.13.1/go.mod h1:nx5NYcxdKxq5fpltdHnPa2Exj4Sx0EclMWZQbYDu2z8= +gopkg.in/telebot.v3 v3.0.0/go.mod h1:7rExV8/0mDDNu9epSrDm/8j22KLaActH1Tbee6YjzWg= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +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.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/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/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/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= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= +gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +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= +k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= +k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= +k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= +k8s.io/api v0.22.5/go.mod h1:mEhXyLaSD1qTOf40rRiKXkc+2iCem09rWLlFwhCEiAs= +k8s.io/api v0.23.5/go.mod h1:Na4XuKng8PXJ2JsploYYrivXrINeTaycCGcYgF91Xm8= +k8s.io/api v0.24.2/go.mod h1:AHqbSkTm6YrQ0ObxjO3Pmp/ubFF/KuM7jU+3khoBsOg= +k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= +k8s.io/apimachinery v0.22.1/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= +k8s.io/apimachinery v0.22.5/go.mod h1:xziclGKwuuJ2RM5/rSFQSYAj0zdbci3DH8kj+WvyN0U= +k8s.io/apimachinery v0.23.5/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= +k8s.io/apimachinery v0.24.2/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= +k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= +k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= +k8s.io/apiserver v0.22.5/go.mod h1:s2WbtgZAkTKt679sYtSudEQrTGWUSQAPe6MupLnlmaQ= +k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= +k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= +k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= +k8s.io/client-go v0.22.5/go.mod h1:cs6yf/61q2T1SdQL5Rdcjg9J1ElXSwbjSrW2vFImM4Y= +k8s.io/client-go v0.23.5/go.mod h1:flkeinTO1CirYgzMPRWxUCnV0G4Fbu2vLhYCObnt/r4= +k8s.io/client-go v0.24.2/go.mod h1:zg4Xaoo+umDsfCWr4fCnmLEtQXyCNXCvJuSsglNcV30= +k8s.io/code-generator v0.19.7/go.mod h1:lwEq3YnLYb/7uVXLorOJfxg+cUu2oihFhHZ0n9NIla0= +k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= +k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= +k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= +k8s.io/component-base v0.22.5/go.mod h1:VK3I+TjuF9eaa+Ln67dKxhGar5ynVbwnGrUiNF4MqCI= +k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= +k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc= +k8s.io/cri-api v0.23.1/go.mod h1:REJE3PSU0h/LOV1APBrupxrEJqnoxZC8KWzkBUHwrK4= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20201113003025-83324d819ded/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= +k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.40.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.70.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= +k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= +k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= +k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= +k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= +lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= +mvdan.cc/gofumpt v0.0.0-20210107193838-d24d34e18d44/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= +mvdan.cc/gofumpt v0.1.0/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= +nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +pgregory.net/rapid v0.4.7/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= +pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= +pgregory.net/rapid v0.5.5/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= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= +sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= +sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= +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= +sourcegraph.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67/go.mod h1:L5q+DGLGOQFpo1snNEkLOJT2d1YTW66rWNzatr3He1k= diff --git a/provider/cmd/pulumi-resource-xyz/.gitignore b/provider/cmd/pulumi-resource-nobl9/.gitignore similarity index 100% rename from provider/cmd/pulumi-resource-xyz/.gitignore rename to provider/cmd/pulumi-resource-nobl9/.gitignore diff --git a/provider/cmd/pulumi-resource-nobl9/Pulumi.yaml b/provider/cmd/pulumi-resource-nobl9/Pulumi.yaml new file mode 100644 index 0000000..e69de29 diff --git a/provider/cmd/pulumi-resource-xyz/generate.go b/provider/cmd/pulumi-resource-nobl9/generate.go similarity index 100% rename from provider/cmd/pulumi-resource-xyz/generate.go rename to provider/cmd/pulumi-resource-nobl9/generate.go diff --git a/provider/cmd/pulumi-resource-xyz/main.go b/provider/cmd/pulumi-resource-nobl9/main.go similarity index 82% rename from provider/cmd/pulumi-resource-xyz/main.go rename to provider/cmd/pulumi-resource-nobl9/main.go index aeed3da..36e98f9 100644 --- a/provider/cmd/pulumi-resource-xyz/main.go +++ b/provider/cmd/pulumi-resource-nobl9/main.go @@ -19,9 +19,9 @@ package main import ( _ "embed" + nobl9 "github.com/piclemx/pulumi-nobl9/provider" + "github.com/piclemx/pulumi-nobl9/provider/pkg/version" "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge" - xyz "github.com/pulumi/pulumi-xyz/provider" - "github.com/pulumi/pulumi-xyz/provider/pkg/version" ) //go:embed schema-embed.json @@ -29,5 +29,5 @@ var pulumiSchema []byte func main() { // Modify the path to point to the new provider - tfbridge.Main("xyz", version.Version, xyz.Provider(), pulumiSchema) + tfbridge.Main("nobl9", version.Version, nobl9.Provider(), pulumiSchema) } diff --git a/provider/cmd/pulumi-resource-nobl9/schema.json b/provider/cmd/pulumi-resource-nobl9/schema.json new file mode 100644 index 0000000..5750940 --- /dev/null +++ b/provider/cmd/pulumi-resource-nobl9/schema.json @@ -0,0 +1,9296 @@ +{ + "name": "nobl9", + "description": "A Pulumi package for creating and managing Nobl9 cloud resources.", + "keywords": [ + "pulumi", + "nobl9", + "n9", + "category/cloud" + ], + "homepage": "https://www.pulumi.com", + "license": "Apache-2.0", + "attribution": "This Pulumi package is based on the [`nobl9` Terraform Provider](https://github.com/nobl9/terraform-provider-nobl9).", + "repository": "https://github.com/piclemx/pulumi-nobl9", + "pluginDownloadURL": "https://github.com/piclemx/pulumi-nobl9/releases/", + "publisher": "piclemx", + "meta": { + "moduleFormat": "(.*)(?:/[^/]*)" + }, + "language": { + "csharp": { + "compatibility": "tfbridge20", + "namespaces": null, + "packageReferences": { + "Pulumi": "3.*" + } + }, + "go": { + "generateExtraInputTypes": true, + "generateResourceContainerTypes": true, + "importBasePath": "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" + }, + "nodejs": { + "compatibility": "tfbridge20", + "dependencies": { + "@pulumi/pulumi": "^3.0.0" + }, + "devDependencies": { + "@types/mime": "^2.0.0", + "@types/node": "^10.0.0" + }, + "disableUnionOutputTypes": true, + "packageDescription": "A Pulumi package for creating and managing Nobl9 cloud resources.", + "packageName": "", + "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/nobl9/terraform-provider-nobl9)\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-nobl9` repo](https://github.com/piclemx/pulumi-nobl9/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-nobl9` repo](https://github.com/nobl9/terraform-provider-nobl9/issues).", + "typescriptVersion": "" + }, + "python": { + "compatibility": "tfbridge20", + "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/nobl9/terraform-provider-nobl9)\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-nobl9` repo](https://github.com/piclemx/pulumi-nobl9/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-nobl9` repo](https://github.com/nobl9/terraform-provider-nobl9/issues).", + "requires": { + "pulumi": "\u003e=3.0.0,\u003c4.0.0" + } + } + }, + "config": { + "variables": { + "clientId": { + "type": "string", + "description": "the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to\nNobl9.\n" + }, + "clientSecret": { + "type": "string", + "description": "the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect\nto Nobl9.\n" + }, + "ingestUrl": { + "type": "string", + "description": "Nobl9 API URL.\n" + }, + "oktaAuthServer": { + "type": "string", + "description": "Authorization service configuration.\n" + }, + "oktaOrgUrl": { + "type": "string", + "description": "Authorization service URL.\n" + }, + "organization": { + "type": "string", + "description": "Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that\ncontains resources managed by the Nobl9 Terraform provider.\n" + }, + "project": { + "type": "string", + "description": "Nobl9 project used when importing resources.\n" + } + }, + "defaults": [ + "clientId", + "clientSecret", + "organization", + "project" + ] + }, + "types": { + "nobl9:index/AgentAmazonPrometheusConfig:AgentAmazonPrometheusConfig": { + "properties": { + "region": { + "type": "string", + "description": "AWS region e.g., eu-central-1\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "url": { + "type": "string", + "description": "Base URL to Amazon Prometheus server.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "region", + "url" + ] + }, + "nobl9:index/AgentAppdynamicsConfig:AgentAppdynamicsConfig": { + "properties": { + "url": { + "type": "string", + "description": "Base URL to the AppDynamics Controller.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "url" + ] + }, + "nobl9:index/AgentBigqueryConfig:AgentBigqueryConfig": { + "type": "object" + }, + "nobl9:index/AgentCloudwatchConfig:AgentCloudwatchConfig": { + "type": "object" + }, + "nobl9:index/AgentDatadogConfig:AgentDatadogConfig": { + "properties": { + "site": { + "type": "string", + "description": "`com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union)\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "site" + ] + }, + "nobl9:index/AgentDynatraceConfig:AgentDynatraceConfig": { + "properties": { + "url": { + "type": "string", + "description": "Dynatrace API URL.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "url" + ] + }, + "nobl9:index/AgentElasticsearchConfig:AgentElasticsearchConfig": { + "properties": { + "url": { + "type": "string", + "description": "API URL endpoint to the Elasticsearch's instance.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "url" + ] + }, + "nobl9:index/AgentGcmConfig:AgentGcmConfig": { + "type": "object" + }, + "nobl9:index/AgentGrafanaLokiConfig:AgentGrafanaLokiConfig": { + "properties": { + "url": { + "type": "string", + "description": "API URL endpoint to the Grafana Loki instance.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "url" + ] + }, + "nobl9:index/AgentGraphiteConfig:AgentGraphiteConfig": { + "properties": { + "url": { + "type": "string", + "description": "API URL endpoint to the Graphite's instance.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "url" + ] + }, + "nobl9:index/AgentInfluxdbConfig:AgentInfluxdbConfig": { + "properties": { + "url": { + "type": "string", + "description": "API URL endpoint to the InfluxDB's instance.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "url" + ] + }, + "nobl9:index/AgentInstanaConfig:AgentInstanaConfig": { + "properties": { + "url": { + "type": "string", + "description": "API URL endpoint to the InfluxDB's instance.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "url" + ] + }, + "nobl9:index/AgentLightstepConfig:AgentLightstepConfig": { + "properties": { + "organization": { + "type": "string", + "description": "Organization name registered in Lightstep.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "project": { + "type": "string", + "description": "Name of the Lightstep project.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "organization", + "project" + ] + }, + "nobl9:index/AgentNewrelicConfig:AgentNewrelicConfig": { + "properties": { + "accountId": { + "type": "string", + "description": "ID number assigned to the New Relic user account.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "accountId" + ] + }, + "nobl9:index/AgentOpentsdbConfig:AgentOpentsdbConfig": { + "properties": { + "url": { + "type": "string", + "description": "OpenTSDB cluster URL.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "url" + ] + }, + "nobl9:index/AgentPingdomConfig:AgentPingdomConfig": { + "type": "object" + }, + "nobl9:index/AgentPrometheusConfig:AgentPrometheusConfig": { + "properties": { + "url": { + "type": "string", + "description": "Base URL to Prometheus server.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "url" + ] + }, + "nobl9:index/AgentQueryDelay:AgentQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/AgentRedshiftConfig:AgentRedshiftConfig": { + "type": "object" + }, + "nobl9:index/AgentSplunkConfig:AgentSplunkConfig": { + "properties": { + "url": { + "type": "string", + "description": "Base API URL to the Splunk Search app.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "url" + ] + }, + "nobl9:index/AgentSplunkObservabilityConfig:AgentSplunkObservabilityConfig": { + "properties": { + "realm": { + "type": "string", + "description": "SplunkObservability Realm.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "realm" + ] + }, + "nobl9:index/AgentSumologicConfig:AgentSumologicConfig": { + "properties": { + "url": { + "type": "string", + "description": "Sumo Logic API URL.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "url" + ] + }, + "nobl9:index/AgentThousandeyesConfig:AgentThousandeyesConfig": { + "type": "object" + }, + "nobl9:index/AlertPolicyAlertMethod:AlertPolicyAlertMethod": { + "properties": { + "name": { + "type": "string", + "description": "The name of the previously defined alert method.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "project": { + "type": "string", + "description": "Project name the Alert Method is in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). If not defined, Nobl9 returns a default value for this field.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "nobl9:index/AlertPolicyCondition:AlertPolicyCondition": { + "properties": { + "lastsFor": { + "type": "string", + "description": "Indicates how long a given condition needs to be valid to mark the condition as true.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "measurement": { + "type": "string", + "description": "One of `timeToBurnBudget` | `burnRate` | `burnedBudget`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "number", + "description": "For `averageBurnRate`, it indicates how fast the error budget is burning. For `burnedBudget`, it tells how much error budget is already burned.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "valueString": { + "type": "string", + "description": "Used with `timeToBurnBudget`, indicates when the budget would be exhausted. The expected value is a string in time duration string format.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "measurement" + ] + }, + "nobl9:index/DirectAppdynamicsQueryDelay:DirectAppdynamicsQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectBigqueryQueryDelay:DirectBigqueryQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectCloudwatchHistoricalDataRetrieval:DirectCloudwatchHistoricalDataRetrieval": { + "properties": { + "defaultDurations": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/DirectCloudwatchHistoricalDataRetrievalDefaultDuration:DirectCloudwatchHistoricalDataRetrievalDefaultDuration" + }, + "description": "Used by default for any SLOs connected to this data source.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "maxDurations": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/DirectCloudwatchHistoricalDataRetrievalMaxDuration:DirectCloudwatchHistoricalDataRetrievalMaxDuration" + }, + "description": "Defines the maximum period for which data can be retrieved.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "defaultDurations", + "maxDurations" + ] + }, + "nobl9:index/DirectCloudwatchHistoricalDataRetrievalDefaultDuration:DirectCloudwatchHistoricalDataRetrievalDefaultDuration": { + "properties": { + "unit": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectCloudwatchHistoricalDataRetrievalMaxDuration:DirectCloudwatchHistoricalDataRetrievalMaxDuration": { + "properties": { + "unit": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectCloudwatchQueryDelay:DirectCloudwatchQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectDatadogHistoricalDataRetrieval:DirectDatadogHistoricalDataRetrieval": { + "properties": { + "defaultDurations": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/DirectDatadogHistoricalDataRetrievalDefaultDuration:DirectDatadogHistoricalDataRetrievalDefaultDuration" + }, + "description": "Used by default for any SLOs connected to this data source.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "maxDurations": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/DirectDatadogHistoricalDataRetrievalMaxDuration:DirectDatadogHistoricalDataRetrievalMaxDuration" + }, + "description": "Defines the maximum period for which data can be retrieved.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "defaultDurations", + "maxDurations" + ] + }, + "nobl9:index/DirectDatadogHistoricalDataRetrievalDefaultDuration:DirectDatadogHistoricalDataRetrievalDefaultDuration": { + "properties": { + "unit": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectDatadogHistoricalDataRetrievalMaxDuration:DirectDatadogHistoricalDataRetrievalMaxDuration": { + "properties": { + "unit": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectDatadogQueryDelay:DirectDatadogQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectDynatraceHistoricalDataRetrieval:DirectDynatraceHistoricalDataRetrieval": { + "properties": { + "defaultDurations": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/DirectDynatraceHistoricalDataRetrievalDefaultDuration:DirectDynatraceHistoricalDataRetrievalDefaultDuration" + }, + "description": "Used by default for any SLOs connected to this data source.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "maxDurations": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/DirectDynatraceHistoricalDataRetrievalMaxDuration:DirectDynatraceHistoricalDataRetrievalMaxDuration" + }, + "description": "Defines the maximum period for which data can be retrieved.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "defaultDurations", + "maxDurations" + ] + }, + "nobl9:index/DirectDynatraceHistoricalDataRetrievalDefaultDuration:DirectDynatraceHistoricalDataRetrievalDefaultDuration": { + "properties": { + "unit": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectDynatraceHistoricalDataRetrievalMaxDuration:DirectDynatraceHistoricalDataRetrievalMaxDuration": { + "properties": { + "unit": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectDynatraceQueryDelay:DirectDynatraceQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectGcmQueryDelay:DirectGcmQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectInfluxdbQueryDelay:DirectInfluxdbQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectInstanaQueryDelay:DirectInstanaQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectLightstepHistoricalDataRetrieval:DirectLightstepHistoricalDataRetrieval": { + "properties": { + "defaultDurations": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/DirectLightstepHistoricalDataRetrievalDefaultDuration:DirectLightstepHistoricalDataRetrievalDefaultDuration" + }, + "description": "Used by default for any SLOs connected to this data source.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "maxDurations": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/DirectLightstepHistoricalDataRetrievalMaxDuration:DirectLightstepHistoricalDataRetrievalMaxDuration" + }, + "description": "Defines the maximum period for which data can be retrieved.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "defaultDurations", + "maxDurations" + ] + }, + "nobl9:index/DirectLightstepHistoricalDataRetrievalDefaultDuration:DirectLightstepHistoricalDataRetrievalDefaultDuration": { + "properties": { + "unit": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectLightstepHistoricalDataRetrievalMaxDuration:DirectLightstepHistoricalDataRetrievalMaxDuration": { + "properties": { + "unit": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectLightstepQueryDelay:DirectLightstepQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectNewrelicHistoricalDataRetrieval:DirectNewrelicHistoricalDataRetrieval": { + "properties": { + "defaultDurations": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/DirectNewrelicHistoricalDataRetrievalDefaultDuration:DirectNewrelicHistoricalDataRetrievalDefaultDuration" + }, + "description": "Used by default for any SLOs connected to this data source.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "maxDurations": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/DirectNewrelicHistoricalDataRetrievalMaxDuration:DirectNewrelicHistoricalDataRetrievalMaxDuration" + }, + "description": "Defines the maximum period for which data can be retrieved.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "defaultDurations", + "maxDurations" + ] + }, + "nobl9:index/DirectNewrelicHistoricalDataRetrievalDefaultDuration:DirectNewrelicHistoricalDataRetrievalDefaultDuration": { + "properties": { + "unit": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectNewrelicHistoricalDataRetrievalMaxDuration:DirectNewrelicHistoricalDataRetrievalMaxDuration": { + "properties": { + "unit": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectNewrelicQueryDelay:DirectNewrelicQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectPingdomQueryDelay:DirectPingdomQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectRedshiftQueryDelay:DirectRedshiftQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectSplunkHistoricalDataRetrieval:DirectSplunkHistoricalDataRetrieval": { + "properties": { + "defaultDurations": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/DirectSplunkHistoricalDataRetrievalDefaultDuration:DirectSplunkHistoricalDataRetrievalDefaultDuration" + }, + "description": "Used by default for any SLOs connected to this data source.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "maxDurations": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/DirectSplunkHistoricalDataRetrievalMaxDuration:DirectSplunkHistoricalDataRetrievalMaxDuration" + }, + "description": "Defines the maximum period for which data can be retrieved.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "defaultDurations", + "maxDurations" + ] + }, + "nobl9:index/DirectSplunkHistoricalDataRetrievalDefaultDuration:DirectSplunkHistoricalDataRetrievalDefaultDuration": { + "properties": { + "unit": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectSplunkHistoricalDataRetrievalMaxDuration:DirectSplunkHistoricalDataRetrievalMaxDuration": { + "properties": { + "unit": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectSplunkObservabilityQueryDelay:DirectSplunkObservabilityQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectSplunkQueryDelay:DirectSplunkQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectSumologicQueryDelay:DirectSumologicQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/DirectThousandeyesQueryDelay:DirectThousandeyesQueryDelay": { + "properties": { + "unit": { + "type": "string", + "description": "Must be one of Minute or Second.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "integer", + "description": "Must be an integer greater than or equal to 0.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "unit", + "value" + ] + }, + "nobl9:index/ProjectLabel:ProjectLabel": { + "properties": { + "key": { + "type": "string", + "description": "A key for the label, unique within the associated resource.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of unique values for a single key.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "key", + "values" + ] + }, + "nobl9:index/ServiceLabel:ServiceLabel": { + "properties": { + "key": { + "type": "string", + "description": "A key for the label, unique within the associated resource.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of unique values for a single key.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "key", + "values" + ] + }, + "nobl9:index/SloAttachment:SloAttachment": { + "properties": { + "displayName": { + "type": "string", + "description": "Name displayed for the attachment. Max. length: 63 characters.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "url": { + "type": "string", + "description": "URL to the attachment\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "url" + ] + }, + "nobl9:index/SloComposite:SloComposite": { + "properties": { + "burnRateConditions": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloCompositeBurnRateCondition:SloCompositeBurnRateCondition" + }, + "description": "Condition when the Composite SLO’s error budget is burning.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "target": { + "type": "number", + "description": "Designated value\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "target" + ] + }, + "nobl9:index/SloCompositeBurnRateCondition:SloCompositeBurnRateCondition": { + "properties": { + "op": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "op", + "value" + ] + }, + "nobl9:index/SloIndicator:SloIndicator": { + "properties": { + "kind": { + "type": "string", + "description": "Kind of the metric source. One of {Agent, Direct}.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "name": { + "type": "string", + "description": "Name of the metric source (agent).\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "project": { + "type": "string", + "description": "Name of the metric source project.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "nobl9:index/SloLabel:SloLabel": { + "properties": { + "key": { + "type": "string", + "description": "A key for the label, unique within the associated resource.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of unique values for a single key.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "key", + "values" + ] + }, + "nobl9:index/SloObjective:SloObjective": { + "properties": { + "countMetrics": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetric:SloObjectiveCountMetric" + }, + "description": "Compares two time series, indicating the ratio of the count of good values to total values.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "displayName": { + "type": "string", + "description": "Name to be displayed\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "name": { + "type": "string", + "description": "Objective's name. This field is computed if not provided.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "op": { + "type": "string", + "description": "Type of logical operation\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "rawMetrics": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetric:SloObjectiveRawMetric" + }, + "description": "Raw data is used to compare objective values.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "target": { + "type": "number", + "description": "Designated value\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "timeSliceTarget": { + "type": "number", + "description": "Designated value for slice\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "number", + "description": "Value\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "displayName", + "target", + "value" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "displayName", + "name", + "target", + "value" + ] + } + } + }, + "nobl9:index/SloObjectiveCountMetric:SloObjectiveCountMetric": { + "properties": { + "goods": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGood:SloObjectiveCountMetricGood" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "incremental": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "totals": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotal:SloObjectiveCountMetricTotal" + }, + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "incremental" + ] + }, + "nobl9:index/SloObjectiveCountMetricGood:SloObjectiveCountMetricGood": { + "properties": { + "amazonPrometheuses": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodAmazonPrometheus:SloObjectiveCountMetricGoodAmazonPrometheus" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "appdynamics": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodAppdynamic:SloObjectiveCountMetricGoodAppdynamic" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "bigqueries": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodBigquery:SloObjectiveCountMetricGoodBigquery" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cloudwatches": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodCloudwatch:SloObjectiveCountMetricGoodCloudwatch" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "datadogs": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodDatadog:SloObjectiveCountMetricGoodDatadog" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "dynatraces": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodDynatrace:SloObjectiveCountMetricGoodDynatrace" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "elasticsearches": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodElasticsearch:SloObjectiveCountMetricGoodElasticsearch" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "gcms": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodGcm:SloObjectiveCountMetricGoodGcm" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "grafanaLokis": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodGrafanaLoki:SloObjectiveCountMetricGoodGrafanaLoki" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "graphites": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodGraphite:SloObjectiveCountMetricGoodGraphite" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "influxdbs": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodInfluxdb:SloObjectiveCountMetricGoodInfluxdb" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "instanas": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodInstana:SloObjectiveCountMetricGoodInstana" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "lightsteps": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodLightstep:SloObjectiveCountMetricGoodLightstep" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "newrelics": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodNewrelic:SloObjectiveCountMetricGoodNewrelic" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "opentsdbs": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodOpentsdb:SloObjectiveCountMetricGoodOpentsdb" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "pingdoms": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodPingdom:SloObjectiveCountMetricGoodPingdom" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "prometheuses": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodPrometheus:SloObjectiveCountMetricGoodPrometheus" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "redshifts": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodRedshift:SloObjectiveCountMetricGoodRedshift" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "splunkObservabilities": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodSplunkObservability:SloObjectiveCountMetricGoodSplunkObservability" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "splunks": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodSplunk:SloObjectiveCountMetricGoodSplunk" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "sumologics": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodSumologic:SloObjectiveCountMetricGoodSumologic" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "thousandeyes": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodThousandeye:SloObjectiveCountMetricGoodThousandeye" + }, + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "nobl9:index/SloObjectiveCountMetricGoodAmazonPrometheus:SloObjectiveCountMetricGoodAmazonPrometheus": { + "properties": { + "promql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "promql" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodAppdynamic:SloObjectiveCountMetricGoodAppdynamic": { + "properties": { + "applicationName": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "metricPath": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "applicationName", + "metricPath" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodBigquery:SloObjectiveCountMetricGoodBigquery": { + "properties": { + "location": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "projectId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "location", + "projectId", + "query" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodCloudwatch:SloObjectiveCountMetricGoodCloudwatch": { + "properties": { + "dimensions": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodCloudwatchDimension:SloObjectiveCountMetricGoodCloudwatchDimension" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "json": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "metricName": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "namespace": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "region": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "sql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "stat": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "region" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodCloudwatchDimension:SloObjectiveCountMetricGoodCloudwatchDimension": { + "properties": { + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "name", + "value" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodDatadog:SloObjectiveCountMetricGoodDatadog": { + "properties": { + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "query" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodDynatrace:SloObjectiveCountMetricGoodDynatrace": { + "properties": { + "metricSelector": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "metricSelector" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodElasticsearch:SloObjectiveCountMetricGoodElasticsearch": { + "properties": { + "index": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "index", + "query" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodGcm:SloObjectiveCountMetricGoodGcm": { + "properties": { + "projectId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "projectId", + "query" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodGrafanaLoki:SloObjectiveCountMetricGoodGrafanaLoki": { + "properties": { + "logql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "logql" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodGraphite:SloObjectiveCountMetricGoodGraphite": { + "properties": { + "metricPath": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "metricPath" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodInfluxdb:SloObjectiveCountMetricGoodInfluxdb": { + "properties": { + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "query" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodInstana:SloObjectiveCountMetricGoodInstana": { + "properties": { + "applications": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodInstanaApplication:SloObjectiveCountMetricGoodInstanaApplication" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "infrastructures": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodInstanaInfrastructure:SloObjectiveCountMetricGoodInstanaInfrastructure" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "metricType": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "metricType" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodInstanaApplication:SloObjectiveCountMetricGoodInstanaApplication": { + "properties": { + "aggregation": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "apiQuery": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "groupBies": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricGoodInstanaApplicationGroupBy:SloObjectiveCountMetricGoodInstanaApplicationGroupBy" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "includeInternal": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "includeSynthetic": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "metricId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "aggregation", + "apiQuery", + "groupBies", + "metricId" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodInstanaApplicationGroupBy:SloObjectiveCountMetricGoodInstanaApplicationGroupBy": { + "properties": { + "tag": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "tagEntity": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "tagSecondLevelKey": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "tag", + "tagEntity" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodInstanaInfrastructure:SloObjectiveCountMetricGoodInstanaInfrastructure": { + "properties": { + "metricId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "metricRetrievalMethod": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "pluginId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "snapshotId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "metricId", + "metricRetrievalMethod", + "pluginId" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodLightstep:SloObjectiveCountMetricGoodLightstep": { + "properties": { + "percentile": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "streamId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "typeOfData": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "uql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "typeOfData" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodNewrelic:SloObjectiveCountMetricGoodNewrelic": { + "properties": { + "nrql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "nrql" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodOpentsdb:SloObjectiveCountMetricGoodOpentsdb": { + "properties": { + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "query" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodPingdom:SloObjectiveCountMetricGoodPingdom": { + "properties": { + "checkId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "checkType": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "status": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "checkId" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodPrometheus:SloObjectiveCountMetricGoodPrometheus": { + "properties": { + "promql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "promql" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodRedshift:SloObjectiveCountMetricGoodRedshift": { + "properties": { + "clusterId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "databaseName": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "region": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "clusterId", + "databaseName", + "query", + "region" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodSplunk:SloObjectiveCountMetricGoodSplunk": { + "properties": { + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "query" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodSplunkObservability:SloObjectiveCountMetricGoodSplunkObservability": { + "properties": { + "program": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "program" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodSumologic:SloObjectiveCountMetricGoodSumologic": { + "properties": { + "quantization": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "rollup": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "type": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "query", + "type" + ] + }, + "nobl9:index/SloObjectiveCountMetricGoodThousandeye:SloObjectiveCountMetricGoodThousandeye": { + "properties": { + "testId": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "testId" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotal:SloObjectiveCountMetricTotal": { + "properties": { + "amazonPrometheuses": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalAmazonPrometheus:SloObjectiveCountMetricTotalAmazonPrometheus" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "appdynamics": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalAppdynamic:SloObjectiveCountMetricTotalAppdynamic" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "bigqueries": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalBigquery:SloObjectiveCountMetricTotalBigquery" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cloudwatches": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalCloudwatch:SloObjectiveCountMetricTotalCloudwatch" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "datadogs": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalDatadog:SloObjectiveCountMetricTotalDatadog" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "dynatraces": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalDynatrace:SloObjectiveCountMetricTotalDynatrace" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "elasticsearches": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalElasticsearch:SloObjectiveCountMetricTotalElasticsearch" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "gcms": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalGcm:SloObjectiveCountMetricTotalGcm" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "grafanaLokis": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalGrafanaLoki:SloObjectiveCountMetricTotalGrafanaLoki" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "graphites": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalGraphite:SloObjectiveCountMetricTotalGraphite" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "influxdbs": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalInfluxdb:SloObjectiveCountMetricTotalInfluxdb" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "instanas": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalInstana:SloObjectiveCountMetricTotalInstana" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "lightsteps": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalLightstep:SloObjectiveCountMetricTotalLightstep" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "newrelics": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalNewrelic:SloObjectiveCountMetricTotalNewrelic" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "opentsdbs": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalOpentsdb:SloObjectiveCountMetricTotalOpentsdb" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "pingdoms": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalPingdom:SloObjectiveCountMetricTotalPingdom" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "prometheuses": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalPrometheus:SloObjectiveCountMetricTotalPrometheus" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "redshifts": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalRedshift:SloObjectiveCountMetricTotalRedshift" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "splunkObservabilities": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalSplunkObservability:SloObjectiveCountMetricTotalSplunkObservability" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "splunks": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalSplunk:SloObjectiveCountMetricTotalSplunk" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "sumologics": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalSumologic:SloObjectiveCountMetricTotalSumologic" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "thousandeyes": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalThousandeye:SloObjectiveCountMetricTotalThousandeye" + }, + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "nobl9:index/SloObjectiveCountMetricTotalAmazonPrometheus:SloObjectiveCountMetricTotalAmazonPrometheus": { + "properties": { + "promql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "promql" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalAppdynamic:SloObjectiveCountMetricTotalAppdynamic": { + "properties": { + "applicationName": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "metricPath": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "applicationName", + "metricPath" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalBigquery:SloObjectiveCountMetricTotalBigquery": { + "properties": { + "location": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "projectId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "location", + "projectId", + "query" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalCloudwatch:SloObjectiveCountMetricTotalCloudwatch": { + "properties": { + "dimensions": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalCloudwatchDimension:SloObjectiveCountMetricTotalCloudwatchDimension" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "json": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "metricName": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "namespace": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "region": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "sql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "stat": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "region" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalCloudwatchDimension:SloObjectiveCountMetricTotalCloudwatchDimension": { + "properties": { + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "name", + "value" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalDatadog:SloObjectiveCountMetricTotalDatadog": { + "properties": { + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "query" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalDynatrace:SloObjectiveCountMetricTotalDynatrace": { + "properties": { + "metricSelector": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "metricSelector" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalElasticsearch:SloObjectiveCountMetricTotalElasticsearch": { + "properties": { + "index": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "index", + "query" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalGcm:SloObjectiveCountMetricTotalGcm": { + "properties": { + "projectId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "projectId", + "query" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalGrafanaLoki:SloObjectiveCountMetricTotalGrafanaLoki": { + "properties": { + "logql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "logql" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalGraphite:SloObjectiveCountMetricTotalGraphite": { + "properties": { + "metricPath": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "metricPath" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalInfluxdb:SloObjectiveCountMetricTotalInfluxdb": { + "properties": { + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "query" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalInstana:SloObjectiveCountMetricTotalInstana": { + "properties": { + "applications": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalInstanaApplication:SloObjectiveCountMetricTotalInstanaApplication" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "infrastructures": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalInstanaInfrastructure:SloObjectiveCountMetricTotalInstanaInfrastructure" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "metricType": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "metricType" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalInstanaApplication:SloObjectiveCountMetricTotalInstanaApplication": { + "properties": { + "aggregation": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "apiQuery": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "groupBies": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveCountMetricTotalInstanaApplicationGroupBy:SloObjectiveCountMetricTotalInstanaApplicationGroupBy" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "includeInternal": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "includeSynthetic": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "metricId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "aggregation", + "apiQuery", + "groupBies", + "metricId" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalInstanaApplicationGroupBy:SloObjectiveCountMetricTotalInstanaApplicationGroupBy": { + "properties": { + "tag": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "tagEntity": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "tagSecondLevelKey": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "tag", + "tagEntity" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalInstanaInfrastructure:SloObjectiveCountMetricTotalInstanaInfrastructure": { + "properties": { + "metricId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "metricRetrievalMethod": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "pluginId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "snapshotId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "metricId", + "metricRetrievalMethod", + "pluginId" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalLightstep:SloObjectiveCountMetricTotalLightstep": { + "properties": { + "percentile": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "streamId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "typeOfData": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "uql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "typeOfData" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalNewrelic:SloObjectiveCountMetricTotalNewrelic": { + "properties": { + "nrql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "nrql" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalOpentsdb:SloObjectiveCountMetricTotalOpentsdb": { + "properties": { + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "query" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalPingdom:SloObjectiveCountMetricTotalPingdom": { + "properties": { + "checkId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "checkType": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "status": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "checkId" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalPrometheus:SloObjectiveCountMetricTotalPrometheus": { + "properties": { + "promql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "promql" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalRedshift:SloObjectiveCountMetricTotalRedshift": { + "properties": { + "clusterId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "databaseName": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "region": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "clusterId", + "databaseName", + "query", + "region" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalSplunk:SloObjectiveCountMetricTotalSplunk": { + "properties": { + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "query" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalSplunkObservability:SloObjectiveCountMetricTotalSplunkObservability": { + "properties": { + "program": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "program" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalSumologic:SloObjectiveCountMetricTotalSumologic": { + "properties": { + "quantization": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "rollup": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "type": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "query", + "type" + ] + }, + "nobl9:index/SloObjectiveCountMetricTotalThousandeye:SloObjectiveCountMetricTotalThousandeye": { + "properties": { + "testId": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "testId" + ] + }, + "nobl9:index/SloObjectiveRawMetric:SloObjectiveRawMetric": { + "properties": { + "queries": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQuery:SloObjectiveRawMetricQuery" + }, + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "nobl9:index/SloObjectiveRawMetricQuery:SloObjectiveRawMetricQuery": { + "properties": { + "amazonPrometheuses": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryAmazonPrometheus:SloObjectiveRawMetricQueryAmazonPrometheus" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "appdynamics": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryAppdynamic:SloObjectiveRawMetricQueryAppdynamic" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "bigqueries": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryBigquery:SloObjectiveRawMetricQueryBigquery" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cloudwatches": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryCloudwatch:SloObjectiveRawMetricQueryCloudwatch" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "datadogs": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryDatadog:SloObjectiveRawMetricQueryDatadog" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "dynatraces": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryDynatrace:SloObjectiveRawMetricQueryDynatrace" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "elasticsearches": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryElasticsearch:SloObjectiveRawMetricQueryElasticsearch" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "gcms": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryGcm:SloObjectiveRawMetricQueryGcm" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "grafanaLokis": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryGrafanaLoki:SloObjectiveRawMetricQueryGrafanaLoki" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "graphites": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryGraphite:SloObjectiveRawMetricQueryGraphite" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "influxdbs": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryInfluxdb:SloObjectiveRawMetricQueryInfluxdb" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "instanas": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryInstana:SloObjectiveRawMetricQueryInstana" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "lightsteps": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryLightstep:SloObjectiveRawMetricQueryLightstep" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "newrelics": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryNewrelic:SloObjectiveRawMetricQueryNewrelic" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "opentsdbs": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryOpentsdb:SloObjectiveRawMetricQueryOpentsdb" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "pingdoms": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryPingdom:SloObjectiveRawMetricQueryPingdom" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "prometheuses": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryPrometheus:SloObjectiveRawMetricQueryPrometheus" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "redshifts": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryRedshift:SloObjectiveRawMetricQueryRedshift" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "splunkObservabilities": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQuerySplunkObservability:SloObjectiveRawMetricQuerySplunkObservability" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "splunks": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQuerySplunk:SloObjectiveRawMetricQuerySplunk" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "sumologics": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQuerySumologic:SloObjectiveRawMetricQuerySumologic" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "thousandeyes": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryThousandeye:SloObjectiveRawMetricQueryThousandeye" + }, + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "nobl9:index/SloObjectiveRawMetricQueryAmazonPrometheus:SloObjectiveRawMetricQueryAmazonPrometheus": { + "properties": { + "promql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "promql" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryAppdynamic:SloObjectiveRawMetricQueryAppdynamic": { + "properties": { + "applicationName": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "metricPath": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "applicationName", + "metricPath" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryBigquery:SloObjectiveRawMetricQueryBigquery": { + "properties": { + "location": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "projectId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "location", + "projectId", + "query" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryCloudwatch:SloObjectiveRawMetricQueryCloudwatch": { + "properties": { + "dimensions": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryCloudwatchDimension:SloObjectiveRawMetricQueryCloudwatchDimension" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "json": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "metricName": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "namespace": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "region": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "sql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "stat": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "region" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryCloudwatchDimension:SloObjectiveRawMetricQueryCloudwatchDimension": { + "properties": { + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "name", + "value" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryDatadog:SloObjectiveRawMetricQueryDatadog": { + "properties": { + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "query" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryDynatrace:SloObjectiveRawMetricQueryDynatrace": { + "properties": { + "metricSelector": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "metricSelector" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryElasticsearch:SloObjectiveRawMetricQueryElasticsearch": { + "properties": { + "index": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "index", + "query" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryGcm:SloObjectiveRawMetricQueryGcm": { + "properties": { + "projectId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "projectId", + "query" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryGrafanaLoki:SloObjectiveRawMetricQueryGrafanaLoki": { + "properties": { + "logql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "logql" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryGraphite:SloObjectiveRawMetricQueryGraphite": { + "properties": { + "metricPath": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "metricPath" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryInfluxdb:SloObjectiveRawMetricQueryInfluxdb": { + "properties": { + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "query" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryInstana:SloObjectiveRawMetricQueryInstana": { + "properties": { + "applications": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryInstanaApplication:SloObjectiveRawMetricQueryInstanaApplication" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "infrastructures": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryInstanaInfrastructure:SloObjectiveRawMetricQueryInstanaInfrastructure" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "metricType": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "metricType" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryInstanaApplication:SloObjectiveRawMetricQueryInstanaApplication": { + "properties": { + "aggregation": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "apiQuery": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "groupBies": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjectiveRawMetricQueryInstanaApplicationGroupBy:SloObjectiveRawMetricQueryInstanaApplicationGroupBy" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "includeInternal": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "includeSynthetic": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "metricId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "aggregation", + "apiQuery", + "groupBies", + "metricId" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryInstanaApplicationGroupBy:SloObjectiveRawMetricQueryInstanaApplicationGroupBy": { + "properties": { + "tag": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "tagEntity": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "tagSecondLevelKey": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "tag", + "tagEntity" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryInstanaInfrastructure:SloObjectiveRawMetricQueryInstanaInfrastructure": { + "properties": { + "metricId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "metricRetrievalMethod": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "pluginId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "snapshotId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "metricId", + "metricRetrievalMethod", + "pluginId" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryLightstep:SloObjectiveRawMetricQueryLightstep": { + "properties": { + "percentile": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "streamId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "typeOfData": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "uql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "typeOfData" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryNewrelic:SloObjectiveRawMetricQueryNewrelic": { + "properties": { + "nrql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "nrql" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryOpentsdb:SloObjectiveRawMetricQueryOpentsdb": { + "properties": { + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "query" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryPingdom:SloObjectiveRawMetricQueryPingdom": { + "properties": { + "checkId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "checkType": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "status": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "checkId" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryPrometheus:SloObjectiveRawMetricQueryPrometheus": { + "properties": { + "promql": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "promql" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryRedshift:SloObjectiveRawMetricQueryRedshift": { + "properties": { + "clusterId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "databaseName": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "region": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "clusterId", + "databaseName", + "query", + "region" + ] + }, + "nobl9:index/SloObjectiveRawMetricQuerySplunk:SloObjectiveRawMetricQuerySplunk": { + "properties": { + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "query" + ] + }, + "nobl9:index/SloObjectiveRawMetricQuerySplunkObservability:SloObjectiveRawMetricQuerySplunkObservability": { + "properties": { + "program": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "program" + ] + }, + "nobl9:index/SloObjectiveRawMetricQuerySumologic:SloObjectiveRawMetricQuerySumologic": { + "properties": { + "quantization": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "query": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "rollup": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "type": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "query", + "type" + ] + }, + "nobl9:index/SloObjectiveRawMetricQueryThousandeye:SloObjectiveRawMetricQueryThousandeye": { + "properties": { + "testId": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "testId" + ] + }, + "nobl9:index/SloTimeWindow:SloTimeWindow": { + "properties": { + "calendars": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloTimeWindowCalendar:SloTimeWindowCalendar" + }, + "description": "Alert Policies attached to SLO\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "count": { + "type": "integer", + "description": "Count of the time unit\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "isRolling": { + "type": "boolean", + "description": "Is the window moving or not\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "period": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Period between start time and added count\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "unit": { + "type": "string", + "description": "Unit of time\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "count", + "unit" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "count", + "period", + "unit" + ] + } + } + }, + "nobl9:index/SloTimeWindowCalendar:SloTimeWindowCalendar": { + "properties": { + "startTime": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "timeZone": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "startTime", + "timeZone" + ] + } + }, + "provider": { + "description": "The provider type for the nobl9 package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n", + "properties": { + "clientId": { + "type": "string", + "description": "the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to\nNobl9.\n" + }, + "clientSecret": { + "type": "string", + "description": "the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect\nto Nobl9.\n" + }, + "ingestUrl": { + "type": "string", + "description": "Nobl9 API URL.\n" + }, + "oktaAuthServer": { + "type": "string", + "description": "Authorization service configuration.\n" + }, + "oktaOrgUrl": { + "type": "string", + "description": "Authorization service URL.\n" + }, + "organization": { + "type": "string", + "description": "Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that\ncontains resources managed by the Nobl9 Terraform provider.\n" + }, + "project": { + "type": "string", + "description": "Nobl9 project used when importing resources.\n" + } + }, + "required": [ + "clientId", + "clientSecret", + "organization", + "project" + ], + "inputProperties": { + "clientId": { + "type": "string", + "description": "the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to\nNobl9.\n" + }, + "clientSecret": { + "type": "string", + "description": "the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect\nto Nobl9.\n" + }, + "ingestUrl": { + "type": "string", + "description": "Nobl9 API URL.\n" + }, + "oktaAuthServer": { + "type": "string", + "description": "Authorization service configuration.\n" + }, + "oktaOrgUrl": { + "type": "string", + "description": "Authorization service URL.\n" + }, + "organization": { + "type": "string", + "description": "Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that\ncontains resources managed by the Nobl9 Terraform provider.\n" + }, + "project": { + "type": "string", + "description": "Nobl9 project used when importing resources.\n" + } + }, + "requiredInputs": [ + "clientId", + "clientSecret", + "organization", + "project" + ] + }, + "resources": { + "nobl9:index/agent:Agent": { + "description": "The Agent is a lightweight application that executes the queries defined for your Nobl9 SLOs. Queries are written in the language supported by the data source in question and executed via native APIs.\n\nThe Agent then sends your SLI metrics back to Nobl9 for processing and error budget calculation.\n\nFor more information, refer to [Agent configuration | Nobl9 Documentation](https://docs.nobl9.com/nobl9_agent)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst thisProject = new nobl9.Project(\"thisProject\", {\n displayName: \"Test N9 Terraform\",\n description: \"An example N9 Terraform project\",\n});\nconst thisAgent = new nobl9.Agent(\"thisAgent\", {\n project: thisProject.name,\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n agentType: \"prometheus\",\n prometheusConfig: {\n url: \"http://web.net\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\nthis_project = nobl9.Project(\"thisProject\",\n display_name=\"Test N9 Terraform\",\n description=\"An example N9 Terraform project\")\nthis_agent = nobl9.Agent(\"thisAgent\",\n project=this_project.name,\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ],\n agent_type=\"prometheus\",\n prometheus_config=nobl9.AgentPrometheusConfigArgs(\n url=\"http://web.net\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var thisProject = new Nobl9.Project(\"thisProject\", new()\n {\n DisplayName = \"Test N9 Terraform\",\n Description = \"An example N9 Terraform project\",\n });\n\n var thisAgent = new Nobl9.Agent(\"thisAgent\", new()\n {\n Project = thisProject.Name,\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n AgentType = \"prometheus\",\n PrometheusConfig = new Nobl9.Inputs.AgentPrometheusConfigArgs\n {\n Url = \"http://web.net\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\n\t\"github.com/pulumi/pulumi-nobl9/sdk/go/nobl9\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthisProject, err := nobl9.NewProject(ctx, \"thisProject\", \u0026nobl9.ProjectArgs{\n\t\t\tDisplayName: pulumi.String(\"Test N9 Terraform\"),\n\t\t\tDescription: pulumi.String(\"An example N9 Terraform project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nobl9.NewAgent(ctx, \"thisAgent\", \u0026nobl9.AgentArgs{\n\t\t\tProject: thisProject.Name,\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\n\t\t\t},\n\t\t\tAgentType: pulumi.String(\"prometheus\"),\n\t\t\tPrometheusConfig: \u0026AgentPrometheusConfigArgs{\n\t\t\t\tUrl: pulumi.String(\"http://web.net\"),\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.nobl9.Project;\nimport com.pulumi.nobl9.ProjectArgs;\nimport com.pulumi.nobl9.Agent;\nimport com.pulumi.nobl9.AgentArgs;\nimport com.pulumi.nobl9.inputs.AgentPrometheusConfigArgs;\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 thisProject = new Project(\"thisProject\", ProjectArgs.builder() \n .displayName(\"Test N9 Terraform\")\n .description(\"An example N9 Terraform project\")\n .build());\n\n var thisAgent = new Agent(\"thisAgent\", AgentArgs.builder() \n .project(thisProject.name())\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .agentType(\"prometheus\")\n .prometheusConfig(AgentPrometheusConfigArgs.builder()\n .url(\"http://web.net\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n thisProject:\n type: nobl9:Project\n properties:\n displayName: Test N9 Terraform\n description: An example N9 Terraform project\n thisAgent:\n type: nobl9:Agent\n properties:\n project: ${thisProject.name}\n sourceOfs:\n - Metrics\n - Services\n agentType: prometheus\n prometheusConfig:\n url: http://web.net\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "agentType": { + "type": "string", + "description": "The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/)\n" + }, + "amazonPrometheusConfig": { + "$ref": "#/types/nobl9:index/AgentAmazonPrometheusConfig:AgentAmazonPrometheusConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent)\n" + }, + "appdynamicsConfig": { + "$ref": "#/types/nobl9:index/AgentAppdynamicsConfig:AgentAppdynamicsConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent)\n" + }, + "bigqueryConfig": { + "$ref": "#/types/nobl9:index/AgentBigqueryConfig:AgentBigqueryConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent)\n" + }, + "clientId": { + "type": "string", + "description": "client_id of created agent.\n" + }, + "clientSecret": { + "type": "string", + "description": "client_secret of created agent.\n" + }, + "cloudwatchConfig": { + "$ref": "#/types/nobl9:index/AgentCloudwatchConfig:AgentCloudwatchConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent)\n" + }, + "datadogConfig": { + "$ref": "#/types/nobl9:index/AgentDatadogConfig:AgentDatadogConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent)\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "dynatraceConfig": { + "$ref": "#/types/nobl9:index/AgentDynatraceConfig:AgentDynatraceConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent)\n" + }, + "elasticsearchConfig": { + "$ref": "#/types/nobl9:index/AgentElasticsearchConfig:AgentElasticsearchConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent)\n" + }, + "gcmConfig": { + "$ref": "#/types/nobl9:index/AgentGcmConfig:AgentGcmConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent)\n" + }, + "grafanaLokiConfig": { + "$ref": "#/types/nobl9:index/AgentGrafanaLokiConfig:AgentGrafanaLokiConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent)\n" + }, + "graphiteConfig": { + "$ref": "#/types/nobl9:index/AgentGraphiteConfig:AgentGraphiteConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent)\n" + }, + "influxdbConfig": { + "$ref": "#/types/nobl9:index/AgentInfluxdbConfig:AgentInfluxdbConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent)\n" + }, + "instanaConfig": { + "$ref": "#/types/nobl9:index/AgentInstanaConfig:AgentInstanaConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent)\n" + }, + "lightstepConfig": { + "$ref": "#/types/nobl9:index/AgentLightstepConfig:AgentLightstepConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent)\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "newrelicConfig": { + "$ref": "#/types/nobl9:index/AgentNewrelicConfig:AgentNewrelicConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent)\n" + }, + "opentsdbConfig": { + "$ref": "#/types/nobl9:index/AgentOpentsdbConfig:AgentOpentsdbConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent)\n" + }, + "pingdomConfig": { + "$ref": "#/types/nobl9:index/AgentPingdomConfig:AgentPingdomConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent)\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "prometheusConfig": { + "$ref": "#/types/nobl9:index/AgentPrometheusConfig:AgentPrometheusConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent)\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/AgentQueryDelay:AgentQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "redshiftConfig": { + "$ref": "#/types/nobl9:index/AgentRedshiftConfig:AgentRedshiftConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent)\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "splunkConfig": { + "$ref": "#/types/nobl9:index/AgentSplunkConfig:AgentSplunkConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent)\n" + }, + "splunkObservabilityConfig": { + "$ref": "#/types/nobl9:index/AgentSplunkObservabilityConfig:AgentSplunkObservabilityConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent)\n" + }, + "status": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Status of the created agent.\n" + }, + "sumologicConfig": { + "$ref": "#/types/nobl9:index/AgentSumologicConfig:AgentSumologicConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent)\n" + }, + "thousandeyesConfig": { + "$ref": "#/types/nobl9:index/AgentThousandeyesConfig:AgentThousandeyesConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent)\n" + } + }, + "required": [ + "agentType", + "clientId", + "clientSecret", + "name", + "project", + "sourceOfs", + "status" + ], + "inputProperties": { + "agentType": { + "type": "string", + "description": "The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/)\n" + }, + "amazonPrometheusConfig": { + "$ref": "#/types/nobl9:index/AgentAmazonPrometheusConfig:AgentAmazonPrometheusConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent)\n" + }, + "appdynamicsConfig": { + "$ref": "#/types/nobl9:index/AgentAppdynamicsConfig:AgentAppdynamicsConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent)\n" + }, + "bigqueryConfig": { + "$ref": "#/types/nobl9:index/AgentBigqueryConfig:AgentBigqueryConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent)\n" + }, + "cloudwatchConfig": { + "$ref": "#/types/nobl9:index/AgentCloudwatchConfig:AgentCloudwatchConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent)\n" + }, + "datadogConfig": { + "$ref": "#/types/nobl9:index/AgentDatadogConfig:AgentDatadogConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent)\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "dynatraceConfig": { + "$ref": "#/types/nobl9:index/AgentDynatraceConfig:AgentDynatraceConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent)\n" + }, + "elasticsearchConfig": { + "$ref": "#/types/nobl9:index/AgentElasticsearchConfig:AgentElasticsearchConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent)\n" + }, + "gcmConfig": { + "$ref": "#/types/nobl9:index/AgentGcmConfig:AgentGcmConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent)\n" + }, + "grafanaLokiConfig": { + "$ref": "#/types/nobl9:index/AgentGrafanaLokiConfig:AgentGrafanaLokiConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent)\n" + }, + "graphiteConfig": { + "$ref": "#/types/nobl9:index/AgentGraphiteConfig:AgentGraphiteConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent)\n" + }, + "influxdbConfig": { + "$ref": "#/types/nobl9:index/AgentInfluxdbConfig:AgentInfluxdbConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent)\n" + }, + "instanaConfig": { + "$ref": "#/types/nobl9:index/AgentInstanaConfig:AgentInstanaConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent)\n" + }, + "lightstepConfig": { + "$ref": "#/types/nobl9:index/AgentLightstepConfig:AgentLightstepConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent)\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "newrelicConfig": { + "$ref": "#/types/nobl9:index/AgentNewrelicConfig:AgentNewrelicConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent)\n" + }, + "opentsdbConfig": { + "$ref": "#/types/nobl9:index/AgentOpentsdbConfig:AgentOpentsdbConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent)\n" + }, + "pingdomConfig": { + "$ref": "#/types/nobl9:index/AgentPingdomConfig:AgentPingdomConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent)\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "prometheusConfig": { + "$ref": "#/types/nobl9:index/AgentPrometheusConfig:AgentPrometheusConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent)\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/AgentQueryDelay:AgentQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "redshiftConfig": { + "$ref": "#/types/nobl9:index/AgentRedshiftConfig:AgentRedshiftConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent)\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "splunkConfig": { + "$ref": "#/types/nobl9:index/AgentSplunkConfig:AgentSplunkConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent)\n" + }, + "splunkObservabilityConfig": { + "$ref": "#/types/nobl9:index/AgentSplunkObservabilityConfig:AgentSplunkObservabilityConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent)\n" + }, + "sumologicConfig": { + "$ref": "#/types/nobl9:index/AgentSumologicConfig:AgentSumologicConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent)\n" + }, + "thousandeyesConfig": { + "$ref": "#/types/nobl9:index/AgentThousandeyesConfig:AgentThousandeyesConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent)\n" + } + }, + "requiredInputs": [ + "agentType", + "project", + "sourceOfs" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Agent resources.\n", + "properties": { + "agentType": { + "type": "string", + "description": "The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/)\n" + }, + "amazonPrometheusConfig": { + "$ref": "#/types/nobl9:index/AgentAmazonPrometheusConfig:AgentAmazonPrometheusConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent)\n" + }, + "appdynamicsConfig": { + "$ref": "#/types/nobl9:index/AgentAppdynamicsConfig:AgentAppdynamicsConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent)\n" + }, + "bigqueryConfig": { + "$ref": "#/types/nobl9:index/AgentBigqueryConfig:AgentBigqueryConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent)\n" + }, + "clientId": { + "type": "string", + "description": "client_id of created agent.\n" + }, + "clientSecret": { + "type": "string", + "description": "client_secret of created agent.\n" + }, + "cloudwatchConfig": { + "$ref": "#/types/nobl9:index/AgentCloudwatchConfig:AgentCloudwatchConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent)\n" + }, + "datadogConfig": { + "$ref": "#/types/nobl9:index/AgentDatadogConfig:AgentDatadogConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent)\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "dynatraceConfig": { + "$ref": "#/types/nobl9:index/AgentDynatraceConfig:AgentDynatraceConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent)\n" + }, + "elasticsearchConfig": { + "$ref": "#/types/nobl9:index/AgentElasticsearchConfig:AgentElasticsearchConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent)\n" + }, + "gcmConfig": { + "$ref": "#/types/nobl9:index/AgentGcmConfig:AgentGcmConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent)\n" + }, + "grafanaLokiConfig": { + "$ref": "#/types/nobl9:index/AgentGrafanaLokiConfig:AgentGrafanaLokiConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent)\n" + }, + "graphiteConfig": { + "$ref": "#/types/nobl9:index/AgentGraphiteConfig:AgentGraphiteConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent)\n" + }, + "influxdbConfig": { + "$ref": "#/types/nobl9:index/AgentInfluxdbConfig:AgentInfluxdbConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent)\n" + }, + "instanaConfig": { + "$ref": "#/types/nobl9:index/AgentInstanaConfig:AgentInstanaConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent)\n" + }, + "lightstepConfig": { + "$ref": "#/types/nobl9:index/AgentLightstepConfig:AgentLightstepConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent)\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "newrelicConfig": { + "$ref": "#/types/nobl9:index/AgentNewrelicConfig:AgentNewrelicConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent)\n" + }, + "opentsdbConfig": { + "$ref": "#/types/nobl9:index/AgentOpentsdbConfig:AgentOpentsdbConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent)\n" + }, + "pingdomConfig": { + "$ref": "#/types/nobl9:index/AgentPingdomConfig:AgentPingdomConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent)\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "prometheusConfig": { + "$ref": "#/types/nobl9:index/AgentPrometheusConfig:AgentPrometheusConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent)\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/AgentQueryDelay:AgentQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "redshiftConfig": { + "$ref": "#/types/nobl9:index/AgentRedshiftConfig:AgentRedshiftConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent)\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "splunkConfig": { + "$ref": "#/types/nobl9:index/AgentSplunkConfig:AgentSplunkConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent)\n" + }, + "splunkObservabilityConfig": { + "$ref": "#/types/nobl9:index/AgentSplunkObservabilityConfig:AgentSplunkObservabilityConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent)\n" + }, + "status": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Status of the created agent.\n" + }, + "sumologicConfig": { + "$ref": "#/types/nobl9:index/AgentSumologicConfig:AgentSumologicConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent)\n" + }, + "thousandeyesConfig": { + "$ref": "#/types/nobl9:index/AgentThousandeyesConfig:AgentThousandeyesConfig", + "description": "[Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent)\n" + } + }, + "type": "object" + } + }, + "nobl9:index/alertMethodDiscord:AlertMethodDiscord": { + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "url": { + "type": "string", + "description": "Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details.\n" + } + }, + "required": [ + "name", + "project", + "url" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "url": { + "type": "string", + "description": "Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details.\n" + } + }, + "requiredInputs": [ + "project" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AlertMethodDiscord resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "url": { + "type": "string", + "description": "Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/alertMethodEmail:AlertMethodEmail": { + "properties": { + "bccs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Blind carbon copy recipients. The maximum number of recipients is 10.\n" + }, + "body": { + "type": "string", + "description": "The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration).\n" + }, + "ccs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Carbon copy recipients. The maximum number of recipients is 10.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "subject": { + "type": "string", + "description": "The Subject of the email alert.\n" + }, + "tos": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Recipients. The maximum number of recipients is 10.\n" + } + }, + "required": [ + "body", + "name", + "project", + "subject", + "tos" + ], + "inputProperties": { + "bccs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Blind carbon copy recipients. The maximum number of recipients is 10.\n" + }, + "body": { + "type": "string", + "description": "The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration).\n" + }, + "ccs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Carbon copy recipients. The maximum number of recipients is 10.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "subject": { + "type": "string", + "description": "The Subject of the email alert.\n" + }, + "tos": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Recipients. The maximum number of recipients is 10.\n" + } + }, + "requiredInputs": [ + "body", + "project", + "subject", + "tos" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AlertMethodEmail resources.\n", + "properties": { + "bccs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Blind carbon copy recipients. The maximum number of recipients is 10.\n" + }, + "body": { + "type": "string", + "description": "The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration).\n" + }, + "ccs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Carbon copy recipients. The maximum number of recipients is 10.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "subject": { + "type": "string", + "description": "The Subject of the email alert.\n" + }, + "tos": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Recipients. The maximum number of recipients is 10.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/alertMethodJira:AlertMethodJira": { + "properties": { + "apitoken": { + "type": "string", + "description": "[API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "projectKey": { + "type": "string", + "description": "The code of the Jira project.\n" + }, + "url": { + "type": "string", + "description": "Jira instance URL. The `https://` prefix is required.\n" + }, + "username": { + "type": "string", + "description": "Jira username for the owner of the API Token.\n" + } + }, + "required": [ + "apitoken", + "name", + "project", + "projectKey", + "url", + "username" + ], + "inputProperties": { + "apitoken": { + "type": "string", + "description": "[API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "projectKey": { + "type": "string", + "description": "The code of the Jira project.\n" + }, + "url": { + "type": "string", + "description": "Jira instance URL. The `https://` prefix is required.\n" + }, + "username": { + "type": "string", + "description": "Jira username for the owner of the API Token.\n" + } + }, + "requiredInputs": [ + "project", + "projectKey", + "url", + "username" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AlertMethodJira resources.\n", + "properties": { + "apitoken": { + "type": "string", + "description": "[API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "projectKey": { + "type": "string", + "description": "The code of the Jira project.\n" + }, + "url": { + "type": "string", + "description": "Jira instance URL. The `https://` prefix is required.\n" + }, + "username": { + "type": "string", + "description": "Jira username for the owner of the API Token.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/alertMethodMsteams:AlertMethodMsteams": { + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "url": { + "type": "string", + "description": "MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook).\n" + } + }, + "required": [ + "name", + "project", + "url" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "url": { + "type": "string", + "description": "MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook).\n" + } + }, + "requiredInputs": [ + "project" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AlertMethodMsteams resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "url": { + "type": "string", + "description": "MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook).\n" + } + }, + "type": "object" + } + }, + "nobl9:index/alertMethodOpsgenie:AlertMethodOpsgenie": { + "properties": { + "auth": { + "type": "string", + "description": "Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "url": { + "type": "string", + "description": "Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details.\n" + } + }, + "required": [ + "auth", + "name", + "project", + "url" + ], + "inputProperties": { + "auth": { + "type": "string", + "description": "Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "url": { + "type": "string", + "description": "Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details.\n" + } + }, + "requiredInputs": [ + "project", + "url" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AlertMethodOpsgenie resources.\n", + "properties": { + "auth": { + "type": "string", + "description": "Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "url": { + "type": "string", + "description": "Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/alertMethodPagerduty:AlertMethodPagerduty": { + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "integrationKey": { + "type": "string", + "description": "PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations).\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + } + }, + "required": [ + "integrationKey", + "name", + "project" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "integrationKey": { + "type": "string", + "description": "PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations).\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "project" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AlertMethodPagerduty resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "integrationKey": { + "type": "string", + "description": "PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations).\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "nobl9:index/alertMethodServicenow:AlertMethodServicenow": { + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "instanceName": { + "type": "string", + "description": "ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials).\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "password": { + "type": "string", + "description": "ServiceNow password.\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "username": { + "type": "string", + "description": "ServiceNow username.\n" + } + }, + "required": [ + "instanceName", + "name", + "password", + "project", + "username" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "instanceName": { + "type": "string", + "description": "ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials).\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "password": { + "type": "string", + "description": "ServiceNow password.\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "username": { + "type": "string", + "description": "ServiceNow username.\n" + } + }, + "requiredInputs": [ + "instanceName", + "project", + "username" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AlertMethodServicenow resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "instanceName": { + "type": "string", + "description": "ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials).\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "password": { + "type": "string", + "description": "ServiceNow password.\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "username": { + "type": "string", + "description": "ServiceNow username.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/alertMethodSlack:AlertMethodSlack": { + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "url": { + "type": "string", + "description": "Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22).\n" + } + }, + "required": [ + "name", + "project", + "url" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "url": { + "type": "string", + "description": "Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22).\n" + } + }, + "requiredInputs": [ + "project" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AlertMethodSlack resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "url": { + "type": "string", + "description": "Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22).\n" + } + }, + "type": "object" + } + }, + "nobl9:index/alertMethodWebhook:AlertMethodWebhook": { + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "template": { + "type": "string", + "description": "Webhook message template. See documentation for template format and samples.\n" + }, + "templateFields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields.\n" + }, + "url": { + "type": "string", + "description": "URL of the webhook endpoint.\n" + } + }, + "required": [ + "name", + "project", + "url" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "template": { + "type": "string", + "description": "Webhook message template. See documentation for template format and samples.\n" + }, + "templateFields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields.\n" + }, + "url": { + "type": "string", + "description": "URL of the webhook endpoint.\n" + } + }, + "requiredInputs": [ + "project" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AlertMethodWebhook resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "template": { + "type": "string", + "description": "Webhook message template. See documentation for template format and samples.\n" + }, + "templateFields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields.\n" + }, + "url": { + "type": "string", + "description": "URL of the webhook endpoint.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/alertPolicy:AlertPolicy": { + "description": "An **Alert Policy** expresses a set of conditions you want to track or monitor. The conditions for an Alert Policy define what is monitored and when to activate an alert: when the performance of your service is declining, Nobl9 will send a notification to a predefined channel.\n\nA Nobl9 AlertPolicy accepts up to 7 conditions. All the specified conditions must be satisfied to trigger an alert.\n\nFor more details, refer to the [Alert Policy configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#alertpolicy).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nHere's an example of Alert Policy resource configuration:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst thisProject = new nobl9.Project(\"thisProject\", {\n displayName: \"My Project\",\n description: \"An example N9 Terraform project\",\n});\nconst thisService = new nobl9.Service(\"thisService\", {\n project: thisProject.name,\n displayName: thisProject.displayName.apply(displayName =\u003e `${displayName} Front Page`),\n description: \"Front page service\",\n});\nconst thisAlertPolicy = new nobl9.AlertPolicy(\"thisAlertPolicy\", {\n project: thisProject.name,\n displayName: thisProject.displayName.apply(displayName =\u003e `${displayName} Front Page Latency`),\n severity: \"High\",\n description: \"Alert when page latency is \u003e 2000 and error budget would be exhausted\",\n conditions: [{\n measurement: \"timeToBurnBudget\",\n valueString: \"72h\",\n lastsFor: \"30m\",\n }],\n alertMethods: [{\n name: \"my-alert-method\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\nthis_project = nobl9.Project(\"thisProject\",\n display_name=\"My Project\",\n description=\"An example N9 Terraform project\")\nthis_service = nobl9.Service(\"thisService\",\n project=this_project.name,\n display_name=this_project.display_name.apply(lambda display_name: f\"{display_name} Front Page\"),\n description=\"Front page service\")\nthis_alert_policy = nobl9.AlertPolicy(\"thisAlertPolicy\",\n project=this_project.name,\n display_name=this_project.display_name.apply(lambda display_name: f\"{display_name} Front Page Latency\"),\n severity=\"High\",\n description=\"Alert when page latency is \u003e 2000 and error budget would be exhausted\",\n conditions=[nobl9.AlertPolicyConditionArgs(\n measurement=\"timeToBurnBudget\",\n value_string=\"72h\",\n lasts_for=\"30m\",\n )],\n alert_methods=[nobl9.AlertPolicyAlertMethodArgs(\n name=\"my-alert-method\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var thisProject = new Nobl9.Project(\"thisProject\", new()\n {\n DisplayName = \"My Project\",\n Description = \"An example N9 Terraform project\",\n });\n\n var thisService = new Nobl9.Service(\"thisService\", new()\n {\n Project = thisProject.Name,\n DisplayName = thisProject.DisplayName.Apply(displayName =\u003e $\"{displayName} Front Page\"),\n Description = \"Front page service\",\n });\n\n var thisAlertPolicy = new Nobl9.AlertPolicy(\"thisAlertPolicy\", new()\n {\n Project = thisProject.Name,\n DisplayName = thisProject.DisplayName.Apply(displayName =\u003e $\"{displayName} Front Page Latency\"),\n Severity = \"High\",\n Description = \"Alert when page latency is \u003e 2000 and error budget would be exhausted\",\n Conditions = new[]\n {\n new Nobl9.Inputs.AlertPolicyConditionArgs\n {\n Measurement = \"timeToBurnBudget\",\n ValueString = \"72h\",\n LastsFor = \"30m\",\n },\n },\n AlertMethods = new[]\n {\n new Nobl9.Inputs.AlertPolicyAlertMethodArgs\n {\n Name = \"my-alert-method\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\n\t\"github.com/pulumi/pulumi-nobl9/sdk/go/nobl9\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthisProject, err := nobl9.NewProject(ctx, \"thisProject\", \u0026nobl9.ProjectArgs{\n\t\t\tDisplayName: pulumi.String(\"My Project\"),\n\t\t\tDescription: pulumi.String(\"An example N9 Terraform project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nobl9.NewService(ctx, \"thisService\", \u0026nobl9.ServiceArgs{\n\t\t\tProject: thisProject.Name,\n\t\t\tDisplayName: thisProject.DisplayName.ApplyT(func(displayName string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v Front Page\", displayName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tDescription: pulumi.String(\"Front page service\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nobl9.NewAlertPolicy(ctx, \"thisAlertPolicy\", \u0026nobl9.AlertPolicyArgs{\n\t\t\tProject: thisProject.Name,\n\t\t\tDisplayName: thisProject.DisplayName.ApplyT(func(displayName string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v Front Page Latency\", displayName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tSeverity: pulumi.String(\"High\"),\n\t\t\tDescription: pulumi.String(\"Alert when page latency is \u003e 2000 and error budget would be exhausted\"),\n\t\t\tConditions: AlertPolicyConditionArray{\n\t\t\t\t\u0026AlertPolicyConditionArgs{\n\t\t\t\t\tMeasurement: pulumi.String(\"timeToBurnBudget\"),\n\t\t\t\t\tValueString: pulumi.String(\"72h\"),\n\t\t\t\t\tLastsFor: pulumi.String(\"30m\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlertMethods: AlertPolicyAlertMethodArray{\n\t\t\t\t\u0026AlertPolicyAlertMethodArgs{\n\t\t\t\t\tName: pulumi.String(\"my-alert-method\"),\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.nobl9.Project;\nimport com.pulumi.nobl9.ProjectArgs;\nimport com.pulumi.nobl9.Service;\nimport com.pulumi.nobl9.ServiceArgs;\nimport com.pulumi.nobl9.AlertPolicy;\nimport com.pulumi.nobl9.AlertPolicyArgs;\nimport com.pulumi.nobl9.inputs.AlertPolicyConditionArgs;\nimport com.pulumi.nobl9.inputs.AlertPolicyAlertMethodArgs;\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 thisProject = new Project(\"thisProject\", ProjectArgs.builder() \n .displayName(\"My Project\")\n .description(\"An example N9 Terraform project\")\n .build());\n\n var thisService = new Service(\"thisService\", ServiceArgs.builder() \n .project(thisProject.name())\n .displayName(thisProject.displayName().applyValue(displayName -\u003e String.format(\"%s Front Page\", displayName)))\n .description(\"Front page service\")\n .build());\n\n var thisAlertPolicy = new AlertPolicy(\"thisAlertPolicy\", AlertPolicyArgs.builder() \n .project(thisProject.name())\n .displayName(thisProject.displayName().applyValue(displayName -\u003e String.format(\"%s Front Page Latency\", displayName)))\n .severity(\"High\")\n .description(\"Alert when page latency is \u003e 2000 and error budget would be exhausted\")\n .conditions(AlertPolicyConditionArgs.builder()\n .measurement(\"timeToBurnBudget\")\n .valueString(\"72h\")\n .lastsFor(\"30m\")\n .build())\n .alertMethods(AlertPolicyAlertMethodArgs.builder()\n .name(\"my-alert-method\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n thisProject:\n type: nobl9:Project\n properties:\n displayName: My Project\n description: An example N9 Terraform project\n thisService:\n type: nobl9:Service\n properties:\n project: ${thisProject.name}\n displayName: ${thisProject.displayName} Front Page\n description: Front page service\n thisAlertPolicy:\n type: nobl9:AlertPolicy\n properties:\n project: ${thisProject.name}\n displayName: ${thisProject.displayName} Front Page Latency\n severity: High\n description: Alert when page latency is \u003e 2000 and error budget would be exhausted\n conditions:\n - measurement: timeToBurnBudget\n valueString: 72h\n lastsFor: 30m\n alertMethods:\n - name: my-alert-method\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Useful Links\n\n[Alert Policy configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#alertpolicy)\n", + "properties": { + "alertMethods": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/AlertPolicyAlertMethod:AlertPolicyAlertMethod" + } + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/AlertPolicyCondition:AlertPolicyCondition" + }, + "description": "Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy).\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "severity": { + "type": "string", + "description": "Alert severity. One of `Low` | `Medium` | `High`.\n" + } + }, + "required": [ + "conditions", + "name", + "project", + "severity" + ], + "inputProperties": { + "alertMethods": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/AlertPolicyAlertMethod:AlertPolicyAlertMethod" + } + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/AlertPolicyCondition:AlertPolicyCondition" + }, + "description": "Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy).\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "severity": { + "type": "string", + "description": "Alert severity. One of `Low` | `Medium` | `High`.\n" + } + }, + "requiredInputs": [ + "conditions", + "project", + "severity" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AlertPolicy resources.\n", + "properties": { + "alertMethods": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/AlertPolicyAlertMethod:AlertPolicyAlertMethod" + } + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/AlertPolicyCondition:AlertPolicyCondition" + }, + "description": "Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy).\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "severity": { + "type": "string", + "description": "Alert severity. One of `Low` | `Medium` | `High`.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directAppdynamics:DirectAppdynamics": { + "description": "AppDynamics is a performance management program for applications. It helps users to gain a comprehensive understanding of the impact of technical difficulties on business goals, allowing IT teams to prioritize their efforts in a way that improves ROI. Nobl9 connects with AppDynamics to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [AppDynamics Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-direct)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_appdynamics = new nobl9.DirectAppdynamics(\"test-appdynamics\", {\n accountName: \"account name\",\n clientName: \"client name\",\n clientSecret: \"secret\",\n description: \"desc\",\n project: \"terraform\",\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n url: \"https://web.net\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_appdynamics = nobl9.DirectAppdynamics(\"test-appdynamics\",\n account_name=\"account name\",\n client_name=\"client name\",\n client_secret=\"secret\",\n description=\"desc\",\n project=\"terraform\",\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ],\n url=\"https://web.net\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_appdynamics = new Nobl9.DirectAppdynamics(\"test-appdynamics\", new()\n {\n AccountName = \"account name\",\n ClientName = \"client name\",\n ClientSecret = \"secret\",\n Description = \"desc\",\n Project = \"terraform\",\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n Url = \"https://web.net\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectAppdynamics(ctx, \"test-appdynamics\", \u0026nobl9.DirectAppdynamicsArgs{\n\t\t\tAccountName: pulumi.String(\"account name\"),\n\t\t\tClientName: pulumi.String(\"client name\"),\n\t\t\tClientSecret: pulumi.String(\"secret\"),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"https://web.net\"),\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.nobl9.DirectAppdynamics;\nimport com.pulumi.nobl9.DirectAppdynamicsArgs;\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 test_appdynamics = new DirectAppdynamics(\"test-appdynamics\", DirectAppdynamicsArgs.builder() \n .accountName(\"account name\")\n .clientName(\"client name\")\n .clientSecret(\"secret\")\n .description(\"desc\")\n .project(\"terraform\")\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .url(\"https://web.net\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-appdynamics:\n type: nobl9:DirectAppdynamics\n properties:\n accountName: account name\n clientName: client name\n clientSecret: secret\n description: desc\n project: terraform\n sourceOfs:\n - Metrics\n - Services\n url: https://web.net\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "accountName": { + "type": "string", + "description": "AppDynamics Account Name.\n" + }, + "clientId": { + "type": "string", + "description": "AppDynamics Client ID.\n" + }, + "clientName": { + "type": "string", + "description": "AppDynamics Client Name.\n" + }, + "clientSecret": { + "type": "string", + "description": "[required] | AppDynamics Client Secret.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectAppdynamicsQueryDelay:DirectAppdynamicsQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + }, + "url": { + "type": "string", + "description": "Base URL to the AppDynamics Controller.\n" + } + }, + "required": [ + "accountName", + "clientId", + "clientName", + "clientSecret", + "name", + "project", + "sourceOfs", + "status", + "url" + ], + "inputProperties": { + "accountName": { + "type": "string", + "description": "AppDynamics Account Name.\n" + }, + "clientName": { + "type": "string", + "description": "AppDynamics Client Name.\n" + }, + "clientSecret": { + "type": "string", + "description": "[required] | AppDynamics Client Secret.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectAppdynamicsQueryDelay:DirectAppdynamicsQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "url": { + "type": "string", + "description": "Base URL to the AppDynamics Controller.\n" + } + }, + "requiredInputs": [ + "accountName", + "clientName", + "project", + "sourceOfs", + "url" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectAppdynamics resources.\n", + "properties": { + "accountName": { + "type": "string", + "description": "AppDynamics Account Name.\n" + }, + "clientId": { + "type": "string", + "description": "AppDynamics Client ID.\n" + }, + "clientName": { + "type": "string", + "description": "AppDynamics Client Name.\n" + }, + "clientSecret": { + "type": "string", + "description": "[required] | AppDynamics Client Secret.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectAppdynamicsQueryDelay:DirectAppdynamicsQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + }, + "url": { + "type": "string", + "description": "Base URL to the AppDynamics Controller.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directBigquery:DirectBigquery": { + "description": "Google BigQuery is a serverless data warehouse that enables scalable analysis over petabytes of data. It is a Platform as a Service that supports querying using ANSI SQL. BigQuery integration with Nobl9 enables users to turn their big data into valuable business insights. Nobl9 connects with BigQuery to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [BigQuery Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-direct)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_bigquery = new nobl9.DirectBigquery(\"test-bigquery\", {\n description: \"desc\",\n project: \"terraform\",\n serviceAccountKey: \"secret\",\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_bigquery = nobl9.DirectBigquery(\"test-bigquery\",\n description=\"desc\",\n project=\"terraform\",\n service_account_key=\"secret\",\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_bigquery = new Nobl9.DirectBigquery(\"test-bigquery\", new()\n {\n Description = \"desc\",\n Project = \"terraform\",\n ServiceAccountKey = \"secret\",\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectBigquery(ctx, \"test-bigquery\", \u0026nobl9.DirectBigqueryArgs{\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tServiceAccountKey: pulumi.String(\"secret\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\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.nobl9.DirectBigquery;\nimport com.pulumi.nobl9.DirectBigqueryArgs;\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 test_bigquery = new DirectBigquery(\"test-bigquery\", DirectBigqueryArgs.builder() \n .description(\"desc\")\n .project(\"terraform\")\n .serviceAccountKey(\"secret\")\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-bigquery:\n type: nobl9:DirectBigquery\n properties:\n description: desc\n project: terraform\n serviceAccountKey: secret\n sourceOfs:\n - Metrics\n - Services\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectBigqueryQueryDelay:DirectBigqueryQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "serviceAccountKey": { + "type": "string", + "description": "[required] | Service Account Key.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "required": [ + "name", + "project", + "serviceAccountKey", + "sourceOfs", + "status" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectBigqueryQueryDelay:DirectBigqueryQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "serviceAccountKey": { + "type": "string", + "description": "[required] | Service Account Key.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + } + }, + "requiredInputs": [ + "project", + "sourceOfs" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectBigquery resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectBigqueryQueryDelay:DirectBigqueryQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "serviceAccountKey": { + "type": "string", + "description": "[required] | Service Account Key.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directCloudwatch:DirectCloudwatch": { + "description": "Amazon CloudWatch is a monitoring and observability service and a repository that aggregates data from more than 70 AWS data sources. CloudWatch also allows users to publish custom metrics from their services. Creating SLOs using this data is a powerful tool to monitor large portfolios of products. Nobl9 connects with Amazon CloudWatch to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [Amazon CloudWatch Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-direct)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_cloudwatch = new nobl9.DirectCloudwatch(\"test-cloudwatch\", {\n accessKeyId: \"secret\",\n description: \"desc\",\n historicalDataRetrieval: {\n defaultDurations: [{\n unit: \"Day\",\n value: 0,\n }],\n maxDurations: [{\n unit: \"Day\",\n value: 15,\n }],\n },\n project: \"terraform\",\n secretAccessKey: \"secret\",\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_cloudwatch = nobl9.DirectCloudwatch(\"test-cloudwatch\",\n access_key_id=\"secret\",\n description=\"desc\",\n historical_data_retrieval=nobl9.DirectCloudwatchHistoricalDataRetrievalArgs(\n default_durations=[nobl9.DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs(\n unit=\"Day\",\n value=0,\n )],\n max_durations=[nobl9.DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs(\n unit=\"Day\",\n value=15,\n )],\n ),\n project=\"terraform\",\n secret_access_key=\"secret\",\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_cloudwatch = new Nobl9.DirectCloudwatch(\"test-cloudwatch\", new()\n {\n AccessKeyId = \"secret\",\n Description = \"desc\",\n HistoricalDataRetrieval = new Nobl9.Inputs.DirectCloudwatchHistoricalDataRetrievalArgs\n {\n DefaultDurations = new[]\n {\n new Nobl9.Inputs.DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs\n {\n Unit = \"Day\",\n Value = 0,\n },\n },\n MaxDurations = new[]\n {\n new Nobl9.Inputs.DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs\n {\n Unit = \"Day\",\n Value = 15,\n },\n },\n },\n Project = \"terraform\",\n SecretAccessKey = \"secret\",\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\n\t\"github.com/pulumi/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectCloudwatch(ctx, \"test-cloudwatch\", \u0026nobl9.DirectCloudwatchArgs{\n\t\t\tAccessKeyId: pulumi.String(\"secret\"),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tHistoricalDataRetrieval: \u0026DirectCloudwatchHistoricalDataRetrievalArgs{\n\t\t\t\tDefaultDurations: DirectCloudwatchHistoricalDataRetrievalDefaultDurationArray{\n\t\t\t\t\t\u0026DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs{\n\t\t\t\t\t\tUnit: pulumi.String(\"Day\"),\n\t\t\t\t\t\tValue: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMaxDurations: DirectCloudwatchHistoricalDataRetrievalMaxDurationArray{\n\t\t\t\t\t\u0026DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs{\n\t\t\t\t\t\tUnit: pulumi.String(\"Day\"),\n\t\t\t\t\t\tValue: pulumi.Int(15),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tSecretAccessKey: pulumi.String(\"secret\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\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.nobl9.DirectCloudwatch;\nimport com.pulumi.nobl9.DirectCloudwatchArgs;\nimport com.pulumi.nobl9.inputs.DirectCloudwatchHistoricalDataRetrievalArgs;\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 test_cloudwatch = new DirectCloudwatch(\"test-cloudwatch\", DirectCloudwatchArgs.builder() \n .accessKeyId(\"secret\")\n .description(\"desc\")\n .historicalDataRetrieval(DirectCloudwatchHistoricalDataRetrievalArgs.builder()\n .defaultDurations(DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs.builder()\n .unit(\"Day\")\n .value(0)\n .build())\n .maxDurations(DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs.builder()\n .unit(\"Day\")\n .value(15)\n .build())\n .build())\n .project(\"terraform\")\n .secretAccessKey(\"secret\")\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-cloudwatch:\n type: nobl9:DirectCloudwatch\n properties:\n accessKeyId: secret\n description: desc\n historicalDataRetrieval:\n defaultDurations:\n - unit: Day\n value: 0\n maxDurations:\n - unit: Day\n value: 15\n project: terraform\n secretAccessKey: secret\n sourceOfs:\n - Metrics\n - Services\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "accessKeyId": { + "type": "string", + "description": "[required] | AWS Access Key ID.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectCloudwatchHistoricalDataRetrieval:DirectCloudwatchHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectCloudwatchQueryDelay:DirectCloudwatchQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "secretAccessKey": { + "type": "string", + "description": "[required] | AWS Secret Access Key.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "required": [ + "accessKeyId", + "name", + "project", + "secretAccessKey", + "sourceOfs", + "status" + ], + "inputProperties": { + "accessKeyId": { + "type": "string", + "description": "[required] | AWS Access Key ID.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectCloudwatchHistoricalDataRetrieval:DirectCloudwatchHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectCloudwatchQueryDelay:DirectCloudwatchQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "secretAccessKey": { + "type": "string", + "description": "[required] | AWS Secret Access Key.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + } + }, + "requiredInputs": [ + "project", + "sourceOfs" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectCloudwatch resources.\n", + "properties": { + "accessKeyId": { + "type": "string", + "description": "[required] | AWS Access Key ID.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectCloudwatchHistoricalDataRetrieval:DirectCloudwatchHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectCloudwatchQueryDelay:DirectCloudwatchQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "secretAccessKey": { + "type": "string", + "description": "[required] | AWS Secret Access Key.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directDatadog:DirectDatadog": { + "description": "Datadog is a cloud-scale application observability solution that monitors servers, databases, tools, and services. Nobl9 connects with Datadog to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [Datadog Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/datadog#datadog-direct).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_datadog = new nobl9.DirectDatadog(\"test-datadog\", {\n apiKey: \"secret\",\n applicationKey: \"secret\",\n description: \"desc\",\n historicalDataRetrieval: {\n defaultDurations: [{\n unit: \"Day\",\n value: 0,\n }],\n maxDurations: [{\n unit: \"Day\",\n value: 30,\n }],\n },\n project: \"terraform\",\n site: \"eu\",\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_datadog = nobl9.DirectDatadog(\"test-datadog\",\n api_key=\"secret\",\n application_key=\"secret\",\n description=\"desc\",\n historical_data_retrieval=nobl9.DirectDatadogHistoricalDataRetrievalArgs(\n default_durations=[nobl9.DirectDatadogHistoricalDataRetrievalDefaultDurationArgs(\n unit=\"Day\",\n value=0,\n )],\n max_durations=[nobl9.DirectDatadogHistoricalDataRetrievalMaxDurationArgs(\n unit=\"Day\",\n value=30,\n )],\n ),\n project=\"terraform\",\n site=\"eu\",\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_datadog = new Nobl9.DirectDatadog(\"test-datadog\", new()\n {\n ApiKey = \"secret\",\n ApplicationKey = \"secret\",\n Description = \"desc\",\n HistoricalDataRetrieval = new Nobl9.Inputs.DirectDatadogHistoricalDataRetrievalArgs\n {\n DefaultDurations = new[]\n {\n new Nobl9.Inputs.DirectDatadogHistoricalDataRetrievalDefaultDurationArgs\n {\n Unit = \"Day\",\n Value = 0,\n },\n },\n MaxDurations = new[]\n {\n new Nobl9.Inputs.DirectDatadogHistoricalDataRetrievalMaxDurationArgs\n {\n Unit = \"Day\",\n Value = 30,\n },\n },\n },\n Project = \"terraform\",\n Site = \"eu\",\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\n\t\"github.com/pulumi/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectDatadog(ctx, \"test-datadog\", \u0026nobl9.DirectDatadogArgs{\n\t\t\tApiKey: pulumi.String(\"secret\"),\n\t\t\tApplicationKey: pulumi.String(\"secret\"),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tHistoricalDataRetrieval: \u0026DirectDatadogHistoricalDataRetrievalArgs{\n\t\t\t\tDefaultDurations: DirectDatadogHistoricalDataRetrievalDefaultDurationArray{\n\t\t\t\t\t\u0026DirectDatadogHistoricalDataRetrievalDefaultDurationArgs{\n\t\t\t\t\t\tUnit: pulumi.String(\"Day\"),\n\t\t\t\t\t\tValue: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMaxDurations: DirectDatadogHistoricalDataRetrievalMaxDurationArray{\n\t\t\t\t\t\u0026DirectDatadogHistoricalDataRetrievalMaxDurationArgs{\n\t\t\t\t\t\tUnit: pulumi.String(\"Day\"),\n\t\t\t\t\t\tValue: pulumi.Int(30),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tSite: pulumi.String(\"eu\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\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.nobl9.DirectDatadog;\nimport com.pulumi.nobl9.DirectDatadogArgs;\nimport com.pulumi.nobl9.inputs.DirectDatadogHistoricalDataRetrievalArgs;\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 test_datadog = new DirectDatadog(\"test-datadog\", DirectDatadogArgs.builder() \n .apiKey(\"secret\")\n .applicationKey(\"secret\")\n .description(\"desc\")\n .historicalDataRetrieval(DirectDatadogHistoricalDataRetrievalArgs.builder()\n .defaultDurations(DirectDatadogHistoricalDataRetrievalDefaultDurationArgs.builder()\n .unit(\"Day\")\n .value(0)\n .build())\n .maxDurations(DirectDatadogHistoricalDataRetrievalMaxDurationArgs.builder()\n .unit(\"Day\")\n .value(30)\n .build())\n .build())\n .project(\"terraform\")\n .site(\"eu\")\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-datadog:\n type: nobl9:DirectDatadog\n properties:\n apiKey: secret\n applicationKey: secret\n description: desc\n historicalDataRetrieval:\n defaultDurations:\n - unit: Day\n value: 0\n maxDurations:\n - unit: Day\n value: 30\n project: terraform\n site: eu\n sourceOfs:\n - Metrics\n - Services\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "apiKey": { + "type": "string", + "description": "[required] | Datadog API Key.\n" + }, + "applicationKey": { + "type": "string", + "description": "[required] | Datadog Application Key.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectDatadogHistoricalDataRetrieval:DirectDatadogHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectDatadogQueryDelay:DirectDatadogQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "site": { + "type": "string", + "description": "`com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union).\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "required": [ + "apiKey", + "applicationKey", + "name", + "project", + "site", + "sourceOfs", + "status" + ], + "inputProperties": { + "apiKey": { + "type": "string", + "description": "[required] | Datadog API Key.\n" + }, + "applicationKey": { + "type": "string", + "description": "[required] | Datadog Application Key.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectDatadogHistoricalDataRetrieval:DirectDatadogHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectDatadogQueryDelay:DirectDatadogQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "site": { + "type": "string", + "description": "`com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union).\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + } + }, + "requiredInputs": [ + "project", + "site", + "sourceOfs" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectDatadog resources.\n", + "properties": { + "apiKey": { + "type": "string", + "description": "[required] | Datadog API Key.\n" + }, + "applicationKey": { + "type": "string", + "description": "[required] | Datadog Application Key.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectDatadogHistoricalDataRetrieval:DirectDatadogHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectDatadogQueryDelay:DirectDatadogQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "site": { + "type": "string", + "description": "`com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union).\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directDynatrace:DirectDynatrace": { + "description": "Dynatrace is a software intelligence platform that monitors and optimizes application performance, development and security, IT infrastructure, and user experience. The Dynatrace Software Intelligence Platform maps, and monitors applications, microservices, container orchestration platforms such as Kubernetes, and IT infrastructure running in multi-cloud and hybrid-cloud environments, and provides automated problem remediation. Nobl9 connects with Dynatrace to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [Dynatrace Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-direct).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_dynatrace = new nobl9.DirectDynatrace(\"test-dynatrace\", {\n description: \"desc\",\n dynatraceToken: \"secret\",\n historicalDataRetrieval: {\n defaultDurations: [{\n unit: \"Day\",\n value: 1,\n }],\n maxDurations: [{\n unit: \"Day\",\n value: 10,\n }],\n },\n project: \"terraform\",\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n url: \"https://web.net\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_dynatrace = nobl9.DirectDynatrace(\"test-dynatrace\",\n description=\"desc\",\n dynatrace_token=\"secret\",\n historical_data_retrieval=nobl9.DirectDynatraceHistoricalDataRetrievalArgs(\n default_durations=[nobl9.DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs(\n unit=\"Day\",\n value=1,\n )],\n max_durations=[nobl9.DirectDynatraceHistoricalDataRetrievalMaxDurationArgs(\n unit=\"Day\",\n value=10,\n )],\n ),\n project=\"terraform\",\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ],\n url=\"https://web.net\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_dynatrace = new Nobl9.DirectDynatrace(\"test-dynatrace\", new()\n {\n Description = \"desc\",\n DynatraceToken = \"secret\",\n HistoricalDataRetrieval = new Nobl9.Inputs.DirectDynatraceHistoricalDataRetrievalArgs\n {\n DefaultDurations = new[]\n {\n new Nobl9.Inputs.DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs\n {\n Unit = \"Day\",\n Value = 1,\n },\n },\n MaxDurations = new[]\n {\n new Nobl9.Inputs.DirectDynatraceHistoricalDataRetrievalMaxDurationArgs\n {\n Unit = \"Day\",\n Value = 10,\n },\n },\n },\n Project = \"terraform\",\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n Url = \"https://web.net\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\n\t\"github.com/pulumi/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectDynatrace(ctx, \"test-dynatrace\", \u0026nobl9.DirectDynatraceArgs{\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tDynatraceToken: pulumi.String(\"secret\"),\n\t\t\tHistoricalDataRetrieval: \u0026DirectDynatraceHistoricalDataRetrievalArgs{\n\t\t\t\tDefaultDurations: DirectDynatraceHistoricalDataRetrievalDefaultDurationArray{\n\t\t\t\t\t\u0026DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs{\n\t\t\t\t\t\tUnit: pulumi.String(\"Day\"),\n\t\t\t\t\t\tValue: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMaxDurations: DirectDynatraceHistoricalDataRetrievalMaxDurationArray{\n\t\t\t\t\t\u0026DirectDynatraceHistoricalDataRetrievalMaxDurationArgs{\n\t\t\t\t\t\tUnit: pulumi.String(\"Day\"),\n\t\t\t\t\t\tValue: pulumi.Int(10),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"https://web.net\"),\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.nobl9.DirectDynatrace;\nimport com.pulumi.nobl9.DirectDynatraceArgs;\nimport com.pulumi.nobl9.inputs.DirectDynatraceHistoricalDataRetrievalArgs;\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 test_dynatrace = new DirectDynatrace(\"test-dynatrace\", DirectDynatraceArgs.builder() \n .description(\"desc\")\n .dynatraceToken(\"secret\")\n .historicalDataRetrieval(DirectDynatraceHistoricalDataRetrievalArgs.builder()\n .defaultDurations(DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs.builder()\n .unit(\"Day\")\n .value(1)\n .build())\n .maxDurations(DirectDynatraceHistoricalDataRetrievalMaxDurationArgs.builder()\n .unit(\"Day\")\n .value(10)\n .build())\n .build())\n .project(\"terraform\")\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .url(\"https://web.net\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-dynatrace:\n type: nobl9:DirectDynatrace\n properties:\n description: desc\n dynatraceToken: secret\n historicalDataRetrieval:\n defaultDurations:\n - unit: Day\n value: 1\n maxDurations:\n - unit: Day\n value: 10\n project: terraform\n sourceOfs:\n - Metrics\n - Services\n url: https://web.net\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "dynatraceToken": { + "type": "string", + "description": "[required] | Dynatrace Token.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectDynatraceHistoricalDataRetrieval:DirectDynatraceHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectDynatraceQueryDelay:DirectDynatraceQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + }, + "url": { + "type": "string", + "description": "Dynatrace API URL.\n" + } + }, + "required": [ + "dynatraceToken", + "name", + "project", + "sourceOfs", + "status", + "url" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "dynatraceToken": { + "type": "string", + "description": "[required] | Dynatrace Token.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectDynatraceHistoricalDataRetrieval:DirectDynatraceHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectDynatraceQueryDelay:DirectDynatraceQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "url": { + "type": "string", + "description": "Dynatrace API URL.\n" + } + }, + "requiredInputs": [ + "project", + "sourceOfs", + "url" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectDynatrace resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "dynatraceToken": { + "type": "string", + "description": "[required] | Dynatrace Token.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectDynatraceHistoricalDataRetrieval:DirectDynatraceHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectDynatraceQueryDelay:DirectDynatraceQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + }, + "url": { + "type": "string", + "description": "Dynatrace API URL.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directGcm:DirectGcm": { + "description": "Google Cloud Monitoring (GCM) provides visibility into the performance, uptime, and overall health of cloud-powered applications. It collects metrics, events, and metadata from Google Cloud, hosted uptime probes, and application instrumentation. Nobl9 connects with GCM to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [Google Cloud Monitoring Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-direct).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_gcm = new nobl9.DirectGcm(\"test-gcm\", {\n description: \"desc\",\n project: \"terraform\",\n serviceAccountKey: \"secret\",\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_gcm = nobl9.DirectGcm(\"test-gcm\",\n description=\"desc\",\n project=\"terraform\",\n service_account_key=\"secret\",\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_gcm = new Nobl9.DirectGcm(\"test-gcm\", new()\n {\n Description = \"desc\",\n Project = \"terraform\",\n ServiceAccountKey = \"secret\",\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectGcm(ctx, \"test-gcm\", \u0026nobl9.DirectGcmArgs{\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tServiceAccountKey: pulumi.String(\"secret\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\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.nobl9.DirectGcm;\nimport com.pulumi.nobl9.DirectGcmArgs;\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 test_gcm = new DirectGcm(\"test-gcm\", DirectGcmArgs.builder() \n .description(\"desc\")\n .project(\"terraform\")\n .serviceAccountKey(\"secret\")\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-gcm:\n type: nobl9:DirectGcm\n properties:\n description: desc\n project: terraform\n serviceAccountKey: secret\n sourceOfs:\n - Metrics\n - Services\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectGcmQueryDelay:DirectGcmQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "serviceAccountKey": { + "type": "string", + "description": "[required] | Service Account Key.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "required": [ + "name", + "project", + "serviceAccountKey", + "sourceOfs", + "status" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectGcmQueryDelay:DirectGcmQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "serviceAccountKey": { + "type": "string", + "description": "[required] | Service Account Key.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + } + }, + "requiredInputs": [ + "project", + "sourceOfs" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectGcm resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectGcmQueryDelay:DirectGcmQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "serviceAccountKey": { + "type": "string", + "description": "[required] | Service Account Key.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directInfluxdb:DirectInfluxdb": { + "description": "InfluxDB is an open source time series database platform that enables users to collect, process, and analyze data to optimize their infrastructure. Nobl9 connects with InfluxDB to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [InfluxDB Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-direct).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_influxdb = new nobl9.DirectInfluxdb(\"test-influxdb\", {\n apiToken: \"secret\",\n description: \"desc\",\n organizationId: \"secret\",\n project: \"terraform\",\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n url: \"https://web.net\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_influxdb = nobl9.DirectInfluxdb(\"test-influxdb\",\n api_token=\"secret\",\n description=\"desc\",\n organization_id=\"secret\",\n project=\"terraform\",\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ],\n url=\"https://web.net\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_influxdb = new Nobl9.DirectInfluxdb(\"test-influxdb\", new()\n {\n ApiToken = \"secret\",\n Description = \"desc\",\n OrganizationId = \"secret\",\n Project = \"terraform\",\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n Url = \"https://web.net\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectInfluxdb(ctx, \"test-influxdb\", \u0026nobl9.DirectInfluxdbArgs{\n\t\t\tApiToken: pulumi.String(\"secret\"),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tOrganizationId: pulumi.String(\"secret\"),\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"https://web.net\"),\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.nobl9.DirectInfluxdb;\nimport com.pulumi.nobl9.DirectInfluxdbArgs;\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 test_influxdb = new DirectInfluxdb(\"test-influxdb\", DirectInfluxdbArgs.builder() \n .apiToken(\"secret\")\n .description(\"desc\")\n .organizationId(\"secret\")\n .project(\"terraform\")\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .url(\"https://web.net\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-influxdb:\n type: nobl9:DirectInfluxdb\n properties:\n apiToken: secret\n description: desc\n organizationId: secret\n project: terraform\n sourceOfs:\n - Metrics\n - Services\n url: https://web.net\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "apiToken": { + "type": "string", + "description": "[required] | InfluxDB API Token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "organizationId": { + "type": "string", + "description": "[required] | InfluxDB Organization ID.\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectInfluxdbQueryDelay:DirectInfluxdbQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + }, + "url": { + "type": "string", + "description": "API URL endpoint to the InfluxDB's instance.\n" + } + }, + "required": [ + "apiToken", + "name", + "organizationId", + "project", + "sourceOfs", + "status", + "url" + ], + "inputProperties": { + "apiToken": { + "type": "string", + "description": "[required] | InfluxDB API Token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "organizationId": { + "type": "string", + "description": "[required] | InfluxDB Organization ID.\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectInfluxdbQueryDelay:DirectInfluxdbQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "url": { + "type": "string", + "description": "API URL endpoint to the InfluxDB's instance.\n" + } + }, + "requiredInputs": [ + "project", + "sourceOfs", + "url" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectInfluxdb resources.\n", + "properties": { + "apiToken": { + "type": "string", + "description": "[required] | InfluxDB API Token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "organizationId": { + "type": "string", + "description": "[required] | InfluxDB Organization ID.\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectInfluxdbQueryDelay:DirectInfluxdbQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + }, + "url": { + "type": "string", + "description": "API URL endpoint to the InfluxDB's instance.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directInstana:DirectInstana": { + "description": "Instana is an observability platform that delivers automated Application Performance Monitoring (APM), used for website, infrastructure, and application monitoring. Nobl9 connects with Instana to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [Instana Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/instana#instana-direct).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_instana = new nobl9.DirectInstana(\"test-instana\", {\n apiToken: \"secret\",\n description: \"desc\",\n project: \"terraform\",\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n url: \"https://web.net\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_instana = nobl9.DirectInstana(\"test-instana\",\n api_token=\"secret\",\n description=\"desc\",\n project=\"terraform\",\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ],\n url=\"https://web.net\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_instana = new Nobl9.DirectInstana(\"test-instana\", new()\n {\n ApiToken = \"secret\",\n Description = \"desc\",\n Project = \"terraform\",\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n Url = \"https://web.net\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectInstana(ctx, \"test-instana\", \u0026nobl9.DirectInstanaArgs{\n\t\t\tApiToken: pulumi.String(\"secret\"),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"https://web.net\"),\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.nobl9.DirectInstana;\nimport com.pulumi.nobl9.DirectInstanaArgs;\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 test_instana = new DirectInstana(\"test-instana\", DirectInstanaArgs.builder() \n .apiToken(\"secret\")\n .description(\"desc\")\n .project(\"terraform\")\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .url(\"https://web.net\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-instana:\n type: nobl9:DirectInstana\n properties:\n apiToken: secret\n description: desc\n project: terraform\n sourceOfs:\n - Metrics\n - Services\n url: https://web.net\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "apiToken": { + "type": "string", + "description": "[required] | Instana API Token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectInstanaQueryDelay:DirectInstanaQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + }, + "url": { + "type": "string", + "description": "Instana API URL.\n" + } + }, + "required": [ + "apiToken", + "name", + "project", + "sourceOfs", + "status", + "url" + ], + "inputProperties": { + "apiToken": { + "type": "string", + "description": "[required] | Instana API Token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectInstanaQueryDelay:DirectInstanaQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "url": { + "type": "string", + "description": "Instana API URL.\n" + } + }, + "requiredInputs": [ + "project", + "sourceOfs", + "url" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectInstana resources.\n", + "properties": { + "apiToken": { + "type": "string", + "description": "[required] | Instana API Token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectInstanaQueryDelay:DirectInstanaQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + }, + "url": { + "type": "string", + "description": "Instana API URL.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directLightstep:DirectLightstep": { + "description": "Lightstep is an observability platform that enables distributed tracing, that can be used to rapidly pinpoint the causes of failures and poor performance across the deeply complex dependencies among services, teams, and workloads in modern production systems. Nobl9 integration with Lightstep enables organizations to establish service level objectives from performance data captured through distributed traces in the Lightstep platform. Nobl9 connects with Lightstep to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [Lightstep Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-direct).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_lightstep = new nobl9.DirectLightstep(\"test-lightstep\", {\n appToken: \"secret\",\n description: \"desc\",\n historicalDataRetrieval: {\n defaultDurations: [{\n unit: \"Day\",\n value: 0,\n }],\n maxDurations: [{\n unit: \"Day\",\n value: 30,\n }],\n },\n lightstepOrganization: \"acme\",\n lightstepProject: \"project1\",\n project: \"terraform\",\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_lightstep = nobl9.DirectLightstep(\"test-lightstep\",\n app_token=\"secret\",\n description=\"desc\",\n historical_data_retrieval=nobl9.DirectLightstepHistoricalDataRetrievalArgs(\n default_durations=[nobl9.DirectLightstepHistoricalDataRetrievalDefaultDurationArgs(\n unit=\"Day\",\n value=0,\n )],\n max_durations=[nobl9.DirectLightstepHistoricalDataRetrievalMaxDurationArgs(\n unit=\"Day\",\n value=30,\n )],\n ),\n lightstep_organization=\"acme\",\n lightstep_project=\"project1\",\n project=\"terraform\",\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_lightstep = new Nobl9.DirectLightstep(\"test-lightstep\", new()\n {\n AppToken = \"secret\",\n Description = \"desc\",\n HistoricalDataRetrieval = new Nobl9.Inputs.DirectLightstepHistoricalDataRetrievalArgs\n {\n DefaultDurations = new[]\n {\n new Nobl9.Inputs.DirectLightstepHistoricalDataRetrievalDefaultDurationArgs\n {\n Unit = \"Day\",\n Value = 0,\n },\n },\n MaxDurations = new[]\n {\n new Nobl9.Inputs.DirectLightstepHistoricalDataRetrievalMaxDurationArgs\n {\n Unit = \"Day\",\n Value = 30,\n },\n },\n },\n LightstepOrganization = \"acme\",\n LightstepProject = \"project1\",\n Project = \"terraform\",\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\n\t\"github.com/pulumi/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectLightstep(ctx, \"test-lightstep\", \u0026nobl9.DirectLightstepArgs{\n\t\t\tAppToken: pulumi.String(\"secret\"),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tHistoricalDataRetrieval: \u0026DirectLightstepHistoricalDataRetrievalArgs{\n\t\t\t\tDefaultDurations: DirectLightstepHistoricalDataRetrievalDefaultDurationArray{\n\t\t\t\t\t\u0026DirectLightstepHistoricalDataRetrievalDefaultDurationArgs{\n\t\t\t\t\t\tUnit: pulumi.String(\"Day\"),\n\t\t\t\t\t\tValue: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMaxDurations: DirectLightstepHistoricalDataRetrievalMaxDurationArray{\n\t\t\t\t\t\u0026DirectLightstepHistoricalDataRetrievalMaxDurationArgs{\n\t\t\t\t\t\tUnit: pulumi.String(\"Day\"),\n\t\t\t\t\t\tValue: pulumi.Int(30),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLightstepOrganization: pulumi.String(\"acme\"),\n\t\t\tLightstepProject: pulumi.String(\"project1\"),\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\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.nobl9.DirectLightstep;\nimport com.pulumi.nobl9.DirectLightstepArgs;\nimport com.pulumi.nobl9.inputs.DirectLightstepHistoricalDataRetrievalArgs;\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 test_lightstep = new DirectLightstep(\"test-lightstep\", DirectLightstepArgs.builder() \n .appToken(\"secret\")\n .description(\"desc\")\n .historicalDataRetrieval(DirectLightstepHistoricalDataRetrievalArgs.builder()\n .defaultDurations(DirectLightstepHistoricalDataRetrievalDefaultDurationArgs.builder()\n .unit(\"Day\")\n .value(0)\n .build())\n .maxDurations(DirectLightstepHistoricalDataRetrievalMaxDurationArgs.builder()\n .unit(\"Day\")\n .value(30)\n .build())\n .build())\n .lightstepOrganization(\"acme\")\n .lightstepProject(\"project1\")\n .project(\"terraform\")\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-lightstep:\n type: nobl9:DirectLightstep\n properties:\n appToken: secret\n description: desc\n historicalDataRetrieval:\n defaultDurations:\n - unit: Day\n value: 0\n maxDurations:\n - unit: Day\n value: 30\n lightstepOrganization: acme\n lightstepProject: project1\n project: terraform\n sourceOfs:\n - Metrics\n - Services\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "appToken": { + "type": "string", + "description": "[required] | Lightstep App Token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectLightstepHistoricalDataRetrieval:DirectLightstepHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "lightstepOrganization": { + "type": "string", + "description": "Organization name registered in Lightstep.\n" + }, + "lightstepProject": { + "type": "string", + "description": "Name of the Lightstep project.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectLightstepQueryDelay:DirectLightstepQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "required": [ + "appToken", + "lightstepOrganization", + "lightstepProject", + "name", + "project", + "sourceOfs", + "status" + ], + "inputProperties": { + "appToken": { + "type": "string", + "description": "[required] | Lightstep App Token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectLightstepHistoricalDataRetrieval:DirectLightstepHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "lightstepOrganization": { + "type": "string", + "description": "Organization name registered in Lightstep.\n" + }, + "lightstepProject": { + "type": "string", + "description": "Name of the Lightstep project.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectLightstepQueryDelay:DirectLightstepQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + } + }, + "requiredInputs": [ + "lightstepOrganization", + "lightstepProject", + "project", + "sourceOfs" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectLightstep resources.\n", + "properties": { + "appToken": { + "type": "string", + "description": "[required] | Lightstep App Token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectLightstepHistoricalDataRetrieval:DirectLightstepHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "lightstepOrganization": { + "type": "string", + "description": "Organization name registered in Lightstep.\n" + }, + "lightstepProject": { + "type": "string", + "description": "Name of the Lightstep project.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectLightstepQueryDelay:DirectLightstepQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directNewrelic:DirectNewrelic": { + "description": "New Relic is a software solution that monitors performance and availability. It sets and rates application performance across the environment using a standardized Apdex (application performance index) score. Nobl9 connects with New Relic to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [New Relic Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-direct).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_newrelic = new nobl9.DirectNewrelic(\"test-newrelic\", {\n accountId: 1234,\n description: \"desc\",\n historicalDataRetrieval: {\n defaultDurations: [{\n unit: \"Day\",\n value: 0,\n }],\n maxDurations: [{\n unit: \"Day\",\n value: 30,\n }],\n },\n insightsQueryKey: \"secret\",\n project: \"terraform\",\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_newrelic = nobl9.DirectNewrelic(\"test-newrelic\",\n account_id=1234,\n description=\"desc\",\n historical_data_retrieval=nobl9.DirectNewrelicHistoricalDataRetrievalArgs(\n default_durations=[nobl9.DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs(\n unit=\"Day\",\n value=0,\n )],\n max_durations=[nobl9.DirectNewrelicHistoricalDataRetrievalMaxDurationArgs(\n unit=\"Day\",\n value=30,\n )],\n ),\n insights_query_key=\"secret\",\n project=\"terraform\",\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_newrelic = new Nobl9.DirectNewrelic(\"test-newrelic\", new()\n {\n AccountId = 1234,\n Description = \"desc\",\n HistoricalDataRetrieval = new Nobl9.Inputs.DirectNewrelicHistoricalDataRetrievalArgs\n {\n DefaultDurations = new[]\n {\n new Nobl9.Inputs.DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs\n {\n Unit = \"Day\",\n Value = 0,\n },\n },\n MaxDurations = new[]\n {\n new Nobl9.Inputs.DirectNewrelicHistoricalDataRetrievalMaxDurationArgs\n {\n Unit = \"Day\",\n Value = 30,\n },\n },\n },\n InsightsQueryKey = \"secret\",\n Project = \"terraform\",\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\n\t\"github.com/pulumi/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectNewrelic(ctx, \"test-newrelic\", \u0026nobl9.DirectNewrelicArgs{\n\t\t\tAccountId: pulumi.Int(1234),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tHistoricalDataRetrieval: \u0026DirectNewrelicHistoricalDataRetrievalArgs{\n\t\t\t\tDefaultDurations: DirectNewrelicHistoricalDataRetrievalDefaultDurationArray{\n\t\t\t\t\t\u0026DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs{\n\t\t\t\t\t\tUnit: pulumi.String(\"Day\"),\n\t\t\t\t\t\tValue: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMaxDurations: DirectNewrelicHistoricalDataRetrievalMaxDurationArray{\n\t\t\t\t\t\u0026DirectNewrelicHistoricalDataRetrievalMaxDurationArgs{\n\t\t\t\t\t\tUnit: pulumi.String(\"Day\"),\n\t\t\t\t\t\tValue: pulumi.Int(30),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInsightsQueryKey: pulumi.String(\"secret\"),\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\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.nobl9.DirectNewrelic;\nimport com.pulumi.nobl9.DirectNewrelicArgs;\nimport com.pulumi.nobl9.inputs.DirectNewrelicHistoricalDataRetrievalArgs;\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 test_newrelic = new DirectNewrelic(\"test-newrelic\", DirectNewrelicArgs.builder() \n .accountId(\"1234\")\n .description(\"desc\")\n .historicalDataRetrieval(DirectNewrelicHistoricalDataRetrievalArgs.builder()\n .defaultDurations(DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs.builder()\n .unit(\"Day\")\n .value(0)\n .build())\n .maxDurations(DirectNewrelicHistoricalDataRetrievalMaxDurationArgs.builder()\n .unit(\"Day\")\n .value(30)\n .build())\n .build())\n .insightsQueryKey(\"secret\")\n .project(\"terraform\")\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-newrelic:\n type: nobl9:DirectNewrelic\n properties:\n accountId: 1234\n description: desc\n historicalDataRetrieval:\n defaultDurations:\n - unit: Day\n value: 0\n maxDurations:\n - unit: Day\n value: 30\n insightsQueryKey: secret\n project: terraform\n sourceOfs:\n - Metrics\n - Services\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "accountId": { + "type": "integer", + "description": "ID number assigned to the New Relic user account.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectNewrelicHistoricalDataRetrieval:DirectNewrelicHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "insightsQueryKey": { + "type": "string", + "description": "[required] | New Relic Insights Query Key.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectNewrelicQueryDelay:DirectNewrelicQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "required": [ + "accountId", + "insightsQueryKey", + "name", + "project", + "sourceOfs", + "status" + ], + "inputProperties": { + "accountId": { + "type": "integer", + "description": "ID number assigned to the New Relic user account.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectNewrelicHistoricalDataRetrieval:DirectNewrelicHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "insightsQueryKey": { + "type": "string", + "description": "[required] | New Relic Insights Query Key.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectNewrelicQueryDelay:DirectNewrelicQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + } + }, + "requiredInputs": [ + "accountId", + "project", + "sourceOfs" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectNewrelic resources.\n", + "properties": { + "accountId": { + "type": "integer", + "description": "ID number assigned to the New Relic user account.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectNewrelicHistoricalDataRetrieval:DirectNewrelicHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "insightsQueryKey": { + "type": "string", + "description": "[required] | New Relic Insights Query Key.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectNewrelicQueryDelay:DirectNewrelicQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directPingdom:DirectPingdom": { + "description": "Pingdom is a website monitoring software solution that gives users real-time, quality insights into the uptime and performance of their websites. After adding Pingdom as a data source in Nobl9, users can configure SLOs to check the overall performance status of their sites. Nobl9 connects with Pingdom to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [Pingdom Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-direct).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_pingdom = new nobl9.DirectPingdom(\"test-pingdom\", {\n apiToken: \"secret\",\n description: \"desc\",\n project: \"terraform\",\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_pingdom = nobl9.DirectPingdom(\"test-pingdom\",\n api_token=\"secret\",\n description=\"desc\",\n project=\"terraform\",\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_pingdom = new Nobl9.DirectPingdom(\"test-pingdom\", new()\n {\n ApiToken = \"secret\",\n Description = \"desc\",\n Project = \"terraform\",\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectPingdom(ctx, \"test-pingdom\", \u0026nobl9.DirectPingdomArgs{\n\t\t\tApiToken: pulumi.String(\"secret\"),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\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.nobl9.DirectPingdom;\nimport com.pulumi.nobl9.DirectPingdomArgs;\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 test_pingdom = new DirectPingdom(\"test-pingdom\", DirectPingdomArgs.builder() \n .apiToken(\"secret\")\n .description(\"desc\")\n .project(\"terraform\")\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-pingdom:\n type: nobl9:DirectPingdom\n properties:\n apiToken: secret\n description: desc\n project: terraform\n sourceOfs:\n - Metrics\n - Services\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "apiToken": { + "type": "string", + "description": "[required] | Pingdom API token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectPingdomQueryDelay:DirectPingdomQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "required": [ + "apiToken", + "name", + "project", + "sourceOfs", + "status" + ], + "inputProperties": { + "apiToken": { + "type": "string", + "description": "[required] | Pingdom API token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectPingdomQueryDelay:DirectPingdomQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + } + }, + "requiredInputs": [ + "project", + "sourceOfs" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectPingdom resources.\n", + "properties": { + "apiToken": { + "type": "string", + "description": "[required] | Pingdom API token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectPingdomQueryDelay:DirectPingdomQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directRedshift:DirectRedshift": { + "description": "Amazon Redshift is a managed scalable database warehouse where Nobl9 users can store their metrics information. Nobl9 connects with Amazon Redshift to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [Amazon Redshift Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-direct).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_redshift = new nobl9.DirectRedshift(\"test-redshift\", {\n accessKeyId: \"secret\",\n description: \"desc\",\n project: \"terraform\",\n secretAccessKey: \"secret\",\n secretArn: \"aws:arn\",\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_redshift = nobl9.DirectRedshift(\"test-redshift\",\n access_key_id=\"secret\",\n description=\"desc\",\n project=\"terraform\",\n secret_access_key=\"secret\",\n secret_arn=\"aws:arn\",\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_redshift = new Nobl9.DirectRedshift(\"test-redshift\", new()\n {\n AccessKeyId = \"secret\",\n Description = \"desc\",\n Project = \"terraform\",\n SecretAccessKey = \"secret\",\n SecretArn = \"aws:arn\",\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectRedshift(ctx, \"test-redshift\", \u0026nobl9.DirectRedshiftArgs{\n\t\t\tAccessKeyId: pulumi.String(\"secret\"),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tSecretAccessKey: pulumi.String(\"secret\"),\n\t\t\tSecretArn: pulumi.String(\"aws:arn\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\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.nobl9.DirectRedshift;\nimport com.pulumi.nobl9.DirectRedshiftArgs;\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 test_redshift = new DirectRedshift(\"test-redshift\", DirectRedshiftArgs.builder() \n .accessKeyId(\"secret\")\n .description(\"desc\")\n .project(\"terraform\")\n .secretAccessKey(\"secret\")\n .secretArn(\"aws:arn\")\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-redshift:\n type: nobl9:DirectRedshift\n properties:\n accessKeyId: secret\n description: desc\n project: terraform\n secretAccessKey: secret\n secretArn: aws:arn\n sourceOfs:\n - Metrics\n - Services\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "accessKeyId": { + "type": "string", + "description": "[required] | AWS Access Key ID.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectRedshiftQueryDelay:DirectRedshiftQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "secretAccessKey": { + "type": "string", + "description": "[required] | AWS Secret Access Key.\n" + }, + "secretArn": { + "type": "string", + "description": "AWS Secret ARN.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "required": [ + "accessKeyId", + "name", + "project", + "secretAccessKey", + "secretArn", + "sourceOfs", + "status" + ], + "inputProperties": { + "accessKeyId": { + "type": "string", + "description": "[required] | AWS Access Key ID.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectRedshiftQueryDelay:DirectRedshiftQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "secretAccessKey": { + "type": "string", + "description": "[required] | AWS Secret Access Key.\n" + }, + "secretArn": { + "type": "string", + "description": "AWS Secret ARN.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + } + }, + "requiredInputs": [ + "project", + "sourceOfs" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectRedshift resources.\n", + "properties": { + "accessKeyId": { + "type": "string", + "description": "[required] | AWS Access Key ID.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectRedshiftQueryDelay:DirectRedshiftQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "secretAccessKey": { + "type": "string", + "description": "[required] | AWS Secret Access Key.\n" + }, + "secretArn": { + "type": "string", + "description": "AWS Secret ARN.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directSplunk:DirectSplunk": { + "description": "Splunk provides software for searching, monitoring, and analyzing machine-generated data via a Web-style interface. Nobl9 connects with Splunk to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [Splunk Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/splunk#splunk-direct).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_splunk = new nobl9.DirectSplunk(\"test-splunk\", {\n accessToken: \"secret\",\n description: \"desc\",\n historicalDataRetrieval: {\n defaultDurations: [{\n unit: \"Day\",\n value: 0,\n }],\n maxDurations: [{\n unit: \"Day\",\n value: 30,\n }],\n },\n project: \"terraform\",\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n url: \"https://web.net\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_splunk = nobl9.DirectSplunk(\"test-splunk\",\n access_token=\"secret\",\n description=\"desc\",\n historical_data_retrieval=nobl9.DirectSplunkHistoricalDataRetrievalArgs(\n default_durations=[nobl9.DirectSplunkHistoricalDataRetrievalDefaultDurationArgs(\n unit=\"Day\",\n value=0,\n )],\n max_durations=[nobl9.DirectSplunkHistoricalDataRetrievalMaxDurationArgs(\n unit=\"Day\",\n value=30,\n )],\n ),\n project=\"terraform\",\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ],\n url=\"https://web.net\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_splunk = new Nobl9.DirectSplunk(\"test-splunk\", new()\n {\n AccessToken = \"secret\",\n Description = \"desc\",\n HistoricalDataRetrieval = new Nobl9.Inputs.DirectSplunkHistoricalDataRetrievalArgs\n {\n DefaultDurations = new[]\n {\n new Nobl9.Inputs.DirectSplunkHistoricalDataRetrievalDefaultDurationArgs\n {\n Unit = \"Day\",\n Value = 0,\n },\n },\n MaxDurations = new[]\n {\n new Nobl9.Inputs.DirectSplunkHistoricalDataRetrievalMaxDurationArgs\n {\n Unit = \"Day\",\n Value = 30,\n },\n },\n },\n Project = \"terraform\",\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n Url = \"https://web.net\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\n\t\"github.com/pulumi/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectSplunk(ctx, \"test-splunk\", \u0026nobl9.DirectSplunkArgs{\n\t\t\tAccessToken: pulumi.String(\"secret\"),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tHistoricalDataRetrieval: \u0026DirectSplunkHistoricalDataRetrievalArgs{\n\t\t\t\tDefaultDurations: DirectSplunkHistoricalDataRetrievalDefaultDurationArray{\n\t\t\t\t\t\u0026DirectSplunkHistoricalDataRetrievalDefaultDurationArgs{\n\t\t\t\t\t\tUnit: pulumi.String(\"Day\"),\n\t\t\t\t\t\tValue: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMaxDurations: DirectSplunkHistoricalDataRetrievalMaxDurationArray{\n\t\t\t\t\t\u0026DirectSplunkHistoricalDataRetrievalMaxDurationArgs{\n\t\t\t\t\t\tUnit: pulumi.String(\"Day\"),\n\t\t\t\t\t\tValue: pulumi.Int(30),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"https://web.net\"),\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.nobl9.DirectSplunk;\nimport com.pulumi.nobl9.DirectSplunkArgs;\nimport com.pulumi.nobl9.inputs.DirectSplunkHistoricalDataRetrievalArgs;\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 test_splunk = new DirectSplunk(\"test-splunk\", DirectSplunkArgs.builder() \n .accessToken(\"secret\")\n .description(\"desc\")\n .historicalDataRetrieval(DirectSplunkHistoricalDataRetrievalArgs.builder()\n .defaultDurations(DirectSplunkHistoricalDataRetrievalDefaultDurationArgs.builder()\n .unit(\"Day\")\n .value(0)\n .build())\n .maxDurations(DirectSplunkHistoricalDataRetrievalMaxDurationArgs.builder()\n .unit(\"Day\")\n .value(30)\n .build())\n .build())\n .project(\"terraform\")\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .url(\"https://web.net\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-splunk:\n type: nobl9:DirectSplunk\n properties:\n accessToken: secret\n description: desc\n historicalDataRetrieval:\n defaultDurations:\n - unit: Day\n value: 0\n maxDurations:\n - unit: Day\n value: 30\n project: terraform\n sourceOfs:\n - Metrics\n - Services\n url: https://web.net\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "accessToken": { + "type": "string", + "description": "[required] | Splunk API Access Token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectSplunkHistoricalDataRetrieval:DirectSplunkHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectSplunkQueryDelay:DirectSplunkQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + }, + "url": { + "type": "string", + "description": "Base API URL to the Splunk Search app.\n" + } + }, + "required": [ + "accessToken", + "name", + "project", + "sourceOfs", + "status", + "url" + ], + "inputProperties": { + "accessToken": { + "type": "string", + "description": "[required] | Splunk API Access Token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectSplunkHistoricalDataRetrieval:DirectSplunkHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectSplunkQueryDelay:DirectSplunkQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "url": { + "type": "string", + "description": "Base API URL to the Splunk Search app.\n" + } + }, + "requiredInputs": [ + "project", + "sourceOfs", + "url" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectSplunk resources.\n", + "properties": { + "accessToken": { + "type": "string", + "description": "[required] | Splunk API Access Token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "historicalDataRetrieval": { + "$ref": "#/types/nobl9:index/DirectSplunkHistoricalDataRetrieval:DirectSplunkHistoricalDataRetrieval", + "description": "[Replay configuration documentation](https://docs.nobl9.com/replay)\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectSplunkQueryDelay:DirectSplunkQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + }, + "url": { + "type": "string", + "description": "Base API URL to the Splunk Search app.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directSplunkObservability:DirectSplunkObservability": { + "description": "Splunk Observability allows users to search, monitor, and analyze machine-generated big data. Splunk Observability enables collecting and monitoring metrics, logs, and traces from common data sources. Data collection and monitoring in one place enables full-stack, end-to-end observability of the entire infrastructure. Nobl9 connects with Splunk Observability to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [Splunk Observability Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-direct).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_splunkobservability = new nobl9.DirectSplunkObservability(\"test-splunkobservability\", {\n accessToken: \"secret\",\n description: \"desc\",\n project: \"terraform\",\n realm: \"eu\",\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_splunkobservability = nobl9.DirectSplunkObservability(\"test-splunkobservability\",\n access_token=\"secret\",\n description=\"desc\",\n project=\"terraform\",\n realm=\"eu\",\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_splunkobservability = new Nobl9.DirectSplunkObservability(\"test-splunkobservability\", new()\n {\n AccessToken = \"secret\",\n Description = \"desc\",\n Project = \"terraform\",\n Realm = \"eu\",\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectSplunkObservability(ctx, \"test-splunkobservability\", \u0026nobl9.DirectSplunkObservabilityArgs{\n\t\t\tAccessToken: pulumi.String(\"secret\"),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tRealm: pulumi.String(\"eu\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\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.nobl9.DirectSplunkObservability;\nimport com.pulumi.nobl9.DirectSplunkObservabilityArgs;\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 test_splunkobservability = new DirectSplunkObservability(\"test-splunkobservability\", DirectSplunkObservabilityArgs.builder() \n .accessToken(\"secret\")\n .description(\"desc\")\n .project(\"terraform\")\n .realm(\"eu\")\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-splunkobservability:\n type: nobl9:DirectSplunkObservability\n properties:\n accessToken: secret\n description: desc\n project: terraform\n realm: eu\n sourceOfs:\n - Metrics\n - Services\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "accessToken": { + "type": "string", + "description": "[required] | Splunk API Access Token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectSplunkObservabilityQueryDelay:DirectSplunkObservabilityQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "realm": { + "type": "string", + "description": "SplunkObservability Realm.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "required": [ + "accessToken", + "name", + "project", + "realm", + "sourceOfs", + "status" + ], + "inputProperties": { + "accessToken": { + "type": "string", + "description": "[required] | Splunk API Access Token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectSplunkObservabilityQueryDelay:DirectSplunkObservabilityQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "realm": { + "type": "string", + "description": "SplunkObservability Realm.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + } + }, + "requiredInputs": [ + "project", + "realm", + "sourceOfs" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectSplunkObservability resources.\n", + "properties": { + "accessToken": { + "type": "string", + "description": "[required] | Splunk API Access Token.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectSplunkObservabilityQueryDelay:DirectSplunkObservabilityQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "realm": { + "type": "string", + "description": "SplunkObservability Realm.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directSumologic:DirectSumologic": { + "description": "Sumo Logic is an observability platform that provides visibility into AWS, Azure, and GCP cloud applications and infrastructure. Nobl9 connects with Sumo Logic to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [Sumo Logic Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-direct).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_sumologic = new nobl9.DirectSumologic(\"test-sumologic\", {\n accessId: \"secret\",\n accessKey: \"secret\",\n description: \"desc\",\n project: \"terraform\",\n sourceOfs: [\"Metrics\"],\n url: \"http://web.net\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_sumologic = nobl9.DirectSumologic(\"test-sumologic\",\n access_id=\"secret\",\n access_key=\"secret\",\n description=\"desc\",\n project=\"terraform\",\n source_ofs=[\"Metrics\"],\n url=\"http://web.net\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_sumologic = new Nobl9.DirectSumologic(\"test-sumologic\", new()\n {\n AccessId = \"secret\",\n AccessKey = \"secret\",\n Description = \"desc\",\n Project = \"terraform\",\n SourceOfs = new[]\n {\n \"Metrics\",\n },\n Url = \"http://web.net\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectSumologic(ctx, \"test-sumologic\", \u0026nobl9.DirectSumologicArgs{\n\t\t\tAccessId: pulumi.String(\"secret\"),\n\t\t\tAccessKey: pulumi.String(\"secret\"),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"http://web.net\"),\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.nobl9.DirectSumologic;\nimport com.pulumi.nobl9.DirectSumologicArgs;\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 test_sumologic = new DirectSumologic(\"test-sumologic\", DirectSumologicArgs.builder() \n .accessId(\"secret\")\n .accessKey(\"secret\")\n .description(\"desc\")\n .project(\"terraform\")\n .sourceOfs(\"Metrics\")\n .url(\"http://web.net\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-sumologic:\n type: nobl9:DirectSumologic\n properties:\n accessId: secret\n accessKey: secret\n description: desc\n project: terraform\n sourceOfs:\n - Metrics\n url: http://web.net\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "accessId": { + "type": "string", + "description": "[required] | Sumo Logic API Access ID.\n" + }, + "accessKey": { + "type": "string", + "description": "[required] | Sumo Logic API Access Key.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectSumologicQueryDelay:DirectSumologicQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + }, + "url": { + "type": "string", + "description": "Sumo Logic API URL.\n" + } + }, + "required": [ + "accessId", + "accessKey", + "name", + "project", + "sourceOfs", + "status", + "url" + ], + "inputProperties": { + "accessId": { + "type": "string", + "description": "[required] | Sumo Logic API Access ID.\n" + }, + "accessKey": { + "type": "string", + "description": "[required] | Sumo Logic API Access Key.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectSumologicQueryDelay:DirectSumologicQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "url": { + "type": "string", + "description": "Sumo Logic API URL.\n" + } + }, + "requiredInputs": [ + "project", + "sourceOfs", + "url" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectSumologic resources.\n", + "properties": { + "accessId": { + "type": "string", + "description": "[required] | Sumo Logic API Access ID.\n" + }, + "accessKey": { + "type": "string", + "description": "[required] | Sumo Logic API Access Key.\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectSumologicQueryDelay:DirectSumologicQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + }, + "url": { + "type": "string", + "description": "Sumo Logic API URL.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/directThousandeyes:DirectThousandeyes": { + "description": "ThousandEyes monitors the performance of both local and wide-area networks. ThousandEyes combines Internet and WAN visibility, browser synthetics, end-user monitoring, and Internet Insights to deliver a holistic view of your hybrid digital ecosystem – across cloud, SaaS, and the Internet. It's a SaaS-based tool that helps troubleshoot application delivery and maps Internet performance. Nobl9 connects with ThousandEyes to collect SLI measurements and compare them to SLO targets.\n\nFor more information, refer to [ThousandEyes Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-direct).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst test_thousandeyes = new nobl9.DirectThousandeyes(\"test-thousandeyes\", {\n description: \"desc\",\n oauthBearerToken: \"secret\",\n project: \"terraform\",\n sourceOfs: [\n \"Metrics\",\n \"Services\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\ntest_thousandeyes = nobl9.DirectThousandeyes(\"test-thousandeyes\",\n description=\"desc\",\n oauth_bearer_token=\"secret\",\n project=\"terraform\",\n source_ofs=[\n \"Metrics\",\n \"Services\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test_thousandeyes = new Nobl9.DirectThousandeyes(\"test-thousandeyes\", new()\n {\n Description = \"desc\",\n OauthBearerToken = \"secret\",\n Project = \"terraform\",\n SourceOfs = new[]\n {\n \"Metrics\",\n \"Services\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewDirectThousandeyes(ctx, \"test-thousandeyes\", \u0026nobl9.DirectThousandeyesArgs{\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tOauthBearerToken: pulumi.String(\"secret\"),\n\t\t\tProject: pulumi.String(\"terraform\"),\n\t\t\tSourceOfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Metrics\"),\n\t\t\t\tpulumi.String(\"Services\"),\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.nobl9.DirectThousandeyes;\nimport com.pulumi.nobl9.DirectThousandeyesArgs;\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 test_thousandeyes = new DirectThousandeyes(\"test-thousandeyes\", DirectThousandeyesArgs.builder() \n .description(\"desc\")\n .oauthBearerToken(\"secret\")\n .project(\"terraform\")\n .sourceOfs( \n \"Metrics\",\n \"Services\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test-thousandeyes:\n type: nobl9:DirectThousandeyes\n properties:\n description: desc\n oauthBearerToken: secret\n project: terraform\n sourceOfs:\n - Metrics\n - Services\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "oauthBearerToken": { + "type": "string", + "description": "[required] | ThousandEyes OAuth Bearer Token.\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectThousandeyesQueryDelay:DirectThousandeyesQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "required": [ + "name", + "oauthBearerToken", + "project", + "sourceOfs", + "status" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "oauthBearerToken": { + "type": "string", + "description": "[required] | ThousandEyes OAuth Bearer Token.\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectThousandeyesQueryDelay:DirectThousandeyesQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + } + }, + "requiredInputs": [ + "project", + "sourceOfs" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DirectThousandeyes resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "oauthBearerToken": { + "type": "string", + "description": "[required] | ThousandEyes OAuth Bearer Token.\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "queryDelay": { + "$ref": "#/types/nobl9:index/DirectThousandeyesQueryDelay:DirectThousandeyesQueryDelay", + "description": "[Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided.\n" + }, + "sourceOfs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Source of Metrics and/or Services.\n" + }, + "status": { + "type": "string", + "description": "The status of the created direct.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/project:Project": { + "description": "**Projects** are the primary logical grouping of resources in the Nobl9 platform. All Nobl9 resources, such as data sources, SLOs, and alerts, are created within a project.\n\nAccess controls at the project level enable users to control who can see and change these resources. For example, you can allow all of your users to view the SLOs in a given project, but only a few users to make changes.\n\nFor more details, refer to [Project configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#project).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nHere's an example of Project resource configuration:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst thisProject = new nobl9.Project(\"this\", {\n description: \"An example N9 Terraform project\",\n displayName: \"My Project\",\n labels: [\n {\n key: \"env\",\n values: [\n \"dev\",\n \"prod\",\n ],\n },\n {\n key: \"team\",\n values: [\"red\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\nthis = nobl9.Project(\"this\",\n description=\"An example N9 Terraform project\",\n display_name=\"My Project\",\n labels=[\n nobl9.ProjectLabelArgs(\n key=\"env\",\n values=[\n \"dev\",\n \"prod\",\n ],\n ),\n nobl9.ProjectLabelArgs(\n key=\"team\",\n values=[\"red\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Nobl9.Project(\"this\", new()\n {\n Description = \"An example N9 Terraform project\",\n DisplayName = \"My Project\",\n Labels = new[]\n {\n new Nobl9.Inputs.ProjectLabelArgs\n {\n Key = \"env\",\n Values = new[]\n {\n \"dev\",\n \"prod\",\n },\n },\n new Nobl9.Inputs.ProjectLabelArgs\n {\n Key = \"team\",\n Values = new[]\n {\n \"red\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\n\t\"github.com/pulumi/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewProject(ctx, \"this\", \u0026nobl9.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"An example N9 Terraform project\"),\n\t\t\tDisplayName: pulumi.String(\"My Project\"),\n\t\t\tLabels: ProjectLabelArray{\n\t\t\t\t\u0026ProjectLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"env\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026ProjectLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"team\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"red\"),\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.nobl9.Project;\nimport com.pulumi.nobl9.ProjectArgs;\nimport com.pulumi.nobl9.inputs.ProjectLabelArgs;\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 this_ = new Project(\"this\", ProjectArgs.builder() \n .description(\"An example N9 Terraform project\")\n .displayName(\"My Project\")\n .labels( \n ProjectLabelArgs.builder()\n .key(\"env\")\n .values( \n \"dev\",\n \"prod\")\n .build(),\n ProjectLabelArgs.builder()\n .key(\"team\")\n .values(\"red\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: nobl9:Project\n properties:\n description: An example N9 Terraform project\n displayName: My Project\n labels:\n - key: env\n values:\n - dev\n - prod\n - key: team\n values:\n - red\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Useful Links\n\n[Projects in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/#projects)\n\n[Projects YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#project)\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/ProjectLabel:ProjectLabel" + }, + "description": "[Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + } + }, + "required": [ + "name" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/ProjectLabel:ProjectLabel" + }, + "description": "[Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering Project resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/ProjectLabel:ProjectLabel" + }, + "description": "[Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "nobl9:index/roleBinding:RoleBinding": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\nHere's an example of RBAC resource configuration:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst thisRoleBinding = new nobl9.RoleBinding(\"this\", {\n projectRef: \"1234567890asdfghjkl\",\n roleRef: \"project-owner\",\n user: \"1234567890asdfghjkl\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\nthis = nobl9.RoleBinding(\"this\",\n project_ref=\"1234567890asdfghjkl\",\n role_ref=\"project-owner\",\n user=\"1234567890asdfghjkl\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Nobl9.RoleBinding(\"this\", new()\n {\n ProjectRef = \"1234567890asdfghjkl\",\n RoleRef = \"project-owner\",\n User = \"1234567890asdfghjkl\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\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 := nobl9.NewRoleBinding(ctx, \"this\", \u0026nobl9.RoleBindingArgs{\n\t\t\tProjectRef: pulumi.String(\"1234567890asdfghjkl\"),\n\t\t\tRoleRef: pulumi.String(\"project-owner\"),\n\t\t\tUser: pulumi.String(\"1234567890asdfghjkl\"),\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.nobl9.RoleBinding;\nimport com.pulumi.nobl9.RoleBindingArgs;\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 this_ = new RoleBinding(\"this\", RoleBindingArgs.builder() \n .projectRef(\"1234567890asdfghjkl\")\n .roleRef(\"project-owner\")\n .user(\"1234567890asdfghjkl\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: nobl9:RoleBinding\n properties:\n projectRef: 1234567890asdfghjkl\n roleRef: project-owner\n user: 1234567890asdfghjkl\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Useful Links\n\n[Role Based Access Control in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/Getting_Started/RBAC/)\n\n[Role Binding YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/Getting_Started/RBAC/role-binding-yaml)\n", + "properties": { + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "projectRef": { + "type": "string", + "description": "Project name, the project in which we want the user to assume the specified role. When `project_ref` is empty, `role_ref` must contain an Organization Role.\n" + }, + "roleRef": { + "type": "string", + "description": "Role name; the role that you want the user to assume.\n" + }, + "user": { + "type": "string", + "description": "Okta User ID that can be retrieved from the Nobl9 UI (**Settings** \u003e **Users**).\n" + } + }, + "required": [ + "name", + "roleRef", + "user" + ], + "inputProperties": { + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "projectRef": { + "type": "string", + "description": "Project name, the project in which we want the user to assume the specified role. When `project_ref` is empty, `role_ref` must contain an Organization Role.\n" + }, + "roleRef": { + "type": "string", + "description": "Role name; the role that you want the user to assume.\n" + }, + "user": { + "type": "string", + "description": "Okta User ID that can be retrieved from the Nobl9 UI (**Settings** \u003e **Users**).\n" + } + }, + "requiredInputs": [ + "roleRef", + "user" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RoleBinding resources.\n", + "properties": { + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "name": { + "type": "string", + "description": "Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "projectRef": { + "type": "string", + "description": "Project name, the project in which we want the user to assume the specified role. When `project_ref` is empty, `role_ref` must contain an Organization Role.\n" + }, + "roleRef": { + "type": "string", + "description": "Role name; the role that you want the user to assume.\n" + }, + "user": { + "type": "string", + "description": "Okta User ID that can be retrieved from the Nobl9 UI (**Settings** \u003e **Users**).\n" + } + }, + "type": "object" + } + }, + "nobl9:index/service:Service": { + "description": "A **service** in Nobl9 is a high-level grouping of Service Level Objectives (SLOs). A service can represent a logical service endpoint like an API, a database, an application, or anything else you care about setting an SLO for. Every SLO in Nobl9 is tied to a service, and the service can have one or more SLOs.\n\nFor more details, refer to the [Service configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#service).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nHere's an example of Service resource configuration:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nobl9 from \"@pulumi/nobl9\";\n\nconst thisProject = new nobl9.Project(\"thisProject\", {\n displayName: \"My Project\",\n description: \"An example N9 Terraform project\",\n});\nconst thisService = new nobl9.Service(\"thisService\", {\n project: thisProject.name,\n displayName: thisProject.displayName.apply(displayName =\u003e `${displayName} Front Page`),\n description: \"Front page service\",\n labels: [\n {\n key: \"env\",\n values: [\n \"dev\",\n \"prod\",\n ],\n },\n {\n key: \"team\",\n values: [\"red\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_nobl9 as nobl9\n\nthis_project = nobl9.Project(\"thisProject\",\n display_name=\"My Project\",\n description=\"An example N9 Terraform project\")\nthis_service = nobl9.Service(\"thisService\",\n project=this_project.name,\n display_name=this_project.display_name.apply(lambda display_name: f\"{display_name} Front Page\"),\n description=\"Front page service\",\n labels=[\n nobl9.ServiceLabelArgs(\n key=\"env\",\n values=[\n \"dev\",\n \"prod\",\n ],\n ),\n nobl9.ServiceLabelArgs(\n key=\"team\",\n values=[\"red\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Nobl9 = Pulumi.Nobl9;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var thisProject = new Nobl9.Project(\"thisProject\", new()\n {\n DisplayName = \"My Project\",\n Description = \"An example N9 Terraform project\",\n });\n\n var thisService = new Nobl9.Service(\"thisService\", new()\n {\n Project = thisProject.Name,\n DisplayName = thisProject.DisplayName.Apply(displayName =\u003e $\"{displayName} Front Page\"),\n Description = \"Front page service\",\n Labels = new[]\n {\n new Nobl9.Inputs.ServiceLabelArgs\n {\n Key = \"env\",\n Values = new[]\n {\n \"dev\",\n \"prod\",\n },\n },\n new Nobl9.Inputs.ServiceLabelArgs\n {\n Key = \"team\",\n Values = new[]\n {\n \"red\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/piclemx/pulumi-nobl9/sdk/go/nobl9\"\n\t\"github.com/pulumi/pulumi-nobl9/sdk/go/nobl9\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthisProject, err := nobl9.NewProject(ctx, \"thisProject\", \u0026nobl9.ProjectArgs{\n\t\t\tDisplayName: pulumi.String(\"My Project\"),\n\t\t\tDescription: pulumi.String(\"An example N9 Terraform project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nobl9.NewService(ctx, \"thisService\", \u0026nobl9.ServiceArgs{\n\t\t\tProject: thisProject.Name,\n\t\t\tDisplayName: thisProject.DisplayName.ApplyT(func(displayName string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v Front Page\", displayName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tDescription: pulumi.String(\"Front page service\"),\n\t\t\tLabels: ServiceLabelArray{\n\t\t\t\t\u0026ServiceLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"env\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026ServiceLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"team\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"red\"),\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.nobl9.Project;\nimport com.pulumi.nobl9.ProjectArgs;\nimport com.pulumi.nobl9.Service;\nimport com.pulumi.nobl9.ServiceArgs;\nimport com.pulumi.nobl9.inputs.ServiceLabelArgs;\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 thisProject = new Project(\"thisProject\", ProjectArgs.builder() \n .displayName(\"My Project\")\n .description(\"An example N9 Terraform project\")\n .build());\n\n var thisService = new Service(\"thisService\", ServiceArgs.builder() \n .project(thisProject.name())\n .displayName(thisProject.displayName().applyValue(displayName -\u003e String.format(\"%s Front Page\", displayName)))\n .description(\"Front page service\")\n .labels( \n ServiceLabelArgs.builder()\n .key(\"env\")\n .values( \n \"dev\",\n \"prod\")\n .build(),\n ServiceLabelArgs.builder()\n .key(\"team\")\n .values(\"red\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n thisProject:\n type: nobl9:Project\n properties:\n displayName: My Project\n description: An example N9 Terraform project\n thisService:\n type: nobl9:Service\n properties:\n project: ${thisProject.name}\n displayName: ${thisProject.displayName} Front Page\n description: Front page service\n labels:\n - key: env\n values:\n - dev\n - prod\n - key: team\n values:\n - red\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Useful Links\n\n[Services in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/#services)\n\n[Service YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide/#service)\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/ServiceLabel:ServiceLabel" + }, + "description": "[Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "status": { + "type": "object", + "additionalProperties": { + "type": "number" + }, + "description": "Status of created service.\n" + } + }, + "required": [ + "name", + "project", + "status" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/ServiceLabel:ServiceLabel" + }, + "description": "[Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "project" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Service resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/ServiceLabel:ServiceLabel" + }, + "description": "[Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "status": { + "type": "object", + "additionalProperties": { + "type": "number" + }, + "description": "Status of created service.\n" + } + }, + "type": "object" + } + }, + "nobl9:index/slo:Slo": { + "description": "An SLO is a target value or range of values for a service that is measured by a service level indicator (SLI). SLOs allows you to define the reliability of your products and services in terms of customer expectations. You can create SLOs for user journeys, internal services, or even infrastructure.\n\nFor more information, refer to [SLO configuration documentation](https://docs.nobl9.com/yaml-guide#slo)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nobl9.Project;\nimport com.pulumi.nobl9.ProjectArgs;\nimport com.pulumi.nobl9.Service;\nimport com.pulumi.nobl9.ServiceArgs;\nimport com.pulumi.nobl9.Slo;\nimport com.pulumi.nobl9.SloArgs;\nimport com.pulumi.nobl9.inputs.SloLabelArgs;\nimport com.pulumi.nobl9.inputs.SloAttachmentArgs;\nimport com.pulumi.nobl9.inputs.SloTimeWindowArgs;\nimport com.pulumi.nobl9.inputs.SloObjectiveArgs;\nimport com.pulumi.nobl9.inputs.SloIndicatorArgs;\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 thisProject = new Project(\"thisProject\", ProjectArgs.builder() \n .displayName(\"Test N9 Terraform\")\n .description(\"An example N9 Terraform project\")\n .build());\n\n var thisService = new Service(\"thisService\", ServiceArgs.builder() \n .project(thisProject.name())\n .displayName(thisProject.displayName().applyValue(displayName -\u003e String.format(\"%s Front Page\", displayName)))\n .description(\"Front page service\")\n .build());\n\n var thisSlo = new Slo(\"thisSlo\", SloArgs.builder() \n .service(thisService.name())\n .budgetingMethod(\"Occurrences\")\n .project(thisProject.name())\n .labels( \n SloLabelArgs.builder()\n .key(\"env\")\n .values( \n \"dev\",\n \"prod\")\n .build(),\n SloLabelArgs.builder()\n .key(\"team\")\n .values(\"red\")\n .build())\n .attachments( \n SloAttachmentArgs.builder()\n .utl(\"https://www.nobl9.com/\")\n .displayName(\"SLO provider\")\n .build(),\n SloAttachmentArgs.builder()\n .utl(\"https://duckduckgo.com/\")\n .displayName(\"Nice search engine\")\n .build())\n .alertPolicies(\"foo-front-page-latency\")\n .timeWindow(SloTimeWindowArgs.builder()\n .unit(\"Day\")\n .count(30)\n .isRolling(true)\n .build())\n .objectives(SloObjectiveArgs.builder()\n .name(\"tf-objective-1\")\n .target(0.99)\n .displayName(\"OK\")\n .value(2000)\n .op(\"gte\")\n .rawMetrics(SloObjectiveRawMetricArgs.builder()\n .queries(SloObjectiveRawMetricQueryArgs.builder()\n .prometheuses(SloObjectiveRawMetricQueryPrometheusArgs.builder()\n .promql(\"\"\"\n latency_west_c7{code=\"ALL\",instance=\"localhost:3000\",job=\"prometheus\",service=\"globacount\"}\n \"\"\")\n .build())\n .build())\n .build())\n .build())\n .indicator(SloIndicatorArgs.builder()\n .name(\"test-terraform-prom-agent\")\n .build())\n .build());\n\n var thisIndex_sloSlo = new Slo(\"thisIndex/sloSlo\", SloArgs.builder() \n .service(thisService.name())\n .budgetingMethod(\"Occurrences\")\n .project(thisProject.name())\n .timeWindow(SloTimeWindowArgs.builder()\n .unit(\"Day\")\n .count(30)\n .isRolling(true)\n .build())\n .objectives(SloObjectiveArgs.builder()\n .name(\"tf-objective-1\")\n .target(0.99)\n .displayName(\"OK\")\n .value(1)\n .countMetrics(SloObjectiveCountMetricArgs.builder()\n .incremental(true)\n .goods(SloObjectiveCountMetricGoodArgs.builder()\n .prometheuses(SloObjectiveCountMetricGoodPrometheusArgs.builder()\n .promql(\"1.0\")\n .build())\n .build())\n .totals(SloObjectiveCountMetricTotalArgs.builder()\n .prometheuses(SloObjectiveCountMetricTotalPrometheusArgs.builder()\n .promql(\"1.0\")\n .build())\n .build())\n .build())\n .build())\n .indicator(SloIndicatorArgs.builder()\n .name(\"test-terraform-prom-agent\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n thisProject:\n type: nobl9:Project\n properties:\n displayName: Test N9 Terraform\n description: An example N9 Terraform project\n thisService:\n type: nobl9:Service\n properties:\n project: ${thisProject.name}\n displayName: ${thisProject.displayName} Front Page\n description: Front page service\n thisSlo:\n type: nobl9:Slo\n properties:\n service: ${thisService.name}\n budgetingMethod: Occurrences\n project: ${thisProject.name}\n labels:\n - key: env\n values:\n - dev\n - prod\n - key: team\n values:\n - red\n attachments:\n - utl: https://www.nobl9.com/\n displayName: SLO provider\n - utl: https://duckduckgo.com/\n displayName: Nice search engine\n alertPolicies:\n - foo-front-page-latency\n timeWindow:\n unit: Day\n count: 30\n isRolling: true\n objectives:\n - name: tf-objective-1\n target: 0.99\n displayName: OK\n value: 2000\n op: gte\n rawMetrics:\n - queries:\n - prometheuses:\n - promql: |2\n latency_west_c7{code=\"ALL\",instance=\"localhost:3000\",job=\"prometheus\",service=\"globacount\"}\n indicator:\n name: test-terraform-prom-agent\n thisIndex/sloSlo:\n type: nobl9:Slo\n properties:\n service: ${thisService.name}\n budgetingMethod: Occurrences\n project: ${thisProject.name}\n timeWindow:\n unit: Day\n count: 30\n isRolling: true\n objectives:\n - name: tf-objective-1\n target: 0.99\n displayName: OK\n value: 1\n countMetrics:\n - incremental: true\n goods:\n - prometheuses:\n - promql: 1.0\n totals:\n - prometheuses:\n - promql: 1.0\n indicator:\n name: test-terraform-prom-agent\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Nobl9 Official Documentation\n\nhttps://docs.nobl9.com/SLOs_as_code/?_highlight=slo\n", + "properties": { + "alertPolicies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Alert Policies attached to SLO\n" + }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloAttachment:SloAttachment" + }, + "deprecationMessage": "\"attachments\" argument is deprecated use \"attachment\" instead" + }, + "budgetingMethod": { + "type": "string", + "description": "Method which will be use to calculate budget\n" + }, + "composite": { + "$ref": "#/types/nobl9:index/SloComposite:SloComposite", + "description": "[Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo)\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "indicator": { + "$ref": "#/types/nobl9:index/SloIndicator:SloIndicator", + "description": "\n" + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloLabel:SloLabel" + }, + "description": "[Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "objectives": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjective:SloObjective" + }, + "description": "[Objectives documentation](https://docs.nobl9.com/yaml-guide#objective)\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n" + }, + "service": { + "type": "string", + "description": "Name of the service\n" + }, + "timeWindow": { + "$ref": "#/types/nobl9:index/SloTimeWindow:SloTimeWindow", + "description": "\n" + } + }, + "required": [ + "budgetingMethod", + "indicator", + "name", + "objectives", + "project", + "service", + "timeWindow" + ], + "inputProperties": { + "alertPolicies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Alert Policies attached to SLO\n" + }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloAttachment:SloAttachment" + }, + "deprecationMessage": "\"attachments\" argument is deprecated use \"attachment\" instead" + }, + "budgetingMethod": { + "type": "string", + "description": "Method which will be use to calculate budget\n" + }, + "composite": { + "$ref": "#/types/nobl9:index/SloComposite:SloComposite", + "description": "[Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo)\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "indicator": { + "$ref": "#/types/nobl9:index/SloIndicator:SloIndicator", + "description": "\n" + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloLabel:SloLabel" + }, + "description": "[Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "objectives": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjective:SloObjective" + }, + "description": "[Objectives documentation](https://docs.nobl9.com/yaml-guide#objective)\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "service": { + "type": "string", + "description": "Name of the service\n" + }, + "timeWindow": { + "$ref": "#/types/nobl9:index/SloTimeWindow:SloTimeWindow", + "description": "\n" + } + }, + "requiredInputs": [ + "budgetingMethod", + "indicator", + "objectives", + "project", + "service", + "timeWindow" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Slo resources.\n", + "properties": { + "alertPolicies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Alert Policies attached to SLO\n" + }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloAttachment:SloAttachment" + }, + "deprecationMessage": "\"attachments\" argument is deprecated use \"attachment\" instead" + }, + "budgetingMethod": { + "type": "string", + "description": "Method which will be use to calculate budget\n" + }, + "composite": { + "$ref": "#/types/nobl9:index/SloComposite:SloComposite", + "description": "[Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo)\n" + }, + "description": { + "type": "string", + "description": "Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it.\n" + }, + "displayName": { + "type": "string", + "description": "User-friendly display name of the resource.\n" + }, + "indicator": { + "$ref": "#/types/nobl9:index/SloIndicator:SloIndicator", + "description": "\n" + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloLabel:SloLabel" + }, + "description": "[Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values.\n" + }, + "name": { + "type": "string", + "description": "Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "objectives": { + "type": "array", + "items": { + "$ref": "#/types/nobl9:index/SloObjective:SloObjective" + }, + "description": "[Objectives documentation](https://docs.nobl9.com/yaml-guide#objective)\n" + }, + "project": { + "type": "string", + "description": "Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n", + "willReplaceOnChanges": true + }, + "service": { + "type": "string", + "description": "Name of the service\n" + }, + "timeWindow": { + "$ref": "#/types/nobl9:index/SloTimeWindow:SloTimeWindow", + "description": "\n" + } + }, + "type": "object" + } + } + } +} \ No newline at end of file diff --git a/provider/cmd/pulumi-tfgen-xyz/main.go b/provider/cmd/pulumi-tfgen-nobl9/main.go similarity index 82% rename from provider/cmd/pulumi-tfgen-xyz/main.go rename to provider/cmd/pulumi-tfgen-nobl9/main.go index 76648ce..aef1809 100644 --- a/provider/cmd/pulumi-tfgen-xyz/main.go +++ b/provider/cmd/pulumi-tfgen-nobl9/main.go @@ -15,12 +15,12 @@ package main import ( + nobl9 "github.com/piclemx/pulumi-nobl9/provider" + "github.com/piclemx/pulumi-nobl9/provider/pkg/version" "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfgen" - xyz "github.com/pulumi/pulumi-xyz/provider" - "github.com/pulumi/pulumi-xyz/provider/pkg/version" ) func main() { // Modify the path to point to the new provider - tfgen.Main("xyz", version.Version, xyz.Provider()) + tfgen.Main("nobl9", version.Version, nobl9.Provider()) } diff --git a/provider/go.mod b/provider/go.mod index ffa1df8..950ce97 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -1,12 +1,218 @@ -module github.com/pulumi/pulumi-xyz/provider +module github.com/piclemx/pulumi-nobl9/provider go 1.18 -replace ( - github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 upstream-v2.21.0 -) +replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20220824175045-450992f2f5b9 require ( + github.com/nobl9/terraform-provider-nobl9 v0.10.0 github.com/pulumi/pulumi-terraform-bridge/v3 v3.28.1 github.com/pulumi/pulumi/sdk/v3 v3.38.0 + golang.org/x/text v0.7.0 +) + +require ( + cloud.google.com/go v0.104.0 // indirect + cloud.google.com/go/compute v1.7.0 // indirect + cloud.google.com/go/iam v0.3.0 // indirect + cloud.google.com/go/kms v1.1.0 // indirect + cloud.google.com/go/logging v1.0.0 // indirect + cloud.google.com/go/storage v1.27.0 // indirect + github.com/Azure/azure-pipeline-go v0.2.3 // indirect + github.com/Azure/azure-sdk-for-go v57.0.0+incompatible // indirect + github.com/Azure/azure-storage-blob-go v0.14.0 // indirect + github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect + github.com/Azure/go-autorest v14.2.0+incompatible // indirect + github.com/Azure/go-autorest/autorest v0.11.20 // indirect + github.com/Azure/go-autorest/autorest/adal v0.9.15 // indirect + github.com/Azure/go-autorest/autorest/azure/auth v0.5.8 // indirect + github.com/Azure/go-autorest/autorest/azure/cli v0.4.3 // indirect + github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect + github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect + github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect + github.com/Azure/go-autorest/logger v0.2.1 // indirect + github.com/Azure/go-autorest/tracing v0.6.0 // indirect + github.com/Masterminds/goutils v1.1.1 // indirect + github.com/Masterminds/semver/v3 v3.1.1 // indirect + github.com/Masterminds/sprig/v3 v3.2.2 // indirect + github.com/Microsoft/go-winio v0.5.2 // indirect + github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 // indirect + github.com/acomagu/bufpipe v1.0.3 // 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-radix v1.0.0 // indirect + github.com/aws/aws-sdk-go v1.40.34 // indirect + github.com/aws/aws-sdk-go-v2 v1.11.0 // indirect + github.com/aws/aws-sdk-go-v2/config v1.10.1 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.6.1 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.8.0 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.0 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.3.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.5.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kms v1.5.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.6.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.10.0 // indirect + github.com/aws/smithy-go v1.9.0 // 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/cenkalti/backoff/v3 v3.2.2 // indirect + github.com/cheggaaa/pb v1.0.29 // 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/edsrzf/mmap-go v1.1.0 // indirect + github.com/emirpasic/gods v1.12.0 // indirect + github.com/ettle/strcase v0.1.1 // indirect + github.com/fatih/color v1.13.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.3.1 // indirect + github.com/go-git/go-git/v5 v5.4.2 // indirect + github.com/gofrs/uuid v4.2.0+incompatible // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang-jwt/jwt/v4 v4.4.1 // indirect + github.com/golang/glog v1.0.0 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/snappy v0.0.4 // indirect + github.com/google/go-cmp v0.5.8 // indirect + github.com/google/go-querystring v1.1.0 // 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.1.0 // indirect + github.com/googleapis/gax-go/v2 v2.5.1 // indirect + github.com/gorilla/mux v1.8.0 // indirect + github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // 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-getter v1.6.1 // indirect + github.com/hashicorp/go-hclog v1.2.1 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/go-plugin v1.4.4 // 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-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/hc-install v0.4.0 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hashicorp/hcl/v2 v2.13.0 // indirect + github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 // indirect + github.com/hashicorp/logutils v1.0.0 // indirect + github.com/hashicorp/terraform-exec v0.17.2 // indirect + github.com/hashicorp/terraform-json v0.14.0 // indirect + github.com/hashicorp/terraform-plugin-go v0.14.0 // indirect + github.com/hashicorp/terraform-plugin-log v0.7.0 // indirect + github.com/hashicorp/terraform-plugin-sdk/v2 v2.19.0 // indirect + github.com/hashicorp/terraform-registry-address v0.0.0-20220623143253-7d51757b572c // indirect + github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 // indirect + github.com/hashicorp/vault/api v1.1.1 // indirect + github.com/hashicorp/vault/sdk v0.2.1 // indirect + github.com/hashicorp/yamux v0.1.0 // indirect + github.com/huandu/xstrings v1.3.2 // 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 + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect + github.com/kevinburke/ssh_config v1.1.0 // indirect + github.com/klauspost/compress v1.13.6 // indirect + github.com/mattn/go-colorable v0.1.12 // indirect + github.com/mattn/go-ieproxy v0.0.1 // indirect + github.com/mattn/go-isatty v0.0.14 // indirect + github.com/mattn/go-runewidth v0.0.13 // indirect + github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect + github.com/mitchellh/cli v1.1.4 // 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 + github.com/mitchellh/go-testing-interface v1.14.1 // indirect + github.com/mitchellh/go-wordwrap v1.0.1 // indirect + github.com/mitchellh/hashstructure v1.0.0 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/natefinch/atomic v1.0.1 // indirect + github.com/nobl9/nobl9-go v0.8.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/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.5.3 // indirect + github.com/pulumi/pulumi-yaml v0.5.4 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.38.0 // indirect + github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e // indirect + github.com/rivo/uniseg v0.2.0 // indirect + github.com/rjeczalik/notify v0.9.2 // indirect + github.com/rogpeppe/go-internal v1.8.1 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/ryanuber/go-glob v1.0.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/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.3.1 // indirect + github.com/spf13/afero v1.6.0 // indirect + github.com/spf13/cast v1.5.0 // indirect + github.com/spf13/cobra v1.4.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/stretchr/testify v1.7.2 // 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.8 // indirect + github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect + github.com/vmihailenco/msgpack/v4 v4.3.12 // indirect + github.com/vmihailenco/tagparser v0.1.2 // indirect + github.com/xanzy/ssh-agent v0.3.1 // 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.10.0 // indirect + go.opencensus.io v0.23.0 // indirect + go.uber.org/atomic v1.9.0 // indirect + gocloud.dev v0.24.0 // indirect + gocloud.dev/secrets/hashivault v0.24.0 // indirect + golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa // indirect + golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect + golang.org/x/net v0.7.0 // indirect + golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1 // indirect + golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f // indirect + golang.org/x/sys v0.5.0 // indirect + golang.org/x/term v0.5.0 // indirect + golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect + golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f // indirect + google.golang.org/api v0.97.0 // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006 // indirect + google.golang.org/grpc v1.49.0 // indirect + google.golang.org/protobuf v1.28.1 // indirect + gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f // indirect + gopkg.in/square/go-jose.v2 v2.6.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-20211028080628-e2786a622600 // indirect ) diff --git a/provider/go.sum b/provider/go.sum new file mode 100644 index 0000000..44eacfd --- /dev/null +++ b/provider/go.sum @@ -0,0 +1,2049 @@ +bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +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.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= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.82.0/go.mod h1:vlKccHJGuFBFufnAnuB08dfEH9Y3H7dzDzRECFdC2TA= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.88.0/go.mod h1:dnKwfYbP9hQhefiUvpbcAyoGSHUrOxR20JVElLiUvEY= +cloud.google.com/go v0.89.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.92.2/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.92.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.0/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= +cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= +cloud.google.com/go v0.104.0 h1:gSmWO7DY1vOm0MVU6DNXM11BWHHsTUmsC5cv1fuW5X8= +cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= +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= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +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/bigtable v1.10.1/go.mod h1:cyHeKlx6dcZCO0oSQucYdauseD8kIENGuDOJPKMCVg8= +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= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= +cloud.google.com/go/compute v1.7.0 h1:v/k9Eueb8aAJ0vZuxKMrgm6kPhCLZU9HxFU+AFDs9Uk= +cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +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/firestore v1.5.0/go.mod h1:c4nNYR1qdq7eaZ+jSc5fonrQN2k3M7sWATcYTiakjEo= +cloud.google.com/go/iam v0.3.0 h1:exkAomrVUuzx9kWFI1wm3KI0uoDeUFPB4kKGzx6x+Gc= +cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/kms v0.1.0/go.mod h1:8Qp8PCAypHg4FdmlyW1QRAv09BGQ9Uzh7JnmIZxPk+c= +cloud.google.com/go/kms v1.1.0 h1:1yc4rLqCkVDS9Zvc7m+3mJ47kw0Uo5Q5+sMjcmUVUeM= +cloud.google.com/go/kms v1.1.0/go.mod h1:WdbppnCDMDpOvoYBMn1+gNmOeEoZYqAv+HeuKARGCXI= +cloud.google.com/go/logging v1.0.0 h1:kaunpnoEh9L4hu6JUsBa8Y20LBfKnCuDhKUgdZp7oK8= +cloud.google.com/go/logging v1.0.0/go.mod h1:V1cc3ogwobYzQq5f2R7DS/GvRIrI4FKj01Gs5glwAls= +cloud.google.com/go/monitoring v0.1.0/go.mod h1:Hpm3XfzJv+UTiXzCG5Ffp0wijzHTC7Cv4eR7o3x/fEE= +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.16.0/go.mod h1:6A8EfoWZ/lUvCWStKGwAWauJZSiuV0Mkmu6WilK/TxQ= +cloud.google.com/go/secretmanager v0.1.0/go.mod h1:3nGKHvnzDUVit7U0S9KAKJ4aOsO1xtwRG+7ey5LK1bM= +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= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.16.1/go.mod h1:LaNorbty3ehnU3rEjXSNV/NRgQA0O8Y+uh6bPe5UOk4= +cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= +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/trace v0.1.0/go.mod h1:wxEwsoeRVPbeSkt7ZC9nWCgmoKQRAoySN7XHW2AmI7g= +contrib.go.opencensus.io/exporter/aws v0.0.0-20200617204711-c478e41e60e9/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= +contrib.go.opencensus.io/exporter/stackdriver v0.13.8/go.mod h1:huNtlWx75MwO7qMs0KrMxPZXzNNWebav1Sq/pm02JdQ= +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= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20201218220906-28db891af037/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= +github.com/AlecAivazis/survey/v2 v2.0.5/go.mod h1:WYBhg6f0y/fNYUuesWQc0PKbJcEliGcYHB9sNT3Bg74= +github.com/AlecAivazis/survey/v2 v2.2.9/go.mod h1:9DYvHgXtiXm6nCn+jXnOXLKbH+Yo9u8fAS/SduGdoPk= +github.com/Azure/azure-amqp-common-go/v3 v3.1.0/go.mod h1:PBIGdzcO1teYoufTKMcGibdKaYZv4avS+O6LNIp8bq0= +github.com/Azure/azure-amqp-common-go/v3 v3.1.1/go.mod h1:YsDaPfaO9Ub2XeSKdIy2DfwuiQlHQCauHJwSqtrkECI= +github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U= +github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= +github.com/Azure/azure-sdk-for-go v51.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v57.0.0+incompatible h1:isVki3PbIFrwKvKdVP1byxo73/pt+Nn174YxW1k4PNw= +github.com/Azure/azure-sdk-for-go v57.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-service-bus-go v0.10.16/go.mod h1:MlkLwGGf1ewcx5jZadn0gUEty+tTg0RaElr6bPf+QhI= +github.com/Azure/azure-storage-blob-go v0.14.0 h1:1BCg74AmVdYwO3dlKwtFU1V0wU2PZdREkXvAmZJRUlM= +github.com/Azure/azure-storage-blob-go v0.14.0/go.mod h1:SMqIBi+SuiQH32bvyjngEewEeXoPfKMgWlBDaYf6fck= +github.com/Azure/go-amqp v0.13.0/go.mod h1:qj+o8xPCz9tMSbQ83Vp8boHahuRDl5mkNHyt1xlxUTs= +github.com/Azure/go-amqp v0.13.11/go.mod h1:D5ZrjQqB1dyp1A+G73xeL/kNn7D5qHJIIsNNps7YNmk= +github.com/Azure/go-amqp v0.13.12/go.mod h1:D5ZrjQqB1dyp1A+G73xeL/kNn7D5qHJIIsNNps7YNmk= +github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.11.3/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= +github.com/Azure/go-autorest/autorest v0.11.9/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= +github.com/Azure/go-autorest/autorest v0.11.17/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= +github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= +github.com/Azure/go-autorest/autorest v0.11.20 h1:s8H1PbCZSqg/DH7JMlOz6YMig6htWLNPsjDdlLqCx3M= +github.com/Azure/go-autorest/autorest v0.11.20/go.mod h1:o3tqFY+QR40VOlk+pV4d77mORO64jOXSgEnPQgLK6JY= +github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= +github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= +github.com/Azure/go-autorest/autorest/adal v0.9.11/go.mod h1:nBKAnTomx8gDtl+3ZCJv2v0KACFHWTB2drffI1B68Pk= +github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/adal v0.9.14/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/adal v0.9.15 h1:X+p2GF0GWyOiSmqohIaEeuNFNDY4I4EOlVuUQvFdWMk= +github.com/Azure/go-autorest/autorest/adal v0.9.15/go.mod h1:tGMin8I49Yij6AQ+rvV+Xa/zwxYQB5hmsd6DkfAx2+A= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.3/go.mod h1:4bJZhUhcq8LB20TruwHbAQsmUs2Xh+QR7utuJpLXX3A= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.8 h1:TzPg6B6fTZ0G1zBf3T54aI7p3cAT6u//TOXGPmFMOXg= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.8/go.mod h1:kxyKZTSfKh8OVFWPAgOgQ/frrJgeYQJPyR5fLFmXko4= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.2/go.mod h1:7qkJkT+j6b+hIpzMOwPChJhTqS8VbsqqgULzMNRugoM= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.3 h1:DOhB+nXkF7LN0JfBGB5YtCF6QLK8mLe4psaHF7ZQEKM= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.3/go.mod h1:yAQ2b6eP/CmLPnmLvxtT1ALIY3OR1oFcCqVBi8vHiTc= +github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= +github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.1 h1:K0laFcLE6VLTOwNgSxaGbUcLPuGXlNkbVvq4cW4nIHk= +github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk= +github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= +github.com/Azure/go-autorest/autorest/validation v0.3.1 h1:AgyqjAd94fwNAoTjl/WQXg4VvFeRFpO+UhNyRXqF1ac= +github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= +github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= +github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DATA-DOG/go-sqlmock v1.4.1/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/GoogleCloudPlatform/cloudsql-proxy v1.24.0/go.mod h1:3tx938GhY4FC+E1KT/jNjDw7Z5qxAEtIiERJ2sXjnII= +github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= +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/MakeNowJust/heredoc/v2 v2.0.1/go.mod h1:6/2Abh5s+hc3g9nbWLe9ObDIOhaRrqsyY9MWy+4JdRM= +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/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.16.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= +github.com/Masterminds/sprig/v3 v3.2.0/go.mod h1:tWhwTbUTndesPNeF0C900vKoq283u6zp4APT9vaF3SI= +github.com/Masterminds/sprig/v3 v3.2.2 h1:17jRggJu518dr3QaafizSXOjKYp94wKfABxUmyxvxX8= +github.com/Masterminds/sprig/v3 v3.2.2/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk= +github.com/Masterminds/squirrel v1.5.0/go.mod h1:NNaOrjSoIDfDA40n7sr2tPNZRfjzjA400rg+riTZj10= +github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= +github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= +github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +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/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= +github.com/NYTimes/gziphandler v1.0.1/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8 h1:xzYJEypr/85nBpB11F9br+3HUrpgb+fcm5iADzXXYEw= +github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= +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-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ= +github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= +github.com/RoaringBitmap/roaring v0.4.16/go.mod h1:8khRDP4HmeXns4xIj9oGrKSz7XTQiJx2zgh7AcNke4w= +github.com/SAP/go-hdb v0.14.1/go.mod h1:7fdQLVC2lER3urZLjZCm0AuMQfApof92n3aylBPEkMo= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +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/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/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +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/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +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= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +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/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= +github.com/apache/arrow/go/arrow v0.0.0-20211112161151-bc219186db40/go.mod h1:Q7yQnSMnLvcXlZ8RV+jwz/6y1rQTqbX6C82SndT52Zs= +github.com/apache/arrow/go/v7 v7.0.0/go.mod h1:vG2y+fH8mEUcX29tM6hOULGE06/XqEI8sG5fANM6T5w= +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.15.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= +github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= +github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0 h1:MzVXffFUye+ZcSR6opIgz9Co7WcDx6ZcY+RjfFHoA0I= +github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= +github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= +github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= +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/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.3.0/go.mod h1:zXjbSimjXTd7vOpY8B0/2LpvNvDoXBuplAD+gJD3GYs= +github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +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/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.15.27/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= +github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= +github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.25.37/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.29.16/go.mod h1:1KvfttTE3SPKMpo8g2c6jL3ZKfXtFvKscTgahTma5Xg= +github.com/aws/aws-sdk-go v1.30.27/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.37.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= +github.com/aws/aws-sdk-go v1.40.34 h1:SBYmodndE2d4AYucuuJnOXk4MD1SFbucoIdpwKVKeSA= +github.com/aws/aws-sdk-go v1.40.34/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/aws/aws-sdk-go-v2 v1.9.0/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= +github.com/aws/aws-sdk-go-v2 v1.11.0 h1:HxyD62DyNhCfiFGUHqJ/xITD6rAjJ7Dm/2nLxLmO4Ag= +github.com/aws/aws-sdk-go-v2 v1.11.0/go.mod h1:SQfA+m2ltnu1cA0soUkj4dRSsmITiVQUJvBIZjzfPyQ= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.0.0/go.mod h1:Xn6sxgRuIDflLRJFj5Ev7UxABIkNbccFPV/p8itDReM= +github.com/aws/aws-sdk-go-v2/config v1.7.0/go.mod h1:w9+nMZ7soXCe5nT46Ri354SNhXDQ6v+V5wqDjnZE+GY= +github.com/aws/aws-sdk-go-v2/config v1.10.1 h1:z/ViqIjW6ZeuLWgTWMTSyZzaVWo/1cWeVf1Uu+RF01E= +github.com/aws/aws-sdk-go-v2/config v1.10.1/go.mod h1:auIv5pIIn3jIBHNRcVQcsczn6Pfa6Dyv80Fai0ueoJU= +github.com/aws/aws-sdk-go-v2/credentials v1.4.0/go.mod h1:dgGR+Qq7Wjcd4AOAW5Rf5Tnv3+x7ed6kETXyS9WCuAY= +github.com/aws/aws-sdk-go-v2/credentials v1.6.1 h1:A39JYth2fFCx+omN/gib/jIppx3rRnt2r7UKPq7Mh5Y= +github.com/aws/aws-sdk-go-v2/credentials v1.6.1/go.mod h1:QyvQk1IYTqBWSi1T6UgT/W8DMxBVa5pVuLFSRLLhGf8= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.5.0/go.mod h1:CpNzHK9VEFUCknu50kkB8z58AH2B5DvPP7ea1LHve/Y= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.8.0 h1:OpZjuUy8Jt3CA1WgJgBC5Bz+uOjE5Ppx4NFTRaooUuA= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.8.0/go.mod h1:5E1J3/TTYy6z909QNR0QnXGBpfESYGDqd3O0zqONghU= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.7.1/go.mod h1:wN/mvkow08GauDwJ70jnzJ1e+hE+Q3Q7TwpYLXOe9oI= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.0 h1:zY8cNmbBXt3pzjgWgdIbzpQ6qxoCwt+Nx9JbrAf2mbY= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.0/go.mod h1:NO3Q5ZTTQtO2xIg2+xTXYDiT7knSejfeDm7WGDaOo0U= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0 h1:Z3aR/OXBnkYK9zXkNkfitHX6SmUBzSsx8VMHbH4Lvhw= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0/go.mod h1:anlUzBoEWglcUxUQwZA7HQOEVEnQALVZsizAapB2hq8= +github.com/aws/aws-sdk-go-v2/internal/ini v1.2.2/go.mod h1:BQV0agm+JEhqR+2RT5e1XTFIDcAAV0eW6z2trp+iduw= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.0 h1:c10Z7fWxtJCoyc8rv06jdh9xrKnu7bAJiRaKWvTb2mU= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.0/go.mod h1:6oXGy4GLpypD3uCh8wcqztigGgmhLToMfjavgh+VySg= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.5.0/go.mod h1:80NaCIH9YU3rzTTs/J/ECATjXuRqzo/wB6ukO6MZ0XY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.0/go.mod h1:R1KK+vY8AfalhG1AOu5e35pOD2SdoPKQCFLTvnxiohk= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.5.0 h1:qGZWS/WgiFY+Zgad2u0gwBHpJxz6Ne401JE7iQI1nKs= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.5.0/go.mod h1:Mq6AEc+oEjCUlBuLiK5YwW4shSOAKCQ3tXN0sQeYoBA= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.9.0/go.mod h1:xKCZ4YFSF2s4Hnb/J0TLeOsKuGzICzcElaOKNGrVnx4= +github.com/aws/aws-sdk-go-v2/service/kms v1.5.0 h1:10e9mzaaYIIePEuxUzW5YJ8LKHNG/NX63evcvS3ux9U= +github.com/aws/aws-sdk-go-v2/service/kms v1.5.0/go.mod h1:w7JuP9Oq1IKMFQPkNe3V6s9rOssXzOVEMNEqK1L1bao= +github.com/aws/aws-sdk-go-v2/service/s3 v1.19.0/go.mod h1:Gwz3aVctJe6mUY9T//bcALArPUaFmNAy2rTB9qN4No8= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.6.0/go.mod h1:B+7C5UKdVq1ylkI/A6O8wcurFtaux0R1njePNPtKwoA= +github.com/aws/aws-sdk-go-v2/service/ssm v1.10.0/go.mod h1:4dXS5YNqI3SNbetQ7X7vfsMlX6ZnboJA2dulBwJx7+g= +github.com/aws/aws-sdk-go-v2/service/sso v1.4.0/go.mod h1:+1fpWnL96DL23aXPpMGbsmKe8jLTEfbjuQoA4WS1VaA= +github.com/aws/aws-sdk-go-v2/service/sso v1.6.0 h1:JDgKIUZOmLFu/Rv6zXLrVTWCmzA0jcTdvsT8iFIKrAI= +github.com/aws/aws-sdk-go-v2/service/sso v1.6.0/go.mod h1:Q/l0ON1annSU+mc0JybDy1Gy6dnJxIcWjphO6qJPzvM= +github.com/aws/aws-sdk-go-v2/service/sts v1.7.0/go.mod h1:0qcSMCyASQPN2sk/1KQLQ2Fh6yq8wm0HSDAimPhzCoM= +github.com/aws/aws-sdk-go-v2/service/sts v1.10.0 h1:1jh8J+JjYRp+QWKOsaZt7rGUgoyrqiiVwIm+w0ymeUw= +github.com/aws/aws-sdk-go-v2/service/sts v1.10.0/go.mod h1:jLKCFqS+1T4i7HDqCP9GM4Uk75YW1cS0o82LdxpMyOE= +github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.9.0 h1:c7FUdEqrQA1/UVKKCNDFQPNKGp4FQg3YW4Ck5SLTG58= +github.com/aws/smithy-go v1.9.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/benbjohnson/clock v0.0.0-20161215174838-7dc76406b6d3/go.mod h1:UMqtWQTnOe4byzwe7Zhwh8f8s+36uszN51sJrSIZlTE= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/benbjohnson/immutable v0.3.0/go.mod h1:uc6OHo6PN2++n98KHLxW8ef4W42ylHiQSENghE1ezxI= +github.com/benbjohnson/tmpl v1.0.0/go.mod h1:igT620JFIi44B6awvU9IsDhR77IXWtFigTLil/RPdps= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= +github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +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/bonitoo-io/go-sql-bigquery v0.3.4-1.4.0/go.mod h1:J4Y6YJm0qTWB9aFziB7cPeSyc6dOZFyJdteSeybVpXQ= +github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/buger/jsonparser v0.0.0-20191004114745-ee4c978eae7e/go.mod h1:errmMKH8tTB49UR2A8C8DPYkyudelsYJwJFaZHQ6ik8= +github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= +github.com/cactus/go-statsd-client/statsd v0.0.0-20191106001114-12b4e2b38748/go.mod h1:l/bIBLeOl9eX+wxJAzxS4TveKRtAqlyDpHjhkfO0MEI= +github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= +github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M= +github.com/cenkalti/backoff/v3 v3.2.2/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= +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/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= +github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= +github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +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/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/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= +github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20200709052629-daa8e1ccc0bc/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= +github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= +github.com/daixiang0/gci v0.2.8/go.mod h1:+4dZ7TISfSmqfAGv59ePaHfNzgGtIkHAhhdKggP1JAc= +github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= +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/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.0-20210816181553-5444fa50b93d/go.mod h1:tmAIfUFEirG/Y8jhZ9M+h36obRZAk/1fcSpXwAVlfqE= +github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= +github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/denisenkom/go-mssqldb v0.10.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= +github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= +github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= +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/docker/distribution v2.7.0+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v0.7.3-0.20180815000130-e05b657120a6/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v1.13.1/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +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/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= +github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= +github.com/editorconfig-checker/editorconfig-checker v0.0.0-20190819115812-1474bdeaf2a2/go.mod h1:nnr6DXFepwb2+GC7evku5Mak3wGGRShiYy6fPkdIwVM= +github.com/editorconfig/editorconfig-core-go/v2 v2.1.1/go.mod h1:/LuhWJiQ9Gvo1DhVpa4ssm5qeg8rrztdtI7j/iCie2k= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/edsrzf/mmap-go v1.1.0 h1:6EUwBLQ/Mcr1EYLE4Tn1VdW1A4ckqCQWZBw8Hr0kjpQ= +github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= +github.com/elazarl/go-bindata-assetfs v1.0.0/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4= +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/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +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/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.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +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.5+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/foxcpp/go-mockdns v0.0.0-20201212160233-ede2f9158d15/go.mod h1:tPg4cp4nseejPd+UKxtCVQ2hUxNTZ7qQZJa7CLriIeo= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +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.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/fujiwara/shapeio v1.0.0/go.mod h1:LmEmu6L/8jetyj1oewewFb7bZCNRwE7wLCUNzDLaLVA= +github.com/gabriel-vasile/mimetype v1.4.0/go.mod h1:fA8fi6KUiG7MgQQ+mEWotXoEOvmxRtOJlERCzSmRvr8= +github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 h1:Uc+IZ7gYqAf/rSGFplbWBSHaGolEQlNLgMgSE3ccnIQ= +github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813/go.mod h1:P+oSoE9yhSRvsmYyZsshflcR6ePWYLql6UU1amW13IM= +github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0= +github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= +github.com/glycerine/goconvey v0.0.0-20180728074245-46e3a41ad493/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= +github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= +github.com/go-chi/chi v4.1.0+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= +github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= +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/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.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/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= +github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= +github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= +github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc= +github.com/go-ldap/ldap/v3 v3.1.3/go.mod h1:3rbOH3jRS2u6jg2rJnKAMLE/xQyCKIveG2Sa/Cohzb8= +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= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +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= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-test/deep v1.0.1/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= +github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +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/gocarina/gocsv v0.0.0-20210408192840-02d7211d929d/go.mod h1:5YoVOkjYAQumqlV356Hj3xeYh4BdZuLE0/nRkf2NKkI= +github.com/goccy/go-json v0.7.10/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= +github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +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-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= +github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.4.1 h1:pC5DB52sCeK48Wlb9oPcdhnjkz1TKt1D/P7WKJ0kUcQ= +github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/gddo v0.0.0-20181116215533-9bd4a3295021/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +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/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= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +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/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= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +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/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/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= +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.0+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/flatbuffers v2.0.5+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +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= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-jsonnet v0.17.0/go.mod h1:sOcuej3UW1vpPTZOr8L7RQimqai1a57bt5j22LzGZCw= +github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= +github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= +github.com/google/go-replayers/grpcreplay v1.1.0 h1:S5+I3zYyZ+GQz68OfbURDdt/+cSMqCK1wrvNx7WBzTE= +github.com/google/go-replayers/grpcreplay v1.1.0/go.mod h1:qzAvJ8/wi57zq7gWqaE6AwLM6miiXUQwP1S+I9icmhk= +github.com/google/go-replayers/httpreplay v1.0.0 h1:8SmT8fUYM4nueF+UnXIX8LJxNTb1vpPuknXz+yTWzL4= +github.com/google/go-replayers/httpreplay v1.0.0/go.mod h1:LJhKoTwS5Wy5Ld/peq8dFFG5OfJyHEz7ft+DsTUv25M= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible h1:xmapqc1AyLoB+ddYT6r04bD9lIjlOqGaREovi0SzFaE= +github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210506205249-923b5ab0fc1a/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210715191844-86eeefc3e471/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +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= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +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 h1:zO8WHNx/MYiAKJ3d5spxZXZE6KHmIQGQcAzwUzV7qQw= +github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +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= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= +github.com/googleapis/gax-go/v2 v2.5.1 h1:kBRZU0PSuI7PspsSb/ChWoVResUcwNVIdpB049pKTiw= +github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= +github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gopherjs/gopherjs v0.0.0-20190812055157-5d271430af9f/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +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/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +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-checkpoint v0.5.0 h1:MFYpPZCnQqQTE18jFwSII6eUQrD/oxMFp3mlgcqk5mU= +github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 h1:1/D3zfFHttUKaCaGKZ/dR2roBXv0vKbSCnssIldfQdI= +github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320/go.mod h1:EiZBMaudVLy8fmjf9Npq1dq9RalhveqZG5w/yz3mHWs= +github.com/hashicorp/go-getter v1.4.0/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= +github.com/hashicorp/go-getter v1.6.1 h1:NASsgP4q6tL94WH6nJxKWj8As2H/2kop/bB1d8JMyRY= +github.com/hashicorp/go-getter v1.6.1/go.mod h1:IZCrswsZPeWv9IkVnLElzRU/gz/QPi6pZHn4tv6vbwA= +github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= +github.com/hashicorp/go-hclog v0.8.0/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.16.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.1 h1:YQsLlGDJgwhXFpucSPyVbCBviQtjlHv3jLTlp8YmtEw= +github.com/hashicorp/go-hclog v1.2.1/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.1.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +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/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.4.4 h1:NVdrSdFRt3SkZtNckJ6tog7gbpRrcbOjQi/rgF7JYWQ= +github.com/hashicorp/go-plugin v1.4.4/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-retryablehttp v0.6.2/go.mod h1:gEx6HMUGxYYhJScX7W1Il64m6cc2C1mDaW3NQ9sY1FY= +github.com/hashicorp/go-retryablehttp v0.6.4/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.7.0/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= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= +github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= +github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= +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.5.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= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hc-install v0.4.0 h1:cZkRFr1WVa0Ty6x5fTvL1TuO1flul231rWkGH92oYYk= +github.com/hashicorp/hc-install v0.4.0/go.mod h1:5d155H8EC5ewegao9A4PUTMNPZaq+TbOzkJJZ4vrXeI= +github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= +github.com/hashicorp/hcl/v2 v2.13.0 h1:0Apadu1w6M11dyGFxWnmhhcMjkbAiKCv7G1r/2QgCNc= +github.com/hashicorp/hcl/v2 v2.13.0/go.mod h1:e4z5nxYlWNPdDSNYX+ph14EvWYMFm3eP0zIUqPc2jr0= +github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 h1:T1Q6ag9tCwun16AW+XK3tAql24P4uTGUMIn1/92WsQQ= +github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE= +github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= +github.com/hashicorp/terraform-exec v0.17.2 h1:EU7i3Fh7vDUI9nNRdMATCEfnm9axzTnad8zszYZ73Go= +github.com/hashicorp/terraform-exec v0.17.2/go.mod h1:tuIbsL2l4MlwwIZx9HPM+LOV9vVyEfBYu2GsO1uH3/8= +github.com/hashicorp/terraform-json v0.4.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= +github.com/hashicorp/terraform-json v0.14.0 h1:sh9iZ1Y8IFJLx+xQiKHGud6/TSUCM0N8e17dKDpqV7s= +github.com/hashicorp/terraform-json v0.14.0/go.mod h1:5A9HIWPkk4e5aeeXIBbkcOvaZbIYnAIkEyqP2pNSckM= +github.com/hashicorp/terraform-plugin-go v0.14.0 h1:ttnSlS8bz3ZPYbMb84DpcPhY4F5DsQtcAS7cHo8uvP4= +github.com/hashicorp/terraform-plugin-go v0.14.0/go.mod h1:2nNCBeRLaenyQEi78xrGrs9hMbulveqG/zDMQSvVJTE= +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-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-test v1.2.0/go.mod h1:QIJHYz8j+xJtdtLrFTlzQVC0ocr3rf/OjIpgZLK56Hs= +github.com/hashicorp/terraform-registry-address v0.0.0-20220623143253-7d51757b572c h1:D8aRO6+mTqHfLsK/BC3j5OAoogv1WLRWzY1AaTo3rBg= +github.com/hashicorp/terraform-registry-address v0.0.0-20220623143253-7d51757b572c/go.mod h1:Wn3Na71knbXc1G8Lh+yu/dQWWJeFQEpDeJMtWMtlmNI= +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/vault/api v1.0.2/go.mod h1:AV/+M5VPDpB90arloVX0rVDUIHkONiwz5Uza9HRtpUE= +github.com/hashicorp/vault/api v1.0.5-0.20200519221902-385fac77e20f/go.mod h1:euTFbi2YJgwcju3imEt919lhJKF68nN1cQPq3aA+kBE= +github.com/hashicorp/vault/api v1.1.1 h1:907ld+Z9cALyvbZK2qUX9cLwvSaEQsMVQB3x2KE8+AI= +github.com/hashicorp/vault/api v1.1.1/go.mod h1:29UXcn/1cLOPHQNMWA7bCz2By4PSd0VKPAydKXS5yN0= +github.com/hashicorp/vault/sdk v0.1.8/go.mod h1:tHZfc6St71twLizWNHvnnbiGFo1aq0eD2jGPLtP8kAU= +github.com/hashicorp/vault/sdk v0.1.14-0.20200519221530-14615acda45f/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10= +github.com/hashicorp/vault/sdk v0.2.1 h1:S4O6Iv/dyKlE9AUTXGa7VOvZmsCvg36toPKgV4f2P4M= +github.com/hashicorp/vault/sdk v0.2.1/go.mod h1:WfUiO1vYzfBkz1TmoE4ZGU7HD0T0Cl/rZwaxjBkgN4U= +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.0 h1:DzDIF6Sd7GD2sX0kDFpHAsJMY4L+OfTvtuaQsOYXxzk= +github.com/hashicorp/yamux v0.1.0/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= +github.com/hexops/autogold v1.3.0 h1:IEtGNPxBeBu8RMn8eKWh/Ll9dVNgSnJ7bp/qHgMQ14o= +github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= +github.com/hexops/valast v1.4.0 h1:sFzyxPDP0riFQUzSBXTCCrAbbIndHPWMndxuEjXdZlc= +github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174 h1:WlZsjVhE8Af9IcZDGgJGQpNflI3+MJSBhsgT5PCtzBQ= +github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= +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/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= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd h1:anPrsicrIi2ColgWTVPk+TrN42hJIWlfPHSBP9S0ZkM= +github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd/go.mod h1:3LVOLeyx9XVvwPgrt2be44XgSqndprz1G18rSk8KD84= +github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +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= +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.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/influxdata/cron v0.0.0-20201006132531-4bb0a200dcbe/go.mod h1:XabtPPW2qsCg0tl+kjaPU+cFS+CjQXEXbT1VJvHT4og= +github.com/influxdata/flux v0.161.0/go.mod h1:dALQQHRj+70b+o/9RtaHAAXH3toMs2M58gfY66oEll8= +github.com/influxdata/gosnowflake v1.6.9/go.mod h1:9W/BvCXOKx2gJtQ+jdi1Vudev9t9/UDOEHnlJZ/y1nU= +github.com/influxdata/httprouter v1.3.1-0.20191122104820-ee83e2772f69/go.mod h1:pwymjR6SrP3gD3pRj9RJwdl1j5s3doEEV8gS4X9qSzA= +github.com/influxdata/influx-cli/v2 v2.2.1-0.20220318222112-88ba3464cd07/go.mod h1:p1X8Ga67SzLC35qmwvTCmWXdpZOTHSWWMXJ0zwRTW50= +github.com/influxdata/influxdb-client-go/v2 v2.3.1-0.20210518120617-5d1fff431040/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= +github.com/influxdata/influxdb/v2 v2.2.0/go.mod h1:61UMNhpOjPkXR82YJWa4rYKLfaO0IVCqsq7ywIKnhVg= +github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/influxdata/influxql v1.1.1-0.20211004132434-7e7d61973256/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= +github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/influxdata/pkg-config v0.2.11/go.mod h1:EMS7Ll0S4qkzDk53XS3Z72/egBsPInt+BeRxb0WeSwk= +github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= +github.com/influxdata/tdigest v0.0.2-0.20210216194612-fc98d27c9e8b/go.mod h1:Z0kXnxzbTC2qrx4NaIzYkE1k66+6oEDQTvL95hQFh5Y= +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/jhump/protoreflect v1.6.0 h1:h5jfMVslIg6l29nsMs0D8Wj17RDVdNYti0vDN/PZZoE= +github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= +github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/jmoiron/sqlx v1.3.4/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jsternberg/zap-logfmt v1.2.0/go.mod h1:kz+1CUmCutPWABnNkOu9hOHKdT2q3TDYCcsFy9hpqb0= +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/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/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= +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/go-bindata v3.22.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM= +github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kevinburke/ssh_config v1.1.0 h1:pH/t1WS9NzT8go394IqZeJTMHVm6Cr6ZJ6AQ+mdNo/o= +github.com/kevinburke/ssh_config v1.1.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/keybase/go-crypto v0.0.0-20161004153544-93f5b35093ba/go.mod h1:ghbZscTyKdM07+Fw3KSi0hcJm+AlEUWj8QLlPtijN/M= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +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.1/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.13.1/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= +github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc= +github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.8 h1:AkaSdXYQOWeaO3neb8EM634ahkXXe3jYbVh/F9lq+GI= +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/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= +github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= +github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o= +github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/lestrrat-go/backoff/v2 v2.0.8/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y= +github.com/lestrrat-go/blackmagic v1.0.0/go.mod h1:TNgH//0vYSs8VXDCfkZLgIrVTTXQELZffUV0tz3MtdQ= +github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E= +github.com/lestrrat-go/iter v1.0.1/go.mod h1:zIdgO1mRKhn8l9vrZJZz9TUMMFbQbLeTsbqPDrJ/OJc= +github.com/lestrrat-go/jwx v1.2.25/go.mod h1:zoNuZymNl5lgdcu6P7K6ie2QRll5HVfF4xwxBBK1NxY= +github.com/lestrrat-go/option v1.0.0/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= +github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +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= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A= +github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= +github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +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-ieproxy v0.0.1 h1:qiyop7gCflfhwCzGyeT0gro3sF9AIg9HU98JORTkqfI= +github.com/mattn/go-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +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.13/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.3/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.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +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-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/mattn/go-sqlite3 v1.14.7/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.22/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/mileusna/useragent v0.0.0-20190129205925-3e331f0949a5/go.mod h1:JWhYAp2EXqUtsxTKdeGlY8Wp44M7VxThC9FEoNGi2IE= +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/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/cli v1.1.4 h1:qj8czE26AU4PbiaPXK5uVmMSM+V5BYsFBiM9HhGRLUA= +github.com/mitchellh/cli v1.1.4/go.mod h1:vTLESy5mRhKOs9KDp0/RATawxP1UqBmdrpVRMnpcvKQ= +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= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +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/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.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= +github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= +github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= +github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/hashstructure v1.0.0 h1:ZkRJX1CyOoTkar7p/mLS5TZU4nJ1Rn/F8u9dGS02Q3Y= +github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mna/pigeon v1.0.1-0.20180808201053-bb0192cfc2ae/go.mod h1:Iym28+kJVnC1hfQvv5MUtI6AiFFzvQjHcvI4RFTG/04= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0A= +github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM= +github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= +github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nightlyone/lockfile v1.0.0 h1:RHep2cFKK4PonZJDdEl4GmkabuhbsRMgk/k3uAmxBiA= +github.com/nobl9/nobl9-go v0.8.1 h1:8u9ts16Zkg+vZAdXGtC7xtDlbxDm4bQ6ag3jUEjVcT0= +github.com/nobl9/nobl9-go v0.8.1/go.mod h1:V+SUN5VoHZrBtNQ7ghBEFIzqHw/IWPzWAm6KF4agKvE= +github.com/nobl9/terraform-provider-nobl9 v0.10.0 h1:IHuWziR6toh2GfYJY2sqnqyhZKfU/2THiOjunA57nU8= +github.com/nobl9/terraform-provider-nobl9 v0.10.0/go.mod h1:1+oYvgeZn+J2sAomQAsSYZ/9AilgGCnVw5fIew5eWYQ= +github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce h1:RPclfga2SEJmgMmz2k+Mg7cowZ8yv4Trqw9UsJby758= +github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce/go.mod h1:uFMI8w+ref4v2r9jz+c9i1IfIttS/OkmLfrk1jne5hs= +github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= +github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.8.1/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= +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.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +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/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +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/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= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +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/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +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/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.8/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pierrec/lz4/v4 v4.1.9/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pierrec/lz4/v4 v4.1.11/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= +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= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= +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/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.1/go.mod h1:6gapUrK/U1TAN7ciCoNRIdVC5sbdBTUh1DKN0g6uH7E= +github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.5.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +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/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= +github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= +github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/pulumi/pulumi-java/pkg v0.5.3 h1:wqiP6TnKZm+ocTRLVwjzmd3fApCKQkvwba0qoh7zMV4= +github.com/pulumi/pulumi-java/pkg v0.5.3/go.mod h1:leMQvQ5IR3APhejwcWSfwZnkHosKHygKRaWkIyhsvtw= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.28.1 h1:eA9UqT9fywdd47eB1rLfEOwx+FE24+DFlFxsm2dIL9k= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.28.1/go.mod h1:vJGI7DS84/eqsOjn1lOml/PpnYqO/f+2PQSf0X/VLyw= +github.com/pulumi/pulumi-yaml v0.5.4 h1:O4H0PD0hiJjpci0GJFSkihS+yC8rWACKxuLyjYVt5wo= +github.com/pulumi/pulumi-yaml v0.5.4/go.mod h1:e8BcP30yunk/u3mLXDykhtEQf8tTItYgQzPHDmRvJcg= +github.com/pulumi/pulumi/pkg/v3 v3.38.0 h1:JeL4iFCpW+56CPih/FOzdEFE4UyYBmiBt7g2hlu6JyU= +github.com/pulumi/pulumi/pkg/v3 v3.38.0/go.mod h1:AYMD/cLcFwYW0lZDTIgdy+QyCj3t/pTS1hNpUNwiXAs= +github.com/pulumi/pulumi/sdk/v3 v3.38.0 h1:xqO+t81RDY9w+GT+YRUZDHuvfYEz+vgQBkdtLe/8i7U= +github.com/pulumi/pulumi/sdk/v3 v3.38.0/go.mod h1:3/6Fr/c01n7Hw7mtAlO7X8WMBgLP5AVTyYe4CRfJQc4= +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-plugin-sdk/v2 v2.0.0-20220824175045-450992f2f5b9 h1:JMw+t5I+6E8Lna7JF+ghAoOLOl23UIbshJyRNP+K1HU= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20220824175045-450992f2f5b9/go.mod h1:mYPs/uchNcBq7AclQv9QUtSf9iNcfp1Ag21jqTlDf2M= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/retailnext/hllpp v1.0.0/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= +github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rjeczalik/notify v0.9.2 h1:MiTWrPj55mNDHEiIX5YUSKefw/+lCQVoAFmD6oQm5w8= +github.com/rjeczalik/notify v0.9.2/go.mod h1:aErll2f0sUX9PXZnVNyeiObbmTlk5jnMoCa4QEjJeqM= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +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/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= +github.com/rs/zerolog v1.21.0/go.mod h1:ZPhntP/xmq1nnND05hhpAh2QMhSsA4UN3MGZ6O2J3hM= +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/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= +github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= +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/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= +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/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +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/segmentio/asm v1.1.3 h1:WM03sfUOENvvKexOLp+pCqgb/WDjsi7EK8gIsICtzhc= +github.com/segmentio/asm v1.1.3/go.mod h1:Ld3L4ZXGNcSLRg4JBsZ3//1+f/TjYl0Mzen/DQy1EJg= +github.com/segmentio/encoding v0.3.5 h1:UZEiaZ55nlXGDL92scoVuw00RmiRCazIEmvPSbSvt8Y= +github.com/segmentio/encoding v0.3.5/go.mod h1:n0JeuIqEQrQoPDGsjo8UNd1iA0U8d8+oHAA4E3G3OxM= +github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +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/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/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/assertions v1.0.1/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= +github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/smartystreets/goconvey v0.0.0-20190731233626-505e41936337/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +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.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= +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/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +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/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= +github.com/spf13/viper v1.6.1/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= +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/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +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.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/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.2 h1:4jaiDzPyXQvSd7D0EjG45355tLlV3VOECpq10pLC+8s= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/testcontainers/testcontainers-go v0.0.0-20190108154635-47c0da630f72/go.mod h1:wt/nMz68+kIO4RoguOZzsdv1B3kTYw+SuIKyJYRQpgE= +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/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +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-go/tally v3.3.15+incompatible/go.mod h1:YDTIBxdXyOU/sCWilKB4bgyufu1cEi0jdVnRdxvjnmU= +github.com/uber/athenadriver v1.1.4/go.mod h1:tQjho4NzXw55LGfSZEcETuYydpY1vtmixUabHkC1K/E= +github.com/uber/jaeger-client-go v2.28.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +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/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +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.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= +github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.5/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= +github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/vertica/vertica-sql-go v1.1.1/go.mod h1:fGr44VWdEvL+f+Qt5LkKLOT7GoxaWdoUCnPBU9h6t04= +github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +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/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vbd1qPqc= +github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +github.com/willf/bitset v1.1.9/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= +github.com/xanzy/ssh-agent v0.3.1 h1:AmzO1SSWxw73zxFZPRwaMN1MohDw8UyHnmuxyceTEGo= +github.com/xanzy/ssh-agent v0.3.1/go.mod h1:QIE4lCeL7nkC25x+yA3LBIYfwCc1TFziCtG7cBAac6w= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xlab/treeprint v1.0.0/go.mod h1:IoImgRak9i3zJyuxOKUP1v4UZd1tMoKkq/Cimt1uhCg= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= +github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= +github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= +github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= +github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= +github.com/zclconf/go-cty v1.10.0 h1:mp9ZXQeIcN8kAwuqorjH+Q+njbJKjLrvB2yIh4q7U+0= +github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= +github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= +github.com/zclconf/go-cty-yaml v1.0.1 h1:up11wlgAaDvlAGENcFDnZgkn0qUJurso7k6EpURKNF8= +github.com/zclconf/go-cty-yaml v1.0.1/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= +github.com/zeebo/xxh3 v0.13.0/go.mod h1:AQY73TOrhF3jNsdiM9zZOb8MThrYbZONHj7ryDBaLpg= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.opencensus.io v0.15.0/go.mod h1:UffZAU+4sDEINUGP/B7UfBBkq4fqLu9zXAX7ke6CHW0= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.22.6/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= +go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= +go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= +go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +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= +go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.14.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= +go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +gocloud.dev v0.24.0 h1:cNtHD07zQQiv02OiwwDyVMuHmR7iQt2RLkzoAgz7wBs= +gocloud.dev v0.24.0/go.mod h1:uA+als++iBX5ShuG4upQo/3Zoz49iIPlYUWHV5mM8w8= +gocloud.dev/secrets/hashivault v0.24.0 h1:rutqnevHcRze+92YMGmjCH3gX+qES8IArg5qPhr8ZnM= +gocloud.dev/secrets/hashivault v0.24.0/go.mod h1:I4EieZgy8VTp5iVK2jSPlTidjENujhKq2Y/wXz8r8V0= +golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180505025534-4ec37c66abab/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/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-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/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-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= +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= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220427172511-eb4f295cb31f/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-20220722155217-630584e8d5aa h1:zuSxTR4o9y82ebqCUJYNGJbGPo6sKVl54f/TVDObg1c= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +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-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= +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-20211028214138-64b4c8e87d1a/go.mod h1:a3o/VtDNHN+dCVLEpzjjUHOzR+Ln3DHX056ZPzoZGGA= +golang.org/x/exp v0.0.0-20211216164055-b2b84827b756/go.mod h1:b9TAUYHmRtqA6klRHApnXMnj+OyLce4yF5cZCUbk2ps= +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/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mobile v0.0.0-20201217150744-e6ae53a27f4f/go.mod h1:skQtrUTUwhdJvXM/2KKJzY8pDgNr9I/FOMqDVRPBUS4= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +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/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.5.1-0.20210830214625-1b1db11ec8f4/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.6.0-dev.0.20211013180041-c96bc1413d57/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191009170851-d66e71096ffb/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/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-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211118161319-6a13c67c3ce4/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +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/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210126194326-f9ce19ea3013/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1 h1:lxqLZaMad/dJHMFZH0NiNpiEZI/nhgWhe4wgzpE+MuA= +golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +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= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +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-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f h1:Ax0t5p6N38Ga0dThY21weqDEyz2oklo4IvDkpigvkD8= +golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/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= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180926160741-c2ed4eda69e7/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181228144115-9a3f9b0469bb/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-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= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/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-20190530182044-ad28b68e88f1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/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-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200727154430-2d971f7391a4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/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-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +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-20210223095934-7937bea0104d/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= +golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/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-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= +golang.org/x/sys v0.0.0-20210601080250-7ecdf8ef093b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e/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-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/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/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-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +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/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= +golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +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.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +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= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/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-20181030221726-6c7e314b6563/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= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/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= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304024140-c4206d458c3f/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/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-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201118003311-bd56c0adb394/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-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.8-0.20211029000441-d6a9af8af023/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= +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= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f h1:uF6paiQQebLeSXkrTqHqz0MXhXXS1KgF41eUdBNvxK0= +golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/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.0.0-20181121035319-3f7ecaa7e8ca/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/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +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= +google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +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.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.37.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.46.0/go.mod h1:ceL4oozhkAiTID8XMmJBsIxID/9wMXJVVFXPg4ylg3I= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.52.0/go.mod h1:Him/adpjt0sxtkWViy0b6xyKW/SD71CwdJ7HqJo7SrU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.58.0/go.mod h1:cAbP2FsxoGVNwtgNAmmn3y5G1TWAiVYRmg4yku3lv+E= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= +google.golang.org/api v0.97.0 h1:x/vEL1XDF/2V4xzdNgFPaKHluRESo2aTsL7QzHnBtGQ= +google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +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.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190708153700-3bdd9d9f5532/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +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= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210517163617-5e0236093d7a/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210601144548-a796c710e9b6/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210630183607-d20f26d13c79/go.mod h1:yiaVoXHpRzHGyxV3o4DktVWY4mSUErTKaeEOq6C3t3U= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210721163202-f1cecdd8b78a/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210722135532-667f2b7c528f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210825212027-de86158e7fda/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211018162055-cf77aa76bad2/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006 h1:mmbq5q8M1t7dhkLw320YK4PsOXm6jdnUAkErImaIqOg= +google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= +google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +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.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= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.49.0 h1:WTLtQzmQori5FUH25Pq4WT22oCsv8USpQ+F6rqtsmxw= +google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0/go.mod h1:DNq5QpG7LJqD2AamLZ7zvKE0DEpVl2BSEVjFycAAjRY= +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= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +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.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 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f h1:AQkMzsSzHWrgZWqGRpuRaRPDmyNibcXlpGcnQJ7HxZw= +gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f/go.mod h1:CaHjv79TCgAvXMSFJSVgonHXYWxnhzI3eoHtnX5UgUo= +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= +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.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.46.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= +gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +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.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/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/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/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= +gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +gotest.tools/v3 v3.0.2 h1:kG1BFyqVHuQoVQiR1bWGnfz/fmHvvuiSPIV7rvl360E= +gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +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= +honnef.co/go/tools v0.2.0/go.mod h1:lPVVZ2BS5TfnjLyizF7o7hv7j9/L+8cZY2hLyjP9cGY= +lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= +lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= +mvdan.cc/gofumpt v0.1.0 h1:hsVv+Y9UsZ/mFZTxJZuHVI6shSQCtzZ11h1JEFPAZLw= +nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g= +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= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= +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/provider/resources.go b/provider/resources.go index 7360f61..77b7fc3 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -12,27 +12,30 @@ // See the License for the specific language governing permissions and // limitations under the License. -package xyz +package nobl9 import ( "fmt" "path/filepath" + "strings" + "github.com/nobl9/terraform-provider-nobl9/nobl9" + "github.com/piclemx/pulumi-nobl9/provider/pkg/version" "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge" shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim" shimv2 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2" - "github.com/pulumi/pulumi-xyz/provider/pkg/version" "github.com/pulumi/pulumi/sdk/v3/go/common/resource" - "github.com/terraform-providers/terraform-provider-xyz/xyz" + "golang.org/x/text/cases" + "golang.org/x/text/language" ) // all of the token components used below. const ( // This variable controls the default name of the package in the package // registries for nodejs and python: - mainPkg = "xyz" + mainPkg = "nobl9" // modules: - mainMod = "index" // the xyz module + mainMod = "index" // the nobl9 module ) // preConfigureCallback is called before the providerConfigure function of the underlying provider. @@ -46,12 +49,12 @@ func preConfigureCallback(vars resource.PropertyMap, c shim.ResourceConfig) erro // Provider returns additional overlaid schema and metadata associated with the provider.. func Provider() tfbridge.ProviderInfo { // Instantiate the Terraform provider - p := shimv2.NewProvider(xyz.Provider()) + p := shimv2.NewProvider(nobl9.Provider()) // Create a Pulumi provider mapping prov := tfbridge.ProviderInfo{ P: p, - Name: "xyz", + Name: "nobl9", // DisplayName is a way to be able to change the casing of the provider // name when being displayed on the Pulumi registry DisplayName: "", @@ -59,7 +62,7 @@ func Provider() tfbridge.ProviderInfo { // Change this to your personal name (or a company name) that you // would like to be shown in the Pulumi Registry if this package is published // there. - Publisher: "Pulumi", + Publisher: "piclemx", // LogoURL is optional but useful to help identify your package in the Pulumi Registry // if this package is published there. // @@ -69,18 +72,18 @@ func Provider() tfbridge.ProviderInfo { // PluginDownloadURL is an optional URL used to download the Provider // for use in Pulumi programs // e.g https://github.com/org/pulumi-provider-name/releases/ - PluginDownloadURL: "", - Description: "A Pulumi package for creating and managing xyz cloud resources.", + PluginDownloadURL: "https://github.com/piclemx/pulumi-nobl9/releases/", + Description: "A Pulumi package for creating and managing Nobl9 cloud resources.", // category/cloud tag helps with categorizing the package in the Pulumi Registry. // For all available categories, see `Keywords` in // https://www.pulumi.com/docs/guides/pulumi-packages/schema/#package. - Keywords: []string{"pulumi", "xyz", "category/cloud"}, + Keywords: []string{"pulumi", "nobl9", "n9", "category/cloud"}, License: "Apache-2.0", Homepage: "https://www.pulumi.com", - Repository: "https://github.com/pulumi/pulumi-xyz", + Repository: "https://github.com/piclemx/pulumi-nobl9", // The GitHub Org for the provider - defaults to `terraform-providers`. Note that this // should match the TF provider module's require directive, not any replace directives. - GitHubOrg: "", + GitHubOrg: "nobl9", Config: map[string]*tfbridge.SchemaInfo{ // Add any required configuration here, or remove the example below if // no additional points are required. @@ -92,25 +95,8 @@ func Provider() tfbridge.ProviderInfo { // }, }, PreConfigureCallback: preConfigureCallback, - Resources: map[string]*tfbridge.ResourceInfo{ - // Map each resource in the Terraform provider to a Pulumi type. Two examples - // are below - the single line form is the common case. The multi-line form is - // needed only if you wish to override types or other default options. - // - // "aws_iam_role": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IamRole")} - // - // "aws_acm_certificate": { - // Tok: tfbridge.MakeResource(mainPkg, mainMod, "Certificate"), - // Fields: map[string]*tfbridge.SchemaInfo{ - // "tags": {Type: tfbridge.MakeType(mainPkg, "Tags")}, - // }, - // }, - }, - DataSources: map[string]*tfbridge.DataSourceInfo{ - // Map each resource in the Terraform provider to a Pulumi function. An example - // is below. - // "aws_ami": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getAmi")}, - }, + Resources: map[string]*tfbridge.ResourceInfo{}, + DataSources: map[string]*tfbridge.DataSourceInfo{}, JavaScript: &tfbridge.JavaScriptInfo{ // List any npm dependencies and their versions Dependencies: map[string]string{ @@ -133,7 +119,7 @@ func Provider() tfbridge.ProviderInfo { }, Golang: &tfbridge.GolangInfo{ ImportBasePath: filepath.Join( - fmt.Sprintf("github.com/pulumi/pulumi-%[1]s/sdk/", mainPkg), + fmt.Sprintf("github.com/piclemx/pulumi-%[1]s/sdk/", mainPkg), tfbridge.GetModuleMajorVersion(version.Version), "go", mainPkg, @@ -147,6 +133,49 @@ func Provider() tfbridge.ProviderInfo { }, } + for _, res := range []string{ + "nobl9_agent", + "nobl9_alert_method_discord", + "nobl9_alert_method_email", + "nobl9_alert_method_jira", + "nobl9_alert_method_msteams", + "nobl9_alert_method_opsgenie", + "nobl9_alert_method_pagerduty", + "nobl9_alert_method_servicenow", + "nobl9_alert_method_slack", + "nobl9_alert_method_webhook", + "nobl9_alert_policy", + "nobl9_direct_appdynamics", + "nobl9_direct_bigquery", + "nobl9_direct_cloudwatch", + "nobl9_direct_datadog", + "nobl9_direct_dynatrace", + "nobl9_direct_gcm", + "nobl9_direct_influxdb", + "nobl9_direct_instana", + "nobl9_direct_lightstep", + "nobl9_direct_newrelic", + "nobl9_direct_pingdom", + "nobl9_direct_redshift", + "nobl9_direct_splunk", + "nobl9_direct_splunk_observability", + "nobl9_direct_sumologic", + "nobl9_direct_thousandeyes", + "nobl9_project", + "nobl9_role_binding", + "nobl9_service", + "nobl9_slo", + } { + name := strings.Builder{} + caser := cases.Title(language.English) + for _, s := range strings.Split(res, "_")[1:] { + name.WriteString(caser.String(s)) + } + prov.Resources[res] = &tfbridge.ResourceInfo{ + Tok: tfbridge.MakeResource(mainPkg, mainMod, name.String()), + } + } + prov.SetAutonaming(255, "-") return prov diff --git a/sdk/dotnet/Agent.cs b/sdk/dotnet/Agent.cs new file mode 100644 index 0000000..bf1b3f4 --- /dev/null +++ b/sdk/dotnet/Agent.cs @@ -0,0 +1,694 @@ +// *** 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.Nobl9 +{ + /// + /// The Agent is a lightweight application that executes the queries defined for your Nobl9 SLOs. Queries are written in the language supported by the data source in question and executed via native APIs. + /// + /// The Agent then sends your SLI metrics back to Nobl9 for processing and error budget calculation. + /// + /// For more information, refer to [Agent configuration | Nobl9 Documentation](https://docs.nobl9.com/nobl9_agent) + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var thisProject = new Nobl9.Project("thisProject", new() + /// { + /// DisplayName = "Test N9 Terraform", + /// Description = "An example N9 Terraform project", + /// }); + /// + /// var thisAgent = new Nobl9.Agent("thisAgent", new() + /// { + /// Project = thisProject.Name, + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// AgentType = "prometheus", + /// PrometheusConfig = new Nobl9.Inputs.AgentPrometheusConfigArgs + /// { + /// Url = "http://web.net", + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/agent:Agent")] + public partial class Agent : global::Pulumi.CustomResource + { + /// + /// The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + /// + [Output("agentType")] + public Output AgentType { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + /// + [Output("amazonPrometheusConfig")] + public Output AmazonPrometheusConfig { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + /// + [Output("appdynamicsConfig")] + public Output AppdynamicsConfig { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + /// + [Output("bigqueryConfig")] + public Output BigqueryConfig { get; private set; } = null!; + + /// + /// client_id of created agent. + /// + [Output("clientId")] + public Output ClientId { get; private set; } = null!; + + /// + /// client_secret of created agent. + /// + [Output("clientSecret")] + public Output ClientSecret { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + /// + [Output("cloudwatchConfig")] + public Output CloudwatchConfig { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + /// + [Output("datadogConfig")] + public Output DatadogConfig { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + /// + [Output("dynatraceConfig")] + public Output DynatraceConfig { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + /// + [Output("elasticsearchConfig")] + public Output ElasticsearchConfig { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + /// + [Output("gcmConfig")] + public Output GcmConfig { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + /// + [Output("grafanaLokiConfig")] + public Output GrafanaLokiConfig { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + /// + [Output("graphiteConfig")] + public Output GraphiteConfig { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + /// + [Output("influxdbConfig")] + public Output InfluxdbConfig { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + /// + [Output("instanaConfig")] + public Output InstanaConfig { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + /// + [Output("lightstepConfig")] + public Output LightstepConfig { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + /// + [Output("newrelicConfig")] + public Output NewrelicConfig { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + /// + [Output("opentsdbConfig")] + public Output OpentsdbConfig { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + /// + [Output("pingdomConfig")] + public Output PingdomConfig { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + /// + [Output("prometheusConfig")] + public Output PrometheusConfig { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + /// + [Output("redshiftConfig")] + public Output RedshiftConfig { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + /// + [Output("splunkConfig")] + public Output SplunkConfig { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + /// + [Output("splunkObservabilityConfig")] + public Output SplunkObservabilityConfig { get; private set; } = null!; + + /// + /// Status of the created agent. + /// + [Output("status")] + public Output> Status { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + /// + [Output("sumologicConfig")] + public Output SumologicConfig { get; private set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + /// + [Output("thousandeyesConfig")] + public Output ThousandeyesConfig { get; private set; } = null!; + + + /// + /// Create a Agent 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 Agent(string name, AgentArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/agent:Agent", name, args ?? new AgentArgs(), MakeResourceOptions(options, "")) + { + } + + private Agent(string name, Input id, AgentState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/agent:Agent", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 Agent 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 Agent Get(string name, Input id, AgentState? state = null, CustomResourceOptions? options = null) + { + return new Agent(name, id, state, options); + } + } + + public sealed class AgentArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + /// + [Input("agentType", required: true)] + public Input AgentType { get; set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + /// + [Input("amazonPrometheusConfig")] + public Input? AmazonPrometheusConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + /// + [Input("appdynamicsConfig")] + public Input? AppdynamicsConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + /// + [Input("bigqueryConfig")] + public Input? BigqueryConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + /// + [Input("cloudwatchConfig")] + public Input? CloudwatchConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + /// + [Input("datadogConfig")] + public Input? DatadogConfig { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + /// + [Input("dynatraceConfig")] + public Input? DynatraceConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + /// + [Input("elasticsearchConfig")] + public Input? ElasticsearchConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + /// + [Input("gcmConfig")] + public Input? GcmConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + /// + [Input("grafanaLokiConfig")] + public Input? GrafanaLokiConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + /// + [Input("graphiteConfig")] + public Input? GraphiteConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + /// + [Input("influxdbConfig")] + public Input? InfluxdbConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + /// + [Input("instanaConfig")] + public Input? InstanaConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + /// + [Input("lightstepConfig")] + public Input? LightstepConfig { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + /// + [Input("newrelicConfig")] + public Input? NewrelicConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + /// + [Input("opentsdbConfig")] + public Input? OpentsdbConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + /// + [Input("pingdomConfig")] + public Input? PingdomConfig { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + /// + [Input("prometheusConfig")] + public Input? PrometheusConfig { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + /// + [Input("redshiftConfig")] + public Input? RedshiftConfig { get; set; } + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + /// + [Input("splunkConfig")] + public Input? SplunkConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + /// + [Input("splunkObservabilityConfig")] + public Input? SplunkObservabilityConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + /// + [Input("sumologicConfig")] + public Input? SumologicConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + /// + [Input("thousandeyesConfig")] + public Input? ThousandeyesConfig { get; set; } + + public AgentArgs() + { + } + public static new AgentArgs Empty => new AgentArgs(); + } + + public sealed class AgentState : global::Pulumi.ResourceArgs + { + /// + /// The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + /// + [Input("agentType")] + public Input? AgentType { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + /// + [Input("amazonPrometheusConfig")] + public Input? AmazonPrometheusConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + /// + [Input("appdynamicsConfig")] + public Input? AppdynamicsConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + /// + [Input("bigqueryConfig")] + public Input? BigqueryConfig { get; set; } + + /// + /// client_id of created agent. + /// + [Input("clientId")] + public Input? ClientId { get; set; } + + /// + /// client_secret of created agent. + /// + [Input("clientSecret")] + public Input? ClientSecret { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + /// + [Input("cloudwatchConfig")] + public Input? CloudwatchConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + /// + [Input("datadogConfig")] + public Input? DatadogConfig { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + /// + [Input("dynatraceConfig")] + public Input? DynatraceConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + /// + [Input("elasticsearchConfig")] + public Input? ElasticsearchConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + /// + [Input("gcmConfig")] + public Input? GcmConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + /// + [Input("grafanaLokiConfig")] + public Input? GrafanaLokiConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + /// + [Input("graphiteConfig")] + public Input? GraphiteConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + /// + [Input("influxdbConfig")] + public Input? InfluxdbConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + /// + [Input("instanaConfig")] + public Input? InstanaConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + /// + [Input("lightstepConfig")] + public Input? LightstepConfig { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + /// + [Input("newrelicConfig")] + public Input? NewrelicConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + /// + [Input("opentsdbConfig")] + public Input? OpentsdbConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + /// + [Input("pingdomConfig")] + public Input? PingdomConfig { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + /// + [Input("prometheusConfig")] + public Input? PrometheusConfig { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + /// + [Input("redshiftConfig")] + public Input? RedshiftConfig { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + /// + [Input("splunkConfig")] + public Input? SplunkConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + /// + [Input("splunkObservabilityConfig")] + public Input? SplunkObservabilityConfig { get; set; } + + [Input("status")] + private InputMap? _status; + + /// + /// Status of the created agent. + /// + public InputMap Status + { + get => _status ?? (_status = new InputMap()); + set => _status = value; + } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + /// + [Input("sumologicConfig")] + public Input? SumologicConfig { get; set; } + + /// + /// [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + /// + [Input("thousandeyesConfig")] + public Input? ThousandeyesConfig { get; set; } + + public AgentState() + { + } + public static new AgentState Empty => new AgentState(); + } +} diff --git a/sdk/dotnet/AlertMethodDiscord.cs b/sdk/dotnet/AlertMethodDiscord.cs new file mode 100644 index 0000000..69b4620 --- /dev/null +++ b/sdk/dotnet/AlertMethodDiscord.cs @@ -0,0 +1,165 @@ +// *** 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.Nobl9 +{ + [Nobl9ResourceType("nobl9:index/alertMethodDiscord:AlertMethodDiscord")] + public partial class AlertMethodDiscord : global::Pulumi.CustomResource + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a AlertMethodDiscord 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 AlertMethodDiscord(string name, AlertMethodDiscordArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodDiscord:AlertMethodDiscord", name, args ?? new AlertMethodDiscordArgs(), MakeResourceOptions(options, "")) + { + } + + private AlertMethodDiscord(string name, Input id, AlertMethodDiscordState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodDiscord:AlertMethodDiscord", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 AlertMethodDiscord 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 AlertMethodDiscord Get(string name, Input id, AlertMethodDiscordState? state = null, CustomResourceOptions? options = null) + { + return new AlertMethodDiscord(name, id, state, options); + } + } + + public sealed class AlertMethodDiscordArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + /// + [Input("url")] + public Input? Url { get; set; } + + public AlertMethodDiscordArgs() + { + } + public static new AlertMethodDiscordArgs Empty => new AlertMethodDiscordArgs(); + } + + public sealed class AlertMethodDiscordState : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + /// + [Input("url")] + public Input? Url { get; set; } + + public AlertMethodDiscordState() + { + } + public static new AlertMethodDiscordState Empty => new AlertMethodDiscordState(); + } +} diff --git a/sdk/dotnet/AlertMethodEmail.cs b/sdk/dotnet/AlertMethodEmail.cs new file mode 100644 index 0000000..42fe7f0 --- /dev/null +++ b/sdk/dotnet/AlertMethodEmail.cs @@ -0,0 +1,273 @@ +// *** 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.Nobl9 +{ + [Nobl9ResourceType("nobl9:index/alertMethodEmail:AlertMethodEmail")] + public partial class AlertMethodEmail : global::Pulumi.CustomResource + { + /// + /// Blind carbon copy recipients. The maximum number of recipients is 10. + /// + [Output("bccs")] + public Output> Bccs { get; private set; } = null!; + + /// + /// The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + /// + [Output("body")] + public Output Body { get; private set; } = null!; + + /// + /// Carbon copy recipients. The maximum number of recipients is 10. + /// + [Output("ccs")] + public Output> Ccs { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// The Subject of the email alert. + /// + [Output("subject")] + public Output Subject { get; private set; } = null!; + + /// + /// Recipients. The maximum number of recipients is 10. + /// + [Output("tos")] + public Output> Tos { get; private set; } = null!; + + + /// + /// Create a AlertMethodEmail 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 AlertMethodEmail(string name, AlertMethodEmailArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodEmail:AlertMethodEmail", name, args ?? new AlertMethodEmailArgs(), MakeResourceOptions(options, "")) + { + } + + private AlertMethodEmail(string name, Input id, AlertMethodEmailState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodEmail:AlertMethodEmail", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 AlertMethodEmail 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 AlertMethodEmail Get(string name, Input id, AlertMethodEmailState? state = null, CustomResourceOptions? options = null) + { + return new AlertMethodEmail(name, id, state, options); + } + } + + public sealed class AlertMethodEmailArgs : global::Pulumi.ResourceArgs + { + [Input("bccs")] + private InputList? _bccs; + + /// + /// Blind carbon copy recipients. The maximum number of recipients is 10. + /// + public InputList Bccs + { + get => _bccs ?? (_bccs = new InputList()); + set => _bccs = value; + } + + /// + /// The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + /// + [Input("body", required: true)] + public Input Body { get; set; } = null!; + + [Input("ccs")] + private InputList? _ccs; + + /// + /// Carbon copy recipients. The maximum number of recipients is 10. + /// + public InputList Ccs + { + get => _ccs ?? (_ccs = new InputList()); + set => _ccs = value; + } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// The Subject of the email alert. + /// + [Input("subject", required: true)] + public Input Subject { get; set; } = null!; + + [Input("tos", required: true)] + private InputList? _tos; + + /// + /// Recipients. The maximum number of recipients is 10. + /// + public InputList Tos + { + get => _tos ?? (_tos = new InputList()); + set => _tos = value; + } + + public AlertMethodEmailArgs() + { + } + public static new AlertMethodEmailArgs Empty => new AlertMethodEmailArgs(); + } + + public sealed class AlertMethodEmailState : global::Pulumi.ResourceArgs + { + [Input("bccs")] + private InputList? _bccs; + + /// + /// Blind carbon copy recipients. The maximum number of recipients is 10. + /// + public InputList Bccs + { + get => _bccs ?? (_bccs = new InputList()); + set => _bccs = value; + } + + /// + /// The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + /// + [Input("body")] + public Input? Body { get; set; } + + [Input("ccs")] + private InputList? _ccs; + + /// + /// Carbon copy recipients. The maximum number of recipients is 10. + /// + public InputList Ccs + { + get => _ccs ?? (_ccs = new InputList()); + set => _ccs = value; + } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// The Subject of the email alert. + /// + [Input("subject")] + public Input? Subject { get; set; } + + [Input("tos")] + private InputList? _tos; + + /// + /// Recipients. The maximum number of recipients is 10. + /// + public InputList Tos + { + get => _tos ?? (_tos = new InputList()); + set => _tos = value; + } + + public AlertMethodEmailState() + { + } + public static new AlertMethodEmailState Empty => new AlertMethodEmailState(); + } +} diff --git a/sdk/dotnet/AlertMethodJira.cs b/sdk/dotnet/AlertMethodJira.cs new file mode 100644 index 0000000..f5ae0ca --- /dev/null +++ b/sdk/dotnet/AlertMethodJira.cs @@ -0,0 +1,219 @@ +// *** 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.Nobl9 +{ + [Nobl9ResourceType("nobl9:index/alertMethodJira:AlertMethodJira")] + public partial class AlertMethodJira : global::Pulumi.CustomResource + { + /// + /// [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + /// + [Output("apitoken")] + public Output Apitoken { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// The code of the Jira project. + /// + [Output("projectKey")] + public Output ProjectKey { get; private set; } = null!; + + /// + /// Jira instance URL. The `https://` prefix is required. + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + /// + /// Jira username for the owner of the API Token. + /// + [Output("username")] + public Output Username { get; private set; } = null!; + + + /// + /// Create a AlertMethodJira 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 AlertMethodJira(string name, AlertMethodJiraArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodJira:AlertMethodJira", name, args ?? new AlertMethodJiraArgs(), MakeResourceOptions(options, "")) + { + } + + private AlertMethodJira(string name, Input id, AlertMethodJiraState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodJira:AlertMethodJira", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 AlertMethodJira 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 AlertMethodJira Get(string name, Input id, AlertMethodJiraState? state = null, CustomResourceOptions? options = null) + { + return new AlertMethodJira(name, id, state, options); + } + } + + public sealed class AlertMethodJiraArgs : global::Pulumi.ResourceArgs + { + /// + /// [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + /// + [Input("apitoken")] + public Input? Apitoken { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// The code of the Jira project. + /// + [Input("projectKey", required: true)] + public Input ProjectKey { get; set; } = null!; + + /// + /// Jira instance URL. The `https://` prefix is required. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + /// + /// Jira username for the owner of the API Token. + /// + [Input("username", required: true)] + public Input Username { get; set; } = null!; + + public AlertMethodJiraArgs() + { + } + public static new AlertMethodJiraArgs Empty => new AlertMethodJiraArgs(); + } + + public sealed class AlertMethodJiraState : global::Pulumi.ResourceArgs + { + /// + /// [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + /// + [Input("apitoken")] + public Input? Apitoken { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// The code of the Jira project. + /// + [Input("projectKey")] + public Input? ProjectKey { get; set; } + + /// + /// Jira instance URL. The `https://` prefix is required. + /// + [Input("url")] + public Input? Url { get; set; } + + /// + /// Jira username for the owner of the API Token. + /// + [Input("username")] + public Input? Username { get; set; } + + public AlertMethodJiraState() + { + } + public static new AlertMethodJiraState Empty => new AlertMethodJiraState(); + } +} diff --git a/sdk/dotnet/AlertMethodMsteams.cs b/sdk/dotnet/AlertMethodMsteams.cs new file mode 100644 index 0000000..936449c --- /dev/null +++ b/sdk/dotnet/AlertMethodMsteams.cs @@ -0,0 +1,165 @@ +// *** 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.Nobl9 +{ + [Nobl9ResourceType("nobl9:index/alertMethodMsteams:AlertMethodMsteams")] + public partial class AlertMethodMsteams : global::Pulumi.CustomResource + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a AlertMethodMsteams 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 AlertMethodMsteams(string name, AlertMethodMsteamsArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodMsteams:AlertMethodMsteams", name, args ?? new AlertMethodMsteamsArgs(), MakeResourceOptions(options, "")) + { + } + + private AlertMethodMsteams(string name, Input id, AlertMethodMsteamsState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodMsteams:AlertMethodMsteams", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 AlertMethodMsteams 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 AlertMethodMsteams Get(string name, Input id, AlertMethodMsteamsState? state = null, CustomResourceOptions? options = null) + { + return new AlertMethodMsteams(name, id, state, options); + } + } + + public sealed class AlertMethodMsteamsArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + /// + [Input("url")] + public Input? Url { get; set; } + + public AlertMethodMsteamsArgs() + { + } + public static new AlertMethodMsteamsArgs Empty => new AlertMethodMsteamsArgs(); + } + + public sealed class AlertMethodMsteamsState : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + /// + [Input("url")] + public Input? Url { get; set; } + + public AlertMethodMsteamsState() + { + } + public static new AlertMethodMsteamsState Empty => new AlertMethodMsteamsState(); + } +} diff --git a/sdk/dotnet/AlertMethodOpsgenie.cs b/sdk/dotnet/AlertMethodOpsgenie.cs new file mode 100644 index 0000000..7634845 --- /dev/null +++ b/sdk/dotnet/AlertMethodOpsgenie.cs @@ -0,0 +1,183 @@ +// *** 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.Nobl9 +{ + [Nobl9ResourceType("nobl9:index/alertMethodOpsgenie:AlertMethodOpsgenie")] + public partial class AlertMethodOpsgenie : global::Pulumi.CustomResource + { + /// + /// Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + /// + [Output("auth")] + public Output Auth { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a AlertMethodOpsgenie 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 AlertMethodOpsgenie(string name, AlertMethodOpsgenieArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodOpsgenie:AlertMethodOpsgenie", name, args ?? new AlertMethodOpsgenieArgs(), MakeResourceOptions(options, "")) + { + } + + private AlertMethodOpsgenie(string name, Input id, AlertMethodOpsgenieState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodOpsgenie:AlertMethodOpsgenie", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 AlertMethodOpsgenie 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 AlertMethodOpsgenie Get(string name, Input id, AlertMethodOpsgenieState? state = null, CustomResourceOptions? options = null) + { + return new AlertMethodOpsgenie(name, id, state, options); + } + } + + public sealed class AlertMethodOpsgenieArgs : global::Pulumi.ResourceArgs + { + /// + /// Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + /// + [Input("auth")] + public Input? Auth { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AlertMethodOpsgenieArgs() + { + } + public static new AlertMethodOpsgenieArgs Empty => new AlertMethodOpsgenieArgs(); + } + + public sealed class AlertMethodOpsgenieState : global::Pulumi.ResourceArgs + { + /// + /// Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + /// + [Input("auth")] + public Input? Auth { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + /// + [Input("url")] + public Input? Url { get; set; } + + public AlertMethodOpsgenieState() + { + } + public static new AlertMethodOpsgenieState Empty => new AlertMethodOpsgenieState(); + } +} diff --git a/sdk/dotnet/AlertMethodPagerduty.cs b/sdk/dotnet/AlertMethodPagerduty.cs new file mode 100644 index 0000000..1e47d24 --- /dev/null +++ b/sdk/dotnet/AlertMethodPagerduty.cs @@ -0,0 +1,165 @@ +// *** 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.Nobl9 +{ + [Nobl9ResourceType("nobl9:index/alertMethodPagerduty:AlertMethodPagerduty")] + public partial class AlertMethodPagerduty : global::Pulumi.CustomResource + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + /// + [Output("integrationKey")] + public Output IntegrationKey { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + + /// + /// Create a AlertMethodPagerduty 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 AlertMethodPagerduty(string name, AlertMethodPagerdutyArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodPagerduty:AlertMethodPagerduty", name, args ?? new AlertMethodPagerdutyArgs(), MakeResourceOptions(options, "")) + { + } + + private AlertMethodPagerduty(string name, Input id, AlertMethodPagerdutyState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodPagerduty:AlertMethodPagerduty", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 AlertMethodPagerduty 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 AlertMethodPagerduty Get(string name, Input id, AlertMethodPagerdutyState? state = null, CustomResourceOptions? options = null) + { + return new AlertMethodPagerduty(name, id, state, options); + } + } + + public sealed class AlertMethodPagerdutyArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + /// + [Input("integrationKey")] + public Input? IntegrationKey { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + public AlertMethodPagerdutyArgs() + { + } + public static new AlertMethodPagerdutyArgs Empty => new AlertMethodPagerdutyArgs(); + } + + public sealed class AlertMethodPagerdutyState : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + /// + [Input("integrationKey")] + public Input? IntegrationKey { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + public AlertMethodPagerdutyState() + { + } + public static new AlertMethodPagerdutyState Empty => new AlertMethodPagerdutyState(); + } +} diff --git a/sdk/dotnet/AlertMethodServicenow.cs b/sdk/dotnet/AlertMethodServicenow.cs new file mode 100644 index 0000000..9156b6a --- /dev/null +++ b/sdk/dotnet/AlertMethodServicenow.cs @@ -0,0 +1,201 @@ +// *** 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.Nobl9 +{ + [Nobl9ResourceType("nobl9:index/alertMethodServicenow:AlertMethodServicenow")] + public partial class AlertMethodServicenow : global::Pulumi.CustomResource + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + /// + [Output("instanceName")] + public Output InstanceName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// ServiceNow password. + /// + [Output("password")] + public Output Password { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// ServiceNow username. + /// + [Output("username")] + public Output Username { get; private set; } = null!; + + + /// + /// Create a AlertMethodServicenow 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 AlertMethodServicenow(string name, AlertMethodServicenowArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodServicenow:AlertMethodServicenow", name, args ?? new AlertMethodServicenowArgs(), MakeResourceOptions(options, "")) + { + } + + private AlertMethodServicenow(string name, Input id, AlertMethodServicenowState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodServicenow:AlertMethodServicenow", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 AlertMethodServicenow 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 AlertMethodServicenow Get(string name, Input id, AlertMethodServicenowState? state = null, CustomResourceOptions? options = null) + { + return new AlertMethodServicenow(name, id, state, options); + } + } + + public sealed class AlertMethodServicenowArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + /// + [Input("instanceName", required: true)] + public Input InstanceName { get; set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// ServiceNow password. + /// + [Input("password")] + public Input? Password { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// ServiceNow username. + /// + [Input("username", required: true)] + public Input Username { get; set; } = null!; + + public AlertMethodServicenowArgs() + { + } + public static new AlertMethodServicenowArgs Empty => new AlertMethodServicenowArgs(); + } + + public sealed class AlertMethodServicenowState : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + /// + [Input("instanceName")] + public Input? InstanceName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// ServiceNow password. + /// + [Input("password")] + public Input? Password { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// ServiceNow username. + /// + [Input("username")] + public Input? Username { get; set; } + + public AlertMethodServicenowState() + { + } + public static new AlertMethodServicenowState Empty => new AlertMethodServicenowState(); + } +} diff --git a/sdk/dotnet/AlertMethodSlack.cs b/sdk/dotnet/AlertMethodSlack.cs new file mode 100644 index 0000000..17ea4d4 --- /dev/null +++ b/sdk/dotnet/AlertMethodSlack.cs @@ -0,0 +1,165 @@ +// *** 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.Nobl9 +{ + [Nobl9ResourceType("nobl9:index/alertMethodSlack:AlertMethodSlack")] + public partial class AlertMethodSlack : global::Pulumi.CustomResource + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a AlertMethodSlack 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 AlertMethodSlack(string name, AlertMethodSlackArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodSlack:AlertMethodSlack", name, args ?? new AlertMethodSlackArgs(), MakeResourceOptions(options, "")) + { + } + + private AlertMethodSlack(string name, Input id, AlertMethodSlackState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodSlack:AlertMethodSlack", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 AlertMethodSlack 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 AlertMethodSlack Get(string name, Input id, AlertMethodSlackState? state = null, CustomResourceOptions? options = null) + { + return new AlertMethodSlack(name, id, state, options); + } + } + + public sealed class AlertMethodSlackArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + /// + [Input("url")] + public Input? Url { get; set; } + + public AlertMethodSlackArgs() + { + } + public static new AlertMethodSlackArgs Empty => new AlertMethodSlackArgs(); + } + + public sealed class AlertMethodSlackState : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + /// + [Input("url")] + public Input? Url { get; set; } + + public AlertMethodSlackState() + { + } + public static new AlertMethodSlackState Empty => new AlertMethodSlackState(); + } +} diff --git a/sdk/dotnet/AlertMethodWebhook.cs b/sdk/dotnet/AlertMethodWebhook.cs new file mode 100644 index 0000000..a10422b --- /dev/null +++ b/sdk/dotnet/AlertMethodWebhook.cs @@ -0,0 +1,213 @@ +// *** 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.Nobl9 +{ + [Nobl9ResourceType("nobl9:index/alertMethodWebhook:AlertMethodWebhook")] + public partial class AlertMethodWebhook : global::Pulumi.CustomResource + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// Webhook message template. See documentation for template format and samples. + /// + [Output("template")] + public Output Template { get; private set; } = null!; + + /// + /// Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + /// + [Output("templateFields")] + public Output> TemplateFields { get; private set; } = null!; + + /// + /// URL of the webhook endpoint. + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a AlertMethodWebhook 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 AlertMethodWebhook(string name, AlertMethodWebhookArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodWebhook:AlertMethodWebhook", name, args ?? new AlertMethodWebhookArgs(), MakeResourceOptions(options, "")) + { + } + + private AlertMethodWebhook(string name, Input id, AlertMethodWebhookState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/alertMethodWebhook:AlertMethodWebhook", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 AlertMethodWebhook 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 AlertMethodWebhook Get(string name, Input id, AlertMethodWebhookState? state = null, CustomResourceOptions? options = null) + { + return new AlertMethodWebhook(name, id, state, options); + } + } + + public sealed class AlertMethodWebhookArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// Webhook message template. See documentation for template format and samples. + /// + [Input("template")] + public Input? Template { get; set; } + + [Input("templateFields")] + private InputList? _templateFields; + + /// + /// Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + /// + public InputList TemplateFields + { + get => _templateFields ?? (_templateFields = new InputList()); + set => _templateFields = value; + } + + /// + /// URL of the webhook endpoint. + /// + [Input("url")] + public Input? Url { get; set; } + + public AlertMethodWebhookArgs() + { + } + public static new AlertMethodWebhookArgs Empty => new AlertMethodWebhookArgs(); + } + + public sealed class AlertMethodWebhookState : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// Webhook message template. See documentation for template format and samples. + /// + [Input("template")] + public Input? Template { get; set; } + + [Input("templateFields")] + private InputList? _templateFields; + + /// + /// Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + /// + public InputList TemplateFields + { + get => _templateFields ?? (_templateFields = new InputList()); + set => _templateFields = value; + } + + /// + /// URL of the webhook endpoint. + /// + [Input("url")] + public Input? Url { get; set; } + + public AlertMethodWebhookState() + { + } + public static new AlertMethodWebhookState Empty => new AlertMethodWebhookState(); + } +} diff --git a/sdk/dotnet/AlertPolicy.cs b/sdk/dotnet/AlertPolicy.cs new file mode 100644 index 0000000..b4d5bc1 --- /dev/null +++ b/sdk/dotnet/AlertPolicy.cs @@ -0,0 +1,275 @@ +// *** 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.Nobl9 +{ + /// + /// An **Alert Policy** expresses a set of conditions you want to track or monitor. The conditions for an Alert Policy define what is monitored and when to activate an alert: when the performance of your service is declining, Nobl9 will send a notification to a predefined channel. + /// + /// A Nobl9 AlertPolicy accepts up to 7 conditions. All the specified conditions must be satisfied to trigger an alert. + /// + /// For more details, refer to the [Alert Policy configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#alertpolicy). + /// + /// ## Example Usage + /// + /// Here's an example of Alert Policy resource configuration: + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var thisProject = new Nobl9.Project("thisProject", new() + /// { + /// DisplayName = "My Project", + /// Description = "An example N9 Terraform project", + /// }); + /// + /// var thisService = new Nobl9.Service("thisService", new() + /// { + /// Project = thisProject.Name, + /// DisplayName = thisProject.DisplayName.Apply(displayName => $"{displayName} Front Page"), + /// Description = "Front page service", + /// }); + /// + /// var thisAlertPolicy = new Nobl9.AlertPolicy("thisAlertPolicy", new() + /// { + /// Project = thisProject.Name, + /// DisplayName = thisProject.DisplayName.Apply(displayName => $"{displayName} Front Page Latency"), + /// Severity = "High", + /// Description = "Alert when page latency is > 2000 and error budget would be exhausted", + /// Conditions = new[] + /// { + /// new Nobl9.Inputs.AlertPolicyConditionArgs + /// { + /// Measurement = "timeToBurnBudget", + /// ValueString = "72h", + /// LastsFor = "30m", + /// }, + /// }, + /// AlertMethods = new[] + /// { + /// new Nobl9.Inputs.AlertPolicyAlertMethodArgs + /// { + /// Name = "my-alert-method", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Useful Links + /// + /// [Alert Policy configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#alertpolicy) + /// + [Nobl9ResourceType("nobl9:index/alertPolicy:AlertPolicy")] + public partial class AlertPolicy : global::Pulumi.CustomResource + { + [Output("alertMethods")] + public Output> AlertMethods { get; private set; } = null!; + + /// + /// Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + /// + [Output("conditions")] + public Output> Conditions { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// Alert severity. One of `Low` | `Medium` | `High`. + /// + [Output("severity")] + public Output Severity { get; private set; } = null!; + + + /// + /// Create a AlertPolicy 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 AlertPolicy(string name, AlertPolicyArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/alertPolicy:AlertPolicy", name, args ?? new AlertPolicyArgs(), MakeResourceOptions(options, "")) + { + } + + private AlertPolicy(string name, Input id, AlertPolicyState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/alertPolicy:AlertPolicy", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 AlertPolicy 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 AlertPolicy Get(string name, Input id, AlertPolicyState? state = null, CustomResourceOptions? options = null) + { + return new AlertPolicy(name, id, state, options); + } + } + + public sealed class AlertPolicyArgs : global::Pulumi.ResourceArgs + { + [Input("alertMethods")] + private InputList? _alertMethods; + public InputList AlertMethods + { + get => _alertMethods ?? (_alertMethods = new InputList()); + set => _alertMethods = value; + } + + [Input("conditions", required: true)] + private InputList? _conditions; + + /// + /// Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + /// + public InputList Conditions + { + get => _conditions ?? (_conditions = new InputList()); + set => _conditions = value; + } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// Alert severity. One of `Low` | `Medium` | `High`. + /// + [Input("severity", required: true)] + public Input Severity { get; set; } = null!; + + public AlertPolicyArgs() + { + } + public static new AlertPolicyArgs Empty => new AlertPolicyArgs(); + } + + public sealed class AlertPolicyState : global::Pulumi.ResourceArgs + { + [Input("alertMethods")] + private InputList? _alertMethods; + public InputList AlertMethods + { + get => _alertMethods ?? (_alertMethods = new InputList()); + set => _alertMethods = value; + } + + [Input("conditions")] + private InputList? _conditions; + + /// + /// Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + /// + public InputList Conditions + { + get => _conditions ?? (_conditions = new InputList()); + set => _conditions = value; + } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// Alert severity. One of `Low` | `Medium` | `High`. + /// + [Input("severity")] + public Input? Severity { get; set; } + + public AlertPolicyState() + { + } + public static new AlertPolicyState Empty => new AlertPolicyState(); + } +} diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs new file mode 100644 index 0000000..f4940ec --- /dev/null +++ b/sdk/dotnet/Config/Config.cs @@ -0,0 +1,109 @@ +// *** 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.Immutable; + +namespace Pulumi.Nobl9 +{ + public static class Config + { + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "IDE1006", Justification = + "Double underscore prefix used to avoid conflicts with variable names.")] + private sealed class __Value + { + private readonly Func _getter; + private T _value = default!; + private bool _set; + + public __Value(Func getter) + { + _getter = getter; + } + + public T Get() => _set ? _value : _getter(); + + public void Set(T value) + { + _value = value; + _set = true; + } + } + + private static readonly Pulumi.Config __config = new Pulumi.Config("nobl9"); + + private static readonly __Value _clientId = new __Value(() => __config.Get("clientId")); + /// + /// the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to + /// Nobl9. + /// + public static string? ClientId + { + get => _clientId.Get(); + set => _clientId.Set(value); + } + + private static readonly __Value _clientSecret = new __Value(() => __config.Get("clientSecret")); + /// + /// the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect + /// to Nobl9. + /// + public static string? ClientSecret + { + get => _clientSecret.Get(); + set => _clientSecret.Set(value); + } + + private static readonly __Value _ingestUrl = new __Value(() => __config.Get("ingestUrl")); + /// + /// Nobl9 API URL. + /// + public static string? IngestUrl + { + get => _ingestUrl.Get(); + set => _ingestUrl.Set(value); + } + + private static readonly __Value _oktaAuthServer = new __Value(() => __config.Get("oktaAuthServer")); + /// + /// Authorization service configuration. + /// + public static string? OktaAuthServer + { + get => _oktaAuthServer.Get(); + set => _oktaAuthServer.Set(value); + } + + private static readonly __Value _oktaOrgUrl = new __Value(() => __config.Get("oktaOrgUrl")); + /// + /// Authorization service URL. + /// + public static string? OktaOrgUrl + { + get => _oktaOrgUrl.Get(); + set => _oktaOrgUrl.Set(value); + } + + private static readonly __Value _organization = new __Value(() => __config.Get("organization")); + /// + /// Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that + /// contains resources managed by the Nobl9 Terraform provider. + /// + public static string? Organization + { + get => _organization.Get(); + set => _organization.Set(value); + } + + private static readonly __Value _project = new __Value(() => __config.Get("project")); + /// + /// Nobl9 project used when importing resources. + /// + public static string? Project + { + get => _project.Get(); + set => _project.Set(value); + } + + } +} diff --git a/sdk/dotnet/Config/README.md b/sdk/dotnet/Config/README.md new file mode 100644 index 0000000..80dd4d7 --- /dev/null +++ b/sdk/dotnet/Config/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Nobl9 cloud resources. diff --git a/sdk/dotnet/DirectAppdynamics.cs b/sdk/dotnet/DirectAppdynamics.cs new file mode 100644 index 0000000..4f67c1d --- /dev/null +++ b/sdk/dotnet/DirectAppdynamics.cs @@ -0,0 +1,326 @@ +// *** 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.Nobl9 +{ + /// + /// AppDynamics is a performance management program for applications. It helps users to gain a comprehensive understanding of the impact of technical difficulties on business goals, allowing IT teams to prioritize their efforts in a way that improves ROI. Nobl9 connects with AppDynamics to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [AppDynamics Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-direct) + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_appdynamics = new Nobl9.DirectAppdynamics("test-appdynamics", new() + /// { + /// AccountName = "account name", + /// ClientName = "client name", + /// ClientSecret = "secret", + /// Description = "desc", + /// Project = "terraform", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// Url = "https://web.net", + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directAppdynamics:DirectAppdynamics")] + public partial class DirectAppdynamics : global::Pulumi.CustomResource + { + /// + /// AppDynamics Account Name. + /// + [Output("accountName")] + public Output AccountName { get; private set; } = null!; + + /// + /// AppDynamics Client ID. + /// + [Output("clientId")] + public Output ClientId { get; private set; } = null!; + + /// + /// AppDynamics Client Name. + /// + [Output("clientName")] + public Output ClientName { get; private set; } = null!; + + /// + /// [required] | AppDynamics Client Secret. + /// + [Output("clientSecret")] + public Output ClientSecret { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Base URL to the AppDynamics Controller. + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a DirectAppdynamics 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 DirectAppdynamics(string name, DirectAppdynamicsArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directAppdynamics:DirectAppdynamics", name, args ?? new DirectAppdynamicsArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectAppdynamics(string name, Input id, DirectAppdynamicsState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directAppdynamics:DirectAppdynamics", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectAppdynamics 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 DirectAppdynamics Get(string name, Input id, DirectAppdynamicsState? state = null, CustomResourceOptions? options = null) + { + return new DirectAppdynamics(name, id, state, options); + } + } + + public sealed class DirectAppdynamicsArgs : global::Pulumi.ResourceArgs + { + /// + /// AppDynamics Account Name. + /// + [Input("accountName", required: true)] + public Input AccountName { get; set; } = null!; + + /// + /// AppDynamics Client Name. + /// + [Input("clientName", required: true)] + public Input ClientName { get; set; } = null!; + + /// + /// [required] | AppDynamics Client Secret. + /// + [Input("clientSecret")] + public Input? ClientSecret { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// Base URL to the AppDynamics Controller. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public DirectAppdynamicsArgs() + { + } + public static new DirectAppdynamicsArgs Empty => new DirectAppdynamicsArgs(); + } + + public sealed class DirectAppdynamicsState : global::Pulumi.ResourceArgs + { + /// + /// AppDynamics Account Name. + /// + [Input("accountName")] + public Input? AccountName { get; set; } + + /// + /// AppDynamics Client ID. + /// + [Input("clientId")] + public Input? ClientId { get; set; } + + /// + /// AppDynamics Client Name. + /// + [Input("clientName")] + public Input? ClientName { get; set; } + + /// + /// [required] | AppDynamics Client Secret. + /// + [Input("clientSecret")] + public Input? ClientSecret { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// Base URL to the AppDynamics Controller. + /// + [Input("url")] + public Input? Url { get; set; } + + public DirectAppdynamicsState() + { + } + public static new DirectAppdynamicsState Empty => new DirectAppdynamicsState(); + } +} diff --git a/sdk/dotnet/DirectBigquery.cs b/sdk/dotnet/DirectBigquery.cs new file mode 100644 index 0000000..3037b9c --- /dev/null +++ b/sdk/dotnet/DirectBigquery.cs @@ -0,0 +1,257 @@ +// *** 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.Nobl9 +{ + /// + /// Google BigQuery is a serverless data warehouse that enables scalable analysis over petabytes of data. It is a Platform as a Service that supports querying using ANSI SQL. BigQuery integration with Nobl9 enables users to turn their big data into valuable business insights. Nobl9 connects with BigQuery to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [BigQuery Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-direct) + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_bigquery = new Nobl9.DirectBigquery("test-bigquery", new() + /// { + /// Description = "desc", + /// Project = "terraform", + /// ServiceAccountKey = "secret", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directBigquery:DirectBigquery")] + public partial class DirectBigquery : global::Pulumi.CustomResource + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// [required] | Service Account Key. + /// + [Output("serviceAccountKey")] + public Output ServiceAccountKey { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a DirectBigquery 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 DirectBigquery(string name, DirectBigqueryArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directBigquery:DirectBigquery", name, args ?? new DirectBigqueryArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectBigquery(string name, Input id, DirectBigqueryState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directBigquery:DirectBigquery", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectBigquery 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 DirectBigquery Get(string name, Input id, DirectBigqueryState? state = null, CustomResourceOptions? options = null) + { + return new DirectBigquery(name, id, state, options); + } + } + + public sealed class DirectBigqueryArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + /// + /// [required] | Service Account Key. + /// + [Input("serviceAccountKey")] + public Input? ServiceAccountKey { get; set; } + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + public DirectBigqueryArgs() + { + } + public static new DirectBigqueryArgs Empty => new DirectBigqueryArgs(); + } + + public sealed class DirectBigqueryState : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + /// + /// [required] | Service Account Key. + /// + [Input("serviceAccountKey")] + public Input? ServiceAccountKey { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + public DirectBigqueryState() + { + } + public static new DirectBigqueryState Empty => new DirectBigqueryState(); + } +} diff --git a/sdk/dotnet/DirectCloudwatch.cs b/sdk/dotnet/DirectCloudwatch.cs new file mode 100644 index 0000000..f245024 --- /dev/null +++ b/sdk/dotnet/DirectCloudwatch.cs @@ -0,0 +1,313 @@ +// *** 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.Nobl9 +{ + /// + /// Amazon CloudWatch is a monitoring and observability service and a repository that aggregates data from more than 70 AWS data sources. CloudWatch also allows users to publish custom metrics from their services. Creating SLOs using this data is a powerful tool to monitor large portfolios of products. Nobl9 connects with Amazon CloudWatch to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [Amazon CloudWatch Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-direct) + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_cloudwatch = new Nobl9.DirectCloudwatch("test-cloudwatch", new() + /// { + /// AccessKeyId = "secret", + /// Description = "desc", + /// HistoricalDataRetrieval = new Nobl9.Inputs.DirectCloudwatchHistoricalDataRetrievalArgs + /// { + /// DefaultDurations = new[] + /// { + /// new Nobl9.Inputs.DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs + /// { + /// Unit = "Day", + /// Value = 0, + /// }, + /// }, + /// MaxDurations = new[] + /// { + /// new Nobl9.Inputs.DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs + /// { + /// Unit = "Day", + /// Value = 15, + /// }, + /// }, + /// }, + /// Project = "terraform", + /// SecretAccessKey = "secret", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directCloudwatch:DirectCloudwatch")] + public partial class DirectCloudwatch : global::Pulumi.CustomResource + { + /// + /// [required] | AWS Access Key ID. + /// + [Output("accessKeyId")] + public Output AccessKeyId { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Output("historicalDataRetrieval")] + public Output HistoricalDataRetrieval { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// [required] | AWS Secret Access Key. + /// + [Output("secretAccessKey")] + public Output SecretAccessKey { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a DirectCloudwatch 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 DirectCloudwatch(string name, DirectCloudwatchArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directCloudwatch:DirectCloudwatch", name, args ?? new DirectCloudwatchArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectCloudwatch(string name, Input id, DirectCloudwatchState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directCloudwatch:DirectCloudwatch", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectCloudwatch 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 DirectCloudwatch Get(string name, Input id, DirectCloudwatchState? state = null, CustomResourceOptions? options = null) + { + return new DirectCloudwatch(name, id, state, options); + } + } + + public sealed class DirectCloudwatchArgs : global::Pulumi.ResourceArgs + { + /// + /// [required] | AWS Access Key ID. + /// + [Input("accessKeyId")] + public Input? AccessKeyId { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Input("historicalDataRetrieval")] + public Input? HistoricalDataRetrieval { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + /// + /// [required] | AWS Secret Access Key. + /// + [Input("secretAccessKey")] + public Input? SecretAccessKey { get; set; } + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + public DirectCloudwatchArgs() + { + } + public static new DirectCloudwatchArgs Empty => new DirectCloudwatchArgs(); + } + + public sealed class DirectCloudwatchState : global::Pulumi.ResourceArgs + { + /// + /// [required] | AWS Access Key ID. + /// + [Input("accessKeyId")] + public Input? AccessKeyId { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Input("historicalDataRetrieval")] + public Input? HistoricalDataRetrieval { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + /// + /// [required] | AWS Secret Access Key. + /// + [Input("secretAccessKey")] + public Input? SecretAccessKey { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + public DirectCloudwatchState() + { + } + public static new DirectCloudwatchState Empty => new DirectCloudwatchState(); + } +} diff --git a/sdk/dotnet/DirectDatadog.cs b/sdk/dotnet/DirectDatadog.cs new file mode 100644 index 0000000..2f4ec7a --- /dev/null +++ b/sdk/dotnet/DirectDatadog.cs @@ -0,0 +1,332 @@ +// *** 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.Nobl9 +{ + /// + /// Datadog is a cloud-scale application observability solution that monitors servers, databases, tools, and services. Nobl9 connects with Datadog to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [Datadog Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/datadog#datadog-direct). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_datadog = new Nobl9.DirectDatadog("test-datadog", new() + /// { + /// ApiKey = "secret", + /// ApplicationKey = "secret", + /// Description = "desc", + /// HistoricalDataRetrieval = new Nobl9.Inputs.DirectDatadogHistoricalDataRetrievalArgs + /// { + /// DefaultDurations = new[] + /// { + /// new Nobl9.Inputs.DirectDatadogHistoricalDataRetrievalDefaultDurationArgs + /// { + /// Unit = "Day", + /// Value = 0, + /// }, + /// }, + /// MaxDurations = new[] + /// { + /// new Nobl9.Inputs.DirectDatadogHistoricalDataRetrievalMaxDurationArgs + /// { + /// Unit = "Day", + /// Value = 30, + /// }, + /// }, + /// }, + /// Project = "terraform", + /// Site = "eu", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directDatadog:DirectDatadog")] + public partial class DirectDatadog : global::Pulumi.CustomResource + { + /// + /// [required] | Datadog API Key. + /// + [Output("apiKey")] + public Output ApiKey { get; private set; } = null!; + + /// + /// [required] | Datadog Application Key. + /// + [Output("applicationKey")] + public Output ApplicationKey { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Output("historicalDataRetrieval")] + public Output HistoricalDataRetrieval { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + /// + [Output("site")] + public Output Site { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a DirectDatadog 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 DirectDatadog(string name, DirectDatadogArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directDatadog:DirectDatadog", name, args ?? new DirectDatadogArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectDatadog(string name, Input id, DirectDatadogState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directDatadog:DirectDatadog", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectDatadog 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 DirectDatadog Get(string name, Input id, DirectDatadogState? state = null, CustomResourceOptions? options = null) + { + return new DirectDatadog(name, id, state, options); + } + } + + public sealed class DirectDatadogArgs : global::Pulumi.ResourceArgs + { + /// + /// [required] | Datadog API Key. + /// + [Input("apiKey")] + public Input? ApiKey { get; set; } + + /// + /// [required] | Datadog Application Key. + /// + [Input("applicationKey")] + public Input? ApplicationKey { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Input("historicalDataRetrieval")] + public Input? HistoricalDataRetrieval { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + /// + /// `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + /// + [Input("site", required: true)] + public Input Site { get; set; } = null!; + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + public DirectDatadogArgs() + { + } + public static new DirectDatadogArgs Empty => new DirectDatadogArgs(); + } + + public sealed class DirectDatadogState : global::Pulumi.ResourceArgs + { + /// + /// [required] | Datadog API Key. + /// + [Input("apiKey")] + public Input? ApiKey { get; set; } + + /// + /// [required] | Datadog Application Key. + /// + [Input("applicationKey")] + public Input? ApplicationKey { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Input("historicalDataRetrieval")] + public Input? HistoricalDataRetrieval { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + /// + /// `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + /// + [Input("site")] + public Input? Site { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + public DirectDatadogState() + { + } + public static new DirectDatadogState Empty => new DirectDatadogState(); + } +} diff --git a/sdk/dotnet/DirectDynatrace.cs b/sdk/dotnet/DirectDynatrace.cs new file mode 100644 index 0000000..0b787dd --- /dev/null +++ b/sdk/dotnet/DirectDynatrace.cs @@ -0,0 +1,313 @@ +// *** 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.Nobl9 +{ + /// + /// Dynatrace is a software intelligence platform that monitors and optimizes application performance, development and security, IT infrastructure, and user experience. The Dynatrace Software Intelligence Platform maps, and monitors applications, microservices, container orchestration platforms such as Kubernetes, and IT infrastructure running in multi-cloud and hybrid-cloud environments, and provides automated problem remediation. Nobl9 connects with Dynatrace to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [Dynatrace Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-direct). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_dynatrace = new Nobl9.DirectDynatrace("test-dynatrace", new() + /// { + /// Description = "desc", + /// DynatraceToken = "secret", + /// HistoricalDataRetrieval = new Nobl9.Inputs.DirectDynatraceHistoricalDataRetrievalArgs + /// { + /// DefaultDurations = new[] + /// { + /// new Nobl9.Inputs.DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs + /// { + /// Unit = "Day", + /// Value = 1, + /// }, + /// }, + /// MaxDurations = new[] + /// { + /// new Nobl9.Inputs.DirectDynatraceHistoricalDataRetrievalMaxDurationArgs + /// { + /// Unit = "Day", + /// Value = 10, + /// }, + /// }, + /// }, + /// Project = "terraform", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// Url = "https://web.net", + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directDynatrace:DirectDynatrace")] + public partial class DirectDynatrace : global::Pulumi.CustomResource + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// [required] | Dynatrace Token. + /// + [Output("dynatraceToken")] + public Output DynatraceToken { get; private set; } = null!; + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Output("historicalDataRetrieval")] + public Output HistoricalDataRetrieval { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Dynatrace API URL. + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a DirectDynatrace 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 DirectDynatrace(string name, DirectDynatraceArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directDynatrace:DirectDynatrace", name, args ?? new DirectDynatraceArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectDynatrace(string name, Input id, DirectDynatraceState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directDynatrace:DirectDynatrace", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectDynatrace 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 DirectDynatrace Get(string name, Input id, DirectDynatraceState? state = null, CustomResourceOptions? options = null) + { + return new DirectDynatrace(name, id, state, options); + } + } + + public sealed class DirectDynatraceArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// [required] | Dynatrace Token. + /// + [Input("dynatraceToken")] + public Input? DynatraceToken { get; set; } + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Input("historicalDataRetrieval")] + public Input? HistoricalDataRetrieval { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// Dynatrace API URL. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public DirectDynatraceArgs() + { + } + public static new DirectDynatraceArgs Empty => new DirectDynatraceArgs(); + } + + public sealed class DirectDynatraceState : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// [required] | Dynatrace Token. + /// + [Input("dynatraceToken")] + public Input? DynatraceToken { get; set; } + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Input("historicalDataRetrieval")] + public Input? HistoricalDataRetrieval { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// Dynatrace API URL. + /// + [Input("url")] + public Input? Url { get; set; } + + public DirectDynatraceState() + { + } + public static new DirectDynatraceState Empty => new DirectDynatraceState(); + } +} diff --git a/sdk/dotnet/DirectGcm.cs b/sdk/dotnet/DirectGcm.cs new file mode 100644 index 0000000..c1fffb3 --- /dev/null +++ b/sdk/dotnet/DirectGcm.cs @@ -0,0 +1,257 @@ +// *** 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.Nobl9 +{ + /// + /// Google Cloud Monitoring (GCM) provides visibility into the performance, uptime, and overall health of cloud-powered applications. It collects metrics, events, and metadata from Google Cloud, hosted uptime probes, and application instrumentation. Nobl9 connects with GCM to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [Google Cloud Monitoring Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-direct). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_gcm = new Nobl9.DirectGcm("test-gcm", new() + /// { + /// Description = "desc", + /// Project = "terraform", + /// ServiceAccountKey = "secret", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directGcm:DirectGcm")] + public partial class DirectGcm : global::Pulumi.CustomResource + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// [required] | Service Account Key. + /// + [Output("serviceAccountKey")] + public Output ServiceAccountKey { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a DirectGcm 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 DirectGcm(string name, DirectGcmArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directGcm:DirectGcm", name, args ?? new DirectGcmArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectGcm(string name, Input id, DirectGcmState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directGcm:DirectGcm", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectGcm 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 DirectGcm Get(string name, Input id, DirectGcmState? state = null, CustomResourceOptions? options = null) + { + return new DirectGcm(name, id, state, options); + } + } + + public sealed class DirectGcmArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + /// + /// [required] | Service Account Key. + /// + [Input("serviceAccountKey")] + public Input? ServiceAccountKey { get; set; } + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + public DirectGcmArgs() + { + } + public static new DirectGcmArgs Empty => new DirectGcmArgs(); + } + + public sealed class DirectGcmState : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + /// + /// [required] | Service Account Key. + /// + [Input("serviceAccountKey")] + public Input? ServiceAccountKey { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + public DirectGcmState() + { + } + public static new DirectGcmState Empty => new DirectGcmState(); + } +} diff --git a/sdk/dotnet/DirectInfluxdb.cs b/sdk/dotnet/DirectInfluxdb.cs new file mode 100644 index 0000000..4523988 --- /dev/null +++ b/sdk/dotnet/DirectInfluxdb.cs @@ -0,0 +1,295 @@ +// *** 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.Nobl9 +{ + /// + /// InfluxDB is an open source time series database platform that enables users to collect, process, and analyze data to optimize their infrastructure. Nobl9 connects with InfluxDB to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [InfluxDB Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-direct). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_influxdb = new Nobl9.DirectInfluxdb("test-influxdb", new() + /// { + /// ApiToken = "secret", + /// Description = "desc", + /// OrganizationId = "secret", + /// Project = "terraform", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// Url = "https://web.net", + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directInfluxdb:DirectInfluxdb")] + public partial class DirectInfluxdb : global::Pulumi.CustomResource + { + /// + /// [required] | InfluxDB API Token. + /// + [Output("apiToken")] + public Output ApiToken { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// [required] | InfluxDB Organization ID. + /// + [Output("organizationId")] + public Output OrganizationId { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// API URL endpoint to the InfluxDB's instance. + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a DirectInfluxdb 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 DirectInfluxdb(string name, DirectInfluxdbArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directInfluxdb:DirectInfluxdb", name, args ?? new DirectInfluxdbArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectInfluxdb(string name, Input id, DirectInfluxdbState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directInfluxdb:DirectInfluxdb", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectInfluxdb 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 DirectInfluxdb Get(string name, Input id, DirectInfluxdbState? state = null, CustomResourceOptions? options = null) + { + return new DirectInfluxdb(name, id, state, options); + } + } + + public sealed class DirectInfluxdbArgs : global::Pulumi.ResourceArgs + { + /// + /// [required] | InfluxDB API Token. + /// + [Input("apiToken")] + public Input? ApiToken { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// [required] | InfluxDB Organization ID. + /// + [Input("organizationId")] + public Input? OrganizationId { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// API URL endpoint to the InfluxDB's instance. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public DirectInfluxdbArgs() + { + } + public static new DirectInfluxdbArgs Empty => new DirectInfluxdbArgs(); + } + + public sealed class DirectInfluxdbState : global::Pulumi.ResourceArgs + { + /// + /// [required] | InfluxDB API Token. + /// + [Input("apiToken")] + public Input? ApiToken { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// [required] | InfluxDB Organization ID. + /// + [Input("organizationId")] + public Input? OrganizationId { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// API URL endpoint to the InfluxDB's instance. + /// + [Input("url")] + public Input? Url { get; set; } + + public DirectInfluxdbState() + { + } + public static new DirectInfluxdbState Empty => new DirectInfluxdbState(); + } +} diff --git a/sdk/dotnet/DirectInstana.cs b/sdk/dotnet/DirectInstana.cs new file mode 100644 index 0000000..2119d0a --- /dev/null +++ b/sdk/dotnet/DirectInstana.cs @@ -0,0 +1,276 @@ +// *** 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.Nobl9 +{ + /// + /// Instana is an observability platform that delivers automated Application Performance Monitoring (APM), used for website, infrastructure, and application monitoring. Nobl9 connects with Instana to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [Instana Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/instana#instana-direct). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_instana = new Nobl9.DirectInstana("test-instana", new() + /// { + /// ApiToken = "secret", + /// Description = "desc", + /// Project = "terraform", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// Url = "https://web.net", + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directInstana:DirectInstana")] + public partial class DirectInstana : global::Pulumi.CustomResource + { + /// + /// [required] | Instana API Token. + /// + [Output("apiToken")] + public Output ApiToken { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Instana API URL. + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a DirectInstana 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 DirectInstana(string name, DirectInstanaArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directInstana:DirectInstana", name, args ?? new DirectInstanaArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectInstana(string name, Input id, DirectInstanaState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directInstana:DirectInstana", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectInstana 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 DirectInstana Get(string name, Input id, DirectInstanaState? state = null, CustomResourceOptions? options = null) + { + return new DirectInstana(name, id, state, options); + } + } + + public sealed class DirectInstanaArgs : global::Pulumi.ResourceArgs + { + /// + /// [required] | Instana API Token. + /// + [Input("apiToken")] + public Input? ApiToken { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// Instana API URL. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public DirectInstanaArgs() + { + } + public static new DirectInstanaArgs Empty => new DirectInstanaArgs(); + } + + public sealed class DirectInstanaState : global::Pulumi.ResourceArgs + { + /// + /// [required] | Instana API Token. + /// + [Input("apiToken")] + public Input? ApiToken { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// Instana API URL. + /// + [Input("url")] + public Input? Url { get; set; } + + public DirectInstanaState() + { + } + public static new DirectInstanaState Empty => new DirectInstanaState(); + } +} diff --git a/sdk/dotnet/DirectLightstep.cs b/sdk/dotnet/DirectLightstep.cs new file mode 100644 index 0000000..5a9b8f5 --- /dev/null +++ b/sdk/dotnet/DirectLightstep.cs @@ -0,0 +1,332 @@ +// *** 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.Nobl9 +{ + /// + /// Lightstep is an observability platform that enables distributed tracing, that can be used to rapidly pinpoint the causes of failures and poor performance across the deeply complex dependencies among services, teams, and workloads in modern production systems. Nobl9 integration with Lightstep enables organizations to establish service level objectives from performance data captured through distributed traces in the Lightstep platform. Nobl9 connects with Lightstep to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [Lightstep Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-direct). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_lightstep = new Nobl9.DirectLightstep("test-lightstep", new() + /// { + /// AppToken = "secret", + /// Description = "desc", + /// HistoricalDataRetrieval = new Nobl9.Inputs.DirectLightstepHistoricalDataRetrievalArgs + /// { + /// DefaultDurations = new[] + /// { + /// new Nobl9.Inputs.DirectLightstepHistoricalDataRetrievalDefaultDurationArgs + /// { + /// Unit = "Day", + /// Value = 0, + /// }, + /// }, + /// MaxDurations = new[] + /// { + /// new Nobl9.Inputs.DirectLightstepHistoricalDataRetrievalMaxDurationArgs + /// { + /// Unit = "Day", + /// Value = 30, + /// }, + /// }, + /// }, + /// LightstepOrganization = "acme", + /// LightstepProject = "project1", + /// Project = "terraform", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directLightstep:DirectLightstep")] + public partial class DirectLightstep : global::Pulumi.CustomResource + { + /// + /// [required] | Lightstep App Token. + /// + [Output("appToken")] + public Output AppToken { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Output("historicalDataRetrieval")] + public Output HistoricalDataRetrieval { get; private set; } = null!; + + /// + /// Organization name registered in Lightstep. + /// + [Output("lightstepOrganization")] + public Output LightstepOrganization { get; private set; } = null!; + + /// + /// Name of the Lightstep project. + /// + [Output("lightstepProject")] + public Output LightstepProject { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a DirectLightstep 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 DirectLightstep(string name, DirectLightstepArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directLightstep:DirectLightstep", name, args ?? new DirectLightstepArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectLightstep(string name, Input id, DirectLightstepState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directLightstep:DirectLightstep", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectLightstep 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 DirectLightstep Get(string name, Input id, DirectLightstepState? state = null, CustomResourceOptions? options = null) + { + return new DirectLightstep(name, id, state, options); + } + } + + public sealed class DirectLightstepArgs : global::Pulumi.ResourceArgs + { + /// + /// [required] | Lightstep App Token. + /// + [Input("appToken")] + public Input? AppToken { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Input("historicalDataRetrieval")] + public Input? HistoricalDataRetrieval { get; set; } + + /// + /// Organization name registered in Lightstep. + /// + [Input("lightstepOrganization", required: true)] + public Input LightstepOrganization { get; set; } = null!; + + /// + /// Name of the Lightstep project. + /// + [Input("lightstepProject", required: true)] + public Input LightstepProject { get; set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + public DirectLightstepArgs() + { + } + public static new DirectLightstepArgs Empty => new DirectLightstepArgs(); + } + + public sealed class DirectLightstepState : global::Pulumi.ResourceArgs + { + /// + /// [required] | Lightstep App Token. + /// + [Input("appToken")] + public Input? AppToken { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Input("historicalDataRetrieval")] + public Input? HistoricalDataRetrieval { get; set; } + + /// + /// Organization name registered in Lightstep. + /// + [Input("lightstepOrganization")] + public Input? LightstepOrganization { get; set; } + + /// + /// Name of the Lightstep project. + /// + [Input("lightstepProject")] + public Input? LightstepProject { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + public DirectLightstepState() + { + } + public static new DirectLightstepState Empty => new DirectLightstepState(); + } +} diff --git a/sdk/dotnet/DirectNewrelic.cs b/sdk/dotnet/DirectNewrelic.cs new file mode 100644 index 0000000..d3d9c5d --- /dev/null +++ b/sdk/dotnet/DirectNewrelic.cs @@ -0,0 +1,313 @@ +// *** 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.Nobl9 +{ + /// + /// New Relic is a software solution that monitors performance and availability. It sets and rates application performance across the environment using a standardized Apdex (application performance index) score. Nobl9 connects with New Relic to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [New Relic Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-direct). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_newrelic = new Nobl9.DirectNewrelic("test-newrelic", new() + /// { + /// AccountId = 1234, + /// Description = "desc", + /// HistoricalDataRetrieval = new Nobl9.Inputs.DirectNewrelicHistoricalDataRetrievalArgs + /// { + /// DefaultDurations = new[] + /// { + /// new Nobl9.Inputs.DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs + /// { + /// Unit = "Day", + /// Value = 0, + /// }, + /// }, + /// MaxDurations = new[] + /// { + /// new Nobl9.Inputs.DirectNewrelicHistoricalDataRetrievalMaxDurationArgs + /// { + /// Unit = "Day", + /// Value = 30, + /// }, + /// }, + /// }, + /// InsightsQueryKey = "secret", + /// Project = "terraform", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directNewrelic:DirectNewrelic")] + public partial class DirectNewrelic : global::Pulumi.CustomResource + { + /// + /// ID number assigned to the New Relic user account. + /// + [Output("accountId")] + public Output AccountId { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Output("historicalDataRetrieval")] + public Output HistoricalDataRetrieval { get; private set; } = null!; + + /// + /// [required] | New Relic Insights Query Key. + /// + [Output("insightsQueryKey")] + public Output InsightsQueryKey { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a DirectNewrelic 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 DirectNewrelic(string name, DirectNewrelicArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directNewrelic:DirectNewrelic", name, args ?? new DirectNewrelicArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectNewrelic(string name, Input id, DirectNewrelicState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directNewrelic:DirectNewrelic", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectNewrelic 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 DirectNewrelic Get(string name, Input id, DirectNewrelicState? state = null, CustomResourceOptions? options = null) + { + return new DirectNewrelic(name, id, state, options); + } + } + + public sealed class DirectNewrelicArgs : global::Pulumi.ResourceArgs + { + /// + /// ID number assigned to the New Relic user account. + /// + [Input("accountId", required: true)] + public Input AccountId { get; set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Input("historicalDataRetrieval")] + public Input? HistoricalDataRetrieval { get; set; } + + /// + /// [required] | New Relic Insights Query Key. + /// + [Input("insightsQueryKey")] + public Input? InsightsQueryKey { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + public DirectNewrelicArgs() + { + } + public static new DirectNewrelicArgs Empty => new DirectNewrelicArgs(); + } + + public sealed class DirectNewrelicState : global::Pulumi.ResourceArgs + { + /// + /// ID number assigned to the New Relic user account. + /// + [Input("accountId")] + public Input? AccountId { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Input("historicalDataRetrieval")] + public Input? HistoricalDataRetrieval { get; set; } + + /// + /// [required] | New Relic Insights Query Key. + /// + [Input("insightsQueryKey")] + public Input? InsightsQueryKey { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + public DirectNewrelicState() + { + } + public static new DirectNewrelicState Empty => new DirectNewrelicState(); + } +} diff --git a/sdk/dotnet/DirectPingdom.cs b/sdk/dotnet/DirectPingdom.cs new file mode 100644 index 0000000..0709b95 --- /dev/null +++ b/sdk/dotnet/DirectPingdom.cs @@ -0,0 +1,257 @@ +// *** 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.Nobl9 +{ + /// + /// Pingdom is a website monitoring software solution that gives users real-time, quality insights into the uptime and performance of their websites. After adding Pingdom as a data source in Nobl9, users can configure SLOs to check the overall performance status of their sites. Nobl9 connects with Pingdom to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [Pingdom Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-direct). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_pingdom = new Nobl9.DirectPingdom("test-pingdom", new() + /// { + /// ApiToken = "secret", + /// Description = "desc", + /// Project = "terraform", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directPingdom:DirectPingdom")] + public partial class DirectPingdom : global::Pulumi.CustomResource + { + /// + /// [required] | Pingdom API token. + /// + [Output("apiToken")] + public Output ApiToken { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a DirectPingdom 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 DirectPingdom(string name, DirectPingdomArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directPingdom:DirectPingdom", name, args ?? new DirectPingdomArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectPingdom(string name, Input id, DirectPingdomState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directPingdom:DirectPingdom", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectPingdom 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 DirectPingdom Get(string name, Input id, DirectPingdomState? state = null, CustomResourceOptions? options = null) + { + return new DirectPingdom(name, id, state, options); + } + } + + public sealed class DirectPingdomArgs : global::Pulumi.ResourceArgs + { + /// + /// [required] | Pingdom API token. + /// + [Input("apiToken")] + public Input? ApiToken { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + public DirectPingdomArgs() + { + } + public static new DirectPingdomArgs Empty => new DirectPingdomArgs(); + } + + public sealed class DirectPingdomState : global::Pulumi.ResourceArgs + { + /// + /// [required] | Pingdom API token. + /// + [Input("apiToken")] + public Input? ApiToken { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + public DirectPingdomState() + { + } + public static new DirectPingdomState Empty => new DirectPingdomState(); + } +} diff --git a/sdk/dotnet/DirectRedshift.cs b/sdk/dotnet/DirectRedshift.cs new file mode 100644 index 0000000..8660422 --- /dev/null +++ b/sdk/dotnet/DirectRedshift.cs @@ -0,0 +1,295 @@ +// *** 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.Nobl9 +{ + /// + /// Amazon Redshift is a managed scalable database warehouse where Nobl9 users can store their metrics information. Nobl9 connects with Amazon Redshift to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [Amazon Redshift Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-direct). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_redshift = new Nobl9.DirectRedshift("test-redshift", new() + /// { + /// AccessKeyId = "secret", + /// Description = "desc", + /// Project = "terraform", + /// SecretAccessKey = "secret", + /// SecretArn = "aws:arn", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directRedshift:DirectRedshift")] + public partial class DirectRedshift : global::Pulumi.CustomResource + { + /// + /// [required] | AWS Access Key ID. + /// + [Output("accessKeyId")] + public Output AccessKeyId { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// [required] | AWS Secret Access Key. + /// + [Output("secretAccessKey")] + public Output SecretAccessKey { get; private set; } = null!; + + /// + /// AWS Secret ARN. + /// + [Output("secretArn")] + public Output SecretArn { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a DirectRedshift 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 DirectRedshift(string name, DirectRedshiftArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directRedshift:DirectRedshift", name, args ?? new DirectRedshiftArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectRedshift(string name, Input id, DirectRedshiftState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directRedshift:DirectRedshift", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectRedshift 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 DirectRedshift Get(string name, Input id, DirectRedshiftState? state = null, CustomResourceOptions? options = null) + { + return new DirectRedshift(name, id, state, options); + } + } + + public sealed class DirectRedshiftArgs : global::Pulumi.ResourceArgs + { + /// + /// [required] | AWS Access Key ID. + /// + [Input("accessKeyId")] + public Input? AccessKeyId { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + /// + /// [required] | AWS Secret Access Key. + /// + [Input("secretAccessKey")] + public Input? SecretAccessKey { get; set; } + + /// + /// AWS Secret ARN. + /// + [Input("secretArn")] + public Input? SecretArn { get; set; } + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + public DirectRedshiftArgs() + { + } + public static new DirectRedshiftArgs Empty => new DirectRedshiftArgs(); + } + + public sealed class DirectRedshiftState : global::Pulumi.ResourceArgs + { + /// + /// [required] | AWS Access Key ID. + /// + [Input("accessKeyId")] + public Input? AccessKeyId { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + /// + /// [required] | AWS Secret Access Key. + /// + [Input("secretAccessKey")] + public Input? SecretAccessKey { get; set; } + + /// + /// AWS Secret ARN. + /// + [Input("secretArn")] + public Input? SecretArn { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + public DirectRedshiftState() + { + } + public static new DirectRedshiftState Empty => new DirectRedshiftState(); + } +} diff --git a/sdk/dotnet/DirectSplunk.cs b/sdk/dotnet/DirectSplunk.cs new file mode 100644 index 0000000..84012f4 --- /dev/null +++ b/sdk/dotnet/DirectSplunk.cs @@ -0,0 +1,313 @@ +// *** 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.Nobl9 +{ + /// + /// Splunk provides software for searching, monitoring, and analyzing machine-generated data via a Web-style interface. Nobl9 connects with Splunk to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [Splunk Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/splunk#splunk-direct). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_splunk = new Nobl9.DirectSplunk("test-splunk", new() + /// { + /// AccessToken = "secret", + /// Description = "desc", + /// HistoricalDataRetrieval = new Nobl9.Inputs.DirectSplunkHistoricalDataRetrievalArgs + /// { + /// DefaultDurations = new[] + /// { + /// new Nobl9.Inputs.DirectSplunkHistoricalDataRetrievalDefaultDurationArgs + /// { + /// Unit = "Day", + /// Value = 0, + /// }, + /// }, + /// MaxDurations = new[] + /// { + /// new Nobl9.Inputs.DirectSplunkHistoricalDataRetrievalMaxDurationArgs + /// { + /// Unit = "Day", + /// Value = 30, + /// }, + /// }, + /// }, + /// Project = "terraform", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// Url = "https://web.net", + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directSplunk:DirectSplunk")] + public partial class DirectSplunk : global::Pulumi.CustomResource + { + /// + /// [required] | Splunk API Access Token. + /// + [Output("accessToken")] + public Output AccessToken { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Output("historicalDataRetrieval")] + public Output HistoricalDataRetrieval { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Base API URL to the Splunk Search app. + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a DirectSplunk 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 DirectSplunk(string name, DirectSplunkArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directSplunk:DirectSplunk", name, args ?? new DirectSplunkArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectSplunk(string name, Input id, DirectSplunkState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directSplunk:DirectSplunk", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectSplunk 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 DirectSplunk Get(string name, Input id, DirectSplunkState? state = null, CustomResourceOptions? options = null) + { + return new DirectSplunk(name, id, state, options); + } + } + + public sealed class DirectSplunkArgs : global::Pulumi.ResourceArgs + { + /// + /// [required] | Splunk API Access Token. + /// + [Input("accessToken")] + public Input? AccessToken { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Input("historicalDataRetrieval")] + public Input? HistoricalDataRetrieval { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// Base API URL to the Splunk Search app. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public DirectSplunkArgs() + { + } + public static new DirectSplunkArgs Empty => new DirectSplunkArgs(); + } + + public sealed class DirectSplunkState : global::Pulumi.ResourceArgs + { + /// + /// [required] | Splunk API Access Token. + /// + [Input("accessToken")] + public Input? AccessToken { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// [Replay configuration documentation](https://docs.nobl9.com/replay) + /// + [Input("historicalDataRetrieval")] + public Input? HistoricalDataRetrieval { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// Base API URL to the Splunk Search app. + /// + [Input("url")] + public Input? Url { get; set; } + + public DirectSplunkState() + { + } + public static new DirectSplunkState Empty => new DirectSplunkState(); + } +} diff --git a/sdk/dotnet/DirectSplunkObservability.cs b/sdk/dotnet/DirectSplunkObservability.cs new file mode 100644 index 0000000..ae7e029 --- /dev/null +++ b/sdk/dotnet/DirectSplunkObservability.cs @@ -0,0 +1,276 @@ +// *** 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.Nobl9 +{ + /// + /// Splunk Observability allows users to search, monitor, and analyze machine-generated big data. Splunk Observability enables collecting and monitoring metrics, logs, and traces from common data sources. Data collection and monitoring in one place enables full-stack, end-to-end observability of the entire infrastructure. Nobl9 connects with Splunk Observability to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [Splunk Observability Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-direct). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_splunkobservability = new Nobl9.DirectSplunkObservability("test-splunkobservability", new() + /// { + /// AccessToken = "secret", + /// Description = "desc", + /// Project = "terraform", + /// Realm = "eu", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directSplunkObservability:DirectSplunkObservability")] + public partial class DirectSplunkObservability : global::Pulumi.CustomResource + { + /// + /// [required] | Splunk API Access Token. + /// + [Output("accessToken")] + public Output AccessToken { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// SplunkObservability Realm. + /// + [Output("realm")] + public Output Realm { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a DirectSplunkObservability 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 DirectSplunkObservability(string name, DirectSplunkObservabilityArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directSplunkObservability:DirectSplunkObservability", name, args ?? new DirectSplunkObservabilityArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectSplunkObservability(string name, Input id, DirectSplunkObservabilityState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directSplunkObservability:DirectSplunkObservability", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectSplunkObservability 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 DirectSplunkObservability Get(string name, Input id, DirectSplunkObservabilityState? state = null, CustomResourceOptions? options = null) + { + return new DirectSplunkObservability(name, id, state, options); + } + } + + public sealed class DirectSplunkObservabilityArgs : global::Pulumi.ResourceArgs + { + /// + /// [required] | Splunk API Access Token. + /// + [Input("accessToken")] + public Input? AccessToken { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + /// + /// SplunkObservability Realm. + /// + [Input("realm", required: true)] + public Input Realm { get; set; } = null!; + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + public DirectSplunkObservabilityArgs() + { + } + public static new DirectSplunkObservabilityArgs Empty => new DirectSplunkObservabilityArgs(); + } + + public sealed class DirectSplunkObservabilityState : global::Pulumi.ResourceArgs + { + /// + /// [required] | Splunk API Access Token. + /// + [Input("accessToken")] + public Input? AccessToken { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + /// + /// SplunkObservability Realm. + /// + [Input("realm")] + public Input? Realm { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + public DirectSplunkObservabilityState() + { + } + public static new DirectSplunkObservabilityState Empty => new DirectSplunkObservabilityState(); + } +} diff --git a/sdk/dotnet/DirectSumologic.cs b/sdk/dotnet/DirectSumologic.cs new file mode 100644 index 0000000..a0ef3f4 --- /dev/null +++ b/sdk/dotnet/DirectSumologic.cs @@ -0,0 +1,294 @@ +// *** 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.Nobl9 +{ + /// + /// Sumo Logic is an observability platform that provides visibility into AWS, Azure, and GCP cloud applications and infrastructure. Nobl9 connects with Sumo Logic to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [Sumo Logic Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-direct). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_sumologic = new Nobl9.DirectSumologic("test-sumologic", new() + /// { + /// AccessId = "secret", + /// AccessKey = "secret", + /// Description = "desc", + /// Project = "terraform", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// }, + /// Url = "http://web.net", + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directSumologic:DirectSumologic")] + public partial class DirectSumologic : global::Pulumi.CustomResource + { + /// + /// [required] | Sumo Logic API Access ID. + /// + [Output("accessId")] + public Output AccessId { get; private set; } = null!; + + /// + /// [required] | Sumo Logic API Access Key. + /// + [Output("accessKey")] + public Output AccessKey { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Sumo Logic API URL. + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a DirectSumologic 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 DirectSumologic(string name, DirectSumologicArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directSumologic:DirectSumologic", name, args ?? new DirectSumologicArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectSumologic(string name, Input id, DirectSumologicState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directSumologic:DirectSumologic", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectSumologic 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 DirectSumologic Get(string name, Input id, DirectSumologicState? state = null, CustomResourceOptions? options = null) + { + return new DirectSumologic(name, id, state, options); + } + } + + public sealed class DirectSumologicArgs : global::Pulumi.ResourceArgs + { + /// + /// [required] | Sumo Logic API Access ID. + /// + [Input("accessId")] + public Input? AccessId { get; set; } + + /// + /// [required] | Sumo Logic API Access Key. + /// + [Input("accessKey")] + public Input? AccessKey { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// Sumo Logic API URL. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public DirectSumologicArgs() + { + } + public static new DirectSumologicArgs Empty => new DirectSumologicArgs(); + } + + public sealed class DirectSumologicState : global::Pulumi.ResourceArgs + { + /// + /// [required] | Sumo Logic API Access ID. + /// + [Input("accessId")] + public Input? AccessId { get; set; } + + /// + /// [required] | Sumo Logic API Access Key. + /// + [Input("accessKey")] + public Input? AccessKey { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// Sumo Logic API URL. + /// + [Input("url")] + public Input? Url { get; set; } + + public DirectSumologicState() + { + } + public static new DirectSumologicState Empty => new DirectSumologicState(); + } +} diff --git a/sdk/dotnet/DirectThousandeyes.cs b/sdk/dotnet/DirectThousandeyes.cs new file mode 100644 index 0000000..59d53a5 --- /dev/null +++ b/sdk/dotnet/DirectThousandeyes.cs @@ -0,0 +1,257 @@ +// *** 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.Nobl9 +{ + /// + /// ThousandEyes monitors the performance of both local and wide-area networks. ThousandEyes combines Internet and WAN visibility, browser synthetics, end-user monitoring, and Internet Insights to deliver a holistic view of your hybrid digital ecosystem – across cloud, SaaS, and the Internet. It's a SaaS-based tool that helps troubleshoot application delivery and maps Internet performance. Nobl9 connects with ThousandEyes to collect SLI measurements and compare them to SLO targets. + /// + /// For more information, refer to [ThousandEyes Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-direct). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test_thousandeyes = new Nobl9.DirectThousandeyes("test-thousandeyes", new() + /// { + /// Description = "desc", + /// OauthBearerToken = "secret", + /// Project = "terraform", + /// SourceOfs = new[] + /// { + /// "Metrics", + /// "Services", + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/ + /// + [Nobl9ResourceType("nobl9:index/directThousandeyes:DirectThousandeyes")] + public partial class DirectThousandeyes : global::Pulumi.CustomResource + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// [required] | ThousandEyes OAuth Bearer Token. + /// + [Output("oauthBearerToken")] + public Output OauthBearerToken { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Output("queryDelay")] + public Output QueryDelay { get; private set; } = null!; + + /// + /// Source of Metrics and/or Services. + /// + [Output("sourceOfs")] + public Output> SourceOfs { get; private set; } = null!; + + /// + /// The status of the created direct. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a DirectThousandeyes 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 DirectThousandeyes(string name, DirectThousandeyesArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/directThousandeyes:DirectThousandeyes", name, args ?? new DirectThousandeyesArgs(), MakeResourceOptions(options, "")) + { + } + + private DirectThousandeyes(string name, Input id, DirectThousandeyesState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/directThousandeyes:DirectThousandeyes", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 DirectThousandeyes 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 DirectThousandeyes Get(string name, Input id, DirectThousandeyesState? state = null, CustomResourceOptions? options = null) + { + return new DirectThousandeyes(name, id, state, options); + } + } + + public sealed class DirectThousandeyesArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// [required] | ThousandEyes OAuth Bearer Token. + /// + [Input("oauthBearerToken")] + public Input? OauthBearerToken { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs", required: true)] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + public DirectThousandeyesArgs() + { + } + public static new DirectThousandeyesArgs Empty => new DirectThousandeyesArgs(); + } + + public sealed class DirectThousandeyesState : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// [required] | ThousandEyes OAuth Bearer Token. + /// + [Input("oauthBearerToken")] + public Input? OauthBearerToken { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + /// + [Input("queryDelay")] + public Input? QueryDelay { get; set; } + + [Input("sourceOfs")] + private InputList? _sourceOfs; + + /// + /// Source of Metrics and/or Services. + /// + public InputList SourceOfs + { + get => _sourceOfs ?? (_sourceOfs = new InputList()); + set => _sourceOfs = value; + } + + /// + /// The status of the created direct. + /// + [Input("status")] + public Input? Status { get; set; } + + public DirectThousandeyesState() + { + } + public static new DirectThousandeyesState Empty => new DirectThousandeyesState(); + } +} diff --git a/sdk/dotnet/Inputs/AgentAmazonPrometheusConfigArgs.cs b/sdk/dotnet/Inputs/AgentAmazonPrometheusConfigArgs.cs new file mode 100644 index 0000000..e6c0685 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentAmazonPrometheusConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentAmazonPrometheusConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// AWS region e.g., eu-central-1 + /// + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + /// + /// Base URL to Amazon Prometheus server. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentAmazonPrometheusConfigArgs() + { + } + public static new AgentAmazonPrometheusConfigArgs Empty => new AgentAmazonPrometheusConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentAmazonPrometheusConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentAmazonPrometheusConfigGetArgs.cs new file mode 100644 index 0000000..82b55e5 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentAmazonPrometheusConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentAmazonPrometheusConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// AWS region e.g., eu-central-1 + /// + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + /// + /// Base URL to Amazon Prometheus server. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentAmazonPrometheusConfigGetArgs() + { + } + public static new AgentAmazonPrometheusConfigGetArgs Empty => new AgentAmazonPrometheusConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentAppdynamicsConfigArgs.cs b/sdk/dotnet/Inputs/AgentAppdynamicsConfigArgs.cs new file mode 100644 index 0000000..d26f366 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentAppdynamicsConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentAppdynamicsConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Base URL to the AppDynamics Controller. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentAppdynamicsConfigArgs() + { + } + public static new AgentAppdynamicsConfigArgs Empty => new AgentAppdynamicsConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentAppdynamicsConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentAppdynamicsConfigGetArgs.cs new file mode 100644 index 0000000..5a1303b --- /dev/null +++ b/sdk/dotnet/Inputs/AgentAppdynamicsConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentAppdynamicsConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Base URL to the AppDynamics Controller. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentAppdynamicsConfigGetArgs() + { + } + public static new AgentAppdynamicsConfigGetArgs Empty => new AgentAppdynamicsConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentBigqueryConfigArgs.cs b/sdk/dotnet/Inputs/AgentBigqueryConfigArgs.cs new file mode 100644 index 0000000..398398f --- /dev/null +++ b/sdk/dotnet/Inputs/AgentBigqueryConfigArgs.cs @@ -0,0 +1,20 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class AgentBigqueryConfigArgs : global::Pulumi.ResourceArgs + { + public AgentBigqueryConfigArgs() + { + } + public static new AgentBigqueryConfigArgs Empty => new AgentBigqueryConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentBigqueryConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentBigqueryConfigGetArgs.cs new file mode 100644 index 0000000..cc94aec --- /dev/null +++ b/sdk/dotnet/Inputs/AgentBigqueryConfigGetArgs.cs @@ -0,0 +1,20 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class AgentBigqueryConfigGetArgs : global::Pulumi.ResourceArgs + { + public AgentBigqueryConfigGetArgs() + { + } + public static new AgentBigqueryConfigGetArgs Empty => new AgentBigqueryConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentCloudwatchConfigArgs.cs b/sdk/dotnet/Inputs/AgentCloudwatchConfigArgs.cs new file mode 100644 index 0000000..42173d2 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentCloudwatchConfigArgs.cs @@ -0,0 +1,20 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class AgentCloudwatchConfigArgs : global::Pulumi.ResourceArgs + { + public AgentCloudwatchConfigArgs() + { + } + public static new AgentCloudwatchConfigArgs Empty => new AgentCloudwatchConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentCloudwatchConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentCloudwatchConfigGetArgs.cs new file mode 100644 index 0000000..4e74a31 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentCloudwatchConfigGetArgs.cs @@ -0,0 +1,20 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class AgentCloudwatchConfigGetArgs : global::Pulumi.ResourceArgs + { + public AgentCloudwatchConfigGetArgs() + { + } + public static new AgentCloudwatchConfigGetArgs Empty => new AgentCloudwatchConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentDatadogConfigArgs.cs b/sdk/dotnet/Inputs/AgentDatadogConfigArgs.cs new file mode 100644 index 0000000..bfbeb13 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentDatadogConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentDatadogConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union) + /// + [Input("site", required: true)] + public Input Site { get; set; } = null!; + + public AgentDatadogConfigArgs() + { + } + public static new AgentDatadogConfigArgs Empty => new AgentDatadogConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentDatadogConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentDatadogConfigGetArgs.cs new file mode 100644 index 0000000..7086d90 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentDatadogConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentDatadogConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union) + /// + [Input("site", required: true)] + public Input Site { get; set; } = null!; + + public AgentDatadogConfigGetArgs() + { + } + public static new AgentDatadogConfigGetArgs Empty => new AgentDatadogConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentDynatraceConfigArgs.cs b/sdk/dotnet/Inputs/AgentDynatraceConfigArgs.cs new file mode 100644 index 0000000..68fe9ea --- /dev/null +++ b/sdk/dotnet/Inputs/AgentDynatraceConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentDynatraceConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Dynatrace API URL. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentDynatraceConfigArgs() + { + } + public static new AgentDynatraceConfigArgs Empty => new AgentDynatraceConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentDynatraceConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentDynatraceConfigGetArgs.cs new file mode 100644 index 0000000..394f81c --- /dev/null +++ b/sdk/dotnet/Inputs/AgentDynatraceConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentDynatraceConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Dynatrace API URL. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentDynatraceConfigGetArgs() + { + } + public static new AgentDynatraceConfigGetArgs Empty => new AgentDynatraceConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentElasticsearchConfigArgs.cs b/sdk/dotnet/Inputs/AgentElasticsearchConfigArgs.cs new file mode 100644 index 0000000..5997991 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentElasticsearchConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentElasticsearchConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// API URL endpoint to the Elasticsearch's instance. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentElasticsearchConfigArgs() + { + } + public static new AgentElasticsearchConfigArgs Empty => new AgentElasticsearchConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentElasticsearchConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentElasticsearchConfigGetArgs.cs new file mode 100644 index 0000000..dcddb11 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentElasticsearchConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentElasticsearchConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// API URL endpoint to the Elasticsearch's instance. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentElasticsearchConfigGetArgs() + { + } + public static new AgentElasticsearchConfigGetArgs Empty => new AgentElasticsearchConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentGcmConfigArgs.cs b/sdk/dotnet/Inputs/AgentGcmConfigArgs.cs new file mode 100644 index 0000000..4d26f9e --- /dev/null +++ b/sdk/dotnet/Inputs/AgentGcmConfigArgs.cs @@ -0,0 +1,20 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class AgentGcmConfigArgs : global::Pulumi.ResourceArgs + { + public AgentGcmConfigArgs() + { + } + public static new AgentGcmConfigArgs Empty => new AgentGcmConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentGcmConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentGcmConfigGetArgs.cs new file mode 100644 index 0000000..5037ad1 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentGcmConfigGetArgs.cs @@ -0,0 +1,20 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class AgentGcmConfigGetArgs : global::Pulumi.ResourceArgs + { + public AgentGcmConfigGetArgs() + { + } + public static new AgentGcmConfigGetArgs Empty => new AgentGcmConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentGrafanaLokiConfigArgs.cs b/sdk/dotnet/Inputs/AgentGrafanaLokiConfigArgs.cs new file mode 100644 index 0000000..7c2c69e --- /dev/null +++ b/sdk/dotnet/Inputs/AgentGrafanaLokiConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentGrafanaLokiConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// API URL endpoint to the Grafana Loki instance. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentGrafanaLokiConfigArgs() + { + } + public static new AgentGrafanaLokiConfigArgs Empty => new AgentGrafanaLokiConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentGrafanaLokiConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentGrafanaLokiConfigGetArgs.cs new file mode 100644 index 0000000..a8953bb --- /dev/null +++ b/sdk/dotnet/Inputs/AgentGrafanaLokiConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentGrafanaLokiConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// API URL endpoint to the Grafana Loki instance. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentGrafanaLokiConfigGetArgs() + { + } + public static new AgentGrafanaLokiConfigGetArgs Empty => new AgentGrafanaLokiConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentGraphiteConfigArgs.cs b/sdk/dotnet/Inputs/AgentGraphiteConfigArgs.cs new file mode 100644 index 0000000..b754fb2 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentGraphiteConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentGraphiteConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// API URL endpoint to the Graphite's instance. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentGraphiteConfigArgs() + { + } + public static new AgentGraphiteConfigArgs Empty => new AgentGraphiteConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentGraphiteConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentGraphiteConfigGetArgs.cs new file mode 100644 index 0000000..83d2474 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentGraphiteConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentGraphiteConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// API URL endpoint to the Graphite's instance. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentGraphiteConfigGetArgs() + { + } + public static new AgentGraphiteConfigGetArgs Empty => new AgentGraphiteConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentInfluxdbConfigArgs.cs b/sdk/dotnet/Inputs/AgentInfluxdbConfigArgs.cs new file mode 100644 index 0000000..42f068e --- /dev/null +++ b/sdk/dotnet/Inputs/AgentInfluxdbConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentInfluxdbConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// API URL endpoint to the InfluxDB's instance. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentInfluxdbConfigArgs() + { + } + public static new AgentInfluxdbConfigArgs Empty => new AgentInfluxdbConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentInfluxdbConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentInfluxdbConfigGetArgs.cs new file mode 100644 index 0000000..d7e3714 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentInfluxdbConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentInfluxdbConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// API URL endpoint to the InfluxDB's instance. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentInfluxdbConfigGetArgs() + { + } + public static new AgentInfluxdbConfigGetArgs Empty => new AgentInfluxdbConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentInstanaConfigArgs.cs b/sdk/dotnet/Inputs/AgentInstanaConfigArgs.cs new file mode 100644 index 0000000..166bbb5 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentInstanaConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentInstanaConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// API URL endpoint to the InfluxDB's instance. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentInstanaConfigArgs() + { + } + public static new AgentInstanaConfigArgs Empty => new AgentInstanaConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentInstanaConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentInstanaConfigGetArgs.cs new file mode 100644 index 0000000..00a7efc --- /dev/null +++ b/sdk/dotnet/Inputs/AgentInstanaConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentInstanaConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// API URL endpoint to the InfluxDB's instance. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentInstanaConfigGetArgs() + { + } + public static new AgentInstanaConfigGetArgs Empty => new AgentInstanaConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentLightstepConfigArgs.cs b/sdk/dotnet/Inputs/AgentLightstepConfigArgs.cs new file mode 100644 index 0000000..e9972a4 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentLightstepConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentLightstepConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Organization name registered in Lightstep. + /// + [Input("organization", required: true)] + public Input Organization { get; set; } = null!; + + /// + /// Name of the Lightstep project. + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + public AgentLightstepConfigArgs() + { + } + public static new AgentLightstepConfigArgs Empty => new AgentLightstepConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentLightstepConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentLightstepConfigGetArgs.cs new file mode 100644 index 0000000..48d2cd3 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentLightstepConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentLightstepConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Organization name registered in Lightstep. + /// + [Input("organization", required: true)] + public Input Organization { get; set; } = null!; + + /// + /// Name of the Lightstep project. + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + public AgentLightstepConfigGetArgs() + { + } + public static new AgentLightstepConfigGetArgs Empty => new AgentLightstepConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentNewrelicConfigArgs.cs b/sdk/dotnet/Inputs/AgentNewrelicConfigArgs.cs new file mode 100644 index 0000000..ce75d9e --- /dev/null +++ b/sdk/dotnet/Inputs/AgentNewrelicConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentNewrelicConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// ID number assigned to the New Relic user account. + /// + [Input("accountId", required: true)] + public Input AccountId { get; set; } = null!; + + public AgentNewrelicConfigArgs() + { + } + public static new AgentNewrelicConfigArgs Empty => new AgentNewrelicConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentNewrelicConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentNewrelicConfigGetArgs.cs new file mode 100644 index 0000000..8b6dcff --- /dev/null +++ b/sdk/dotnet/Inputs/AgentNewrelicConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentNewrelicConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// ID number assigned to the New Relic user account. + /// + [Input("accountId", required: true)] + public Input AccountId { get; set; } = null!; + + public AgentNewrelicConfigGetArgs() + { + } + public static new AgentNewrelicConfigGetArgs Empty => new AgentNewrelicConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentOpentsdbConfigArgs.cs b/sdk/dotnet/Inputs/AgentOpentsdbConfigArgs.cs new file mode 100644 index 0000000..8827374 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentOpentsdbConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentOpentsdbConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// OpenTSDB cluster URL. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentOpentsdbConfigArgs() + { + } + public static new AgentOpentsdbConfigArgs Empty => new AgentOpentsdbConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentOpentsdbConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentOpentsdbConfigGetArgs.cs new file mode 100644 index 0000000..fd1a20b --- /dev/null +++ b/sdk/dotnet/Inputs/AgentOpentsdbConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentOpentsdbConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// OpenTSDB cluster URL. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentOpentsdbConfigGetArgs() + { + } + public static new AgentOpentsdbConfigGetArgs Empty => new AgentOpentsdbConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentPingdomConfigArgs.cs b/sdk/dotnet/Inputs/AgentPingdomConfigArgs.cs new file mode 100644 index 0000000..b8c9036 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentPingdomConfigArgs.cs @@ -0,0 +1,20 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class AgentPingdomConfigArgs : global::Pulumi.ResourceArgs + { + public AgentPingdomConfigArgs() + { + } + public static new AgentPingdomConfigArgs Empty => new AgentPingdomConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentPingdomConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentPingdomConfigGetArgs.cs new file mode 100644 index 0000000..d3d7c2c --- /dev/null +++ b/sdk/dotnet/Inputs/AgentPingdomConfigGetArgs.cs @@ -0,0 +1,20 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class AgentPingdomConfigGetArgs : global::Pulumi.ResourceArgs + { + public AgentPingdomConfigGetArgs() + { + } + public static new AgentPingdomConfigGetArgs Empty => new AgentPingdomConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentPrometheusConfigArgs.cs b/sdk/dotnet/Inputs/AgentPrometheusConfigArgs.cs new file mode 100644 index 0000000..e20e7c5 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentPrometheusConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentPrometheusConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Base URL to Prometheus server. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentPrometheusConfigArgs() + { + } + public static new AgentPrometheusConfigArgs Empty => new AgentPrometheusConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentPrometheusConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentPrometheusConfigGetArgs.cs new file mode 100644 index 0000000..91b7173 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentPrometheusConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentPrometheusConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Base URL to Prometheus server. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentPrometheusConfigGetArgs() + { + } + public static new AgentPrometheusConfigGetArgs Empty => new AgentPrometheusConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentQueryDelayArgs.cs b/sdk/dotnet/Inputs/AgentQueryDelayArgs.cs new file mode 100644 index 0000000..a60a67c --- /dev/null +++ b/sdk/dotnet/Inputs/AgentQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class AgentQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public AgentQueryDelayArgs() + { + } + public static new AgentQueryDelayArgs Empty => new AgentQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/AgentQueryDelayGetArgs.cs new file mode 100644 index 0000000..e1b28e6 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public AgentQueryDelayGetArgs() + { + } + public static new AgentQueryDelayGetArgs Empty => new AgentQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentRedshiftConfigArgs.cs b/sdk/dotnet/Inputs/AgentRedshiftConfigArgs.cs new file mode 100644 index 0000000..ba526f2 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentRedshiftConfigArgs.cs @@ -0,0 +1,20 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class AgentRedshiftConfigArgs : global::Pulumi.ResourceArgs + { + public AgentRedshiftConfigArgs() + { + } + public static new AgentRedshiftConfigArgs Empty => new AgentRedshiftConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentRedshiftConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentRedshiftConfigGetArgs.cs new file mode 100644 index 0000000..23f43b4 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentRedshiftConfigGetArgs.cs @@ -0,0 +1,20 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class AgentRedshiftConfigGetArgs : global::Pulumi.ResourceArgs + { + public AgentRedshiftConfigGetArgs() + { + } + public static new AgentRedshiftConfigGetArgs Empty => new AgentRedshiftConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentSplunkConfigArgs.cs b/sdk/dotnet/Inputs/AgentSplunkConfigArgs.cs new file mode 100644 index 0000000..fbf9cd2 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentSplunkConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentSplunkConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Base API URL to the Splunk Search app. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentSplunkConfigArgs() + { + } + public static new AgentSplunkConfigArgs Empty => new AgentSplunkConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentSplunkConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentSplunkConfigGetArgs.cs new file mode 100644 index 0000000..ed99226 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentSplunkConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentSplunkConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Base API URL to the Splunk Search app. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentSplunkConfigGetArgs() + { + } + public static new AgentSplunkConfigGetArgs Empty => new AgentSplunkConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentSplunkObservabilityConfigArgs.cs b/sdk/dotnet/Inputs/AgentSplunkObservabilityConfigArgs.cs new file mode 100644 index 0000000..8a66950 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentSplunkObservabilityConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentSplunkObservabilityConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// SplunkObservability Realm. + /// + [Input("realm", required: true)] + public Input Realm { get; set; } = null!; + + public AgentSplunkObservabilityConfigArgs() + { + } + public static new AgentSplunkObservabilityConfigArgs Empty => new AgentSplunkObservabilityConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentSplunkObservabilityConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentSplunkObservabilityConfigGetArgs.cs new file mode 100644 index 0000000..f99f6cf --- /dev/null +++ b/sdk/dotnet/Inputs/AgentSplunkObservabilityConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentSplunkObservabilityConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// SplunkObservability Realm. + /// + [Input("realm", required: true)] + public Input Realm { get; set; } = null!; + + public AgentSplunkObservabilityConfigGetArgs() + { + } + public static new AgentSplunkObservabilityConfigGetArgs Empty => new AgentSplunkObservabilityConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentSumologicConfigArgs.cs b/sdk/dotnet/Inputs/AgentSumologicConfigArgs.cs new file mode 100644 index 0000000..85609ed --- /dev/null +++ b/sdk/dotnet/Inputs/AgentSumologicConfigArgs.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.Nobl9.Inputs +{ + + public sealed class AgentSumologicConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Sumo Logic API URL. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentSumologicConfigArgs() + { + } + public static new AgentSumologicConfigArgs Empty => new AgentSumologicConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentSumologicConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentSumologicConfigGetArgs.cs new file mode 100644 index 0000000..4bac0ae --- /dev/null +++ b/sdk/dotnet/Inputs/AgentSumologicConfigGetArgs.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.Nobl9.Inputs +{ + + public sealed class AgentSumologicConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Sumo Logic API URL. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public AgentSumologicConfigGetArgs() + { + } + public static new AgentSumologicConfigGetArgs Empty => new AgentSumologicConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentThousandeyesConfigArgs.cs b/sdk/dotnet/Inputs/AgentThousandeyesConfigArgs.cs new file mode 100644 index 0000000..5c3b4f1 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentThousandeyesConfigArgs.cs @@ -0,0 +1,20 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class AgentThousandeyesConfigArgs : global::Pulumi.ResourceArgs + { + public AgentThousandeyesConfigArgs() + { + } + public static new AgentThousandeyesConfigArgs Empty => new AgentThousandeyesConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AgentThousandeyesConfigGetArgs.cs b/sdk/dotnet/Inputs/AgentThousandeyesConfigGetArgs.cs new file mode 100644 index 0000000..49b5d42 --- /dev/null +++ b/sdk/dotnet/Inputs/AgentThousandeyesConfigGetArgs.cs @@ -0,0 +1,20 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class AgentThousandeyesConfigGetArgs : global::Pulumi.ResourceArgs + { + public AgentThousandeyesConfigGetArgs() + { + } + public static new AgentThousandeyesConfigGetArgs Empty => new AgentThousandeyesConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlertPolicyAlertMethodArgs.cs b/sdk/dotnet/Inputs/AlertPolicyAlertMethodArgs.cs new file mode 100644 index 0000000..463ff55 --- /dev/null +++ b/sdk/dotnet/Inputs/AlertPolicyAlertMethodArgs.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.Nobl9.Inputs +{ + + public sealed class AlertPolicyAlertMethodArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the previously defined alert method. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Project name the Alert Method is in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). If not defined, Nobl9 returns a default value for this field. + /// + [Input("project")] + public Input? Project { get; set; } + + public AlertPolicyAlertMethodArgs() + { + } + public static new AlertPolicyAlertMethodArgs Empty => new AlertPolicyAlertMethodArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlertPolicyAlertMethodGetArgs.cs b/sdk/dotnet/Inputs/AlertPolicyAlertMethodGetArgs.cs new file mode 100644 index 0000000..2af4c8a --- /dev/null +++ b/sdk/dotnet/Inputs/AlertPolicyAlertMethodGetArgs.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.Nobl9.Inputs +{ + + public sealed class AlertPolicyAlertMethodGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the previously defined alert method. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Project name the Alert Method is in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). If not defined, Nobl9 returns a default value for this field. + /// + [Input("project")] + public Input? Project { get; set; } + + public AlertPolicyAlertMethodGetArgs() + { + } + public static new AlertPolicyAlertMethodGetArgs Empty => new AlertPolicyAlertMethodGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlertPolicyConditionArgs.cs b/sdk/dotnet/Inputs/AlertPolicyConditionArgs.cs new file mode 100644 index 0000000..6cb060d --- /dev/null +++ b/sdk/dotnet/Inputs/AlertPolicyConditionArgs.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.Nobl9.Inputs +{ + + public sealed class AlertPolicyConditionArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates how long a given condition needs to be valid to mark the condition as true. + /// + [Input("lastsFor")] + public Input? LastsFor { get; set; } + + /// + /// One of `timeToBurnBudget` | `burnRate` | `burnedBudget`. + /// + [Input("measurement", required: true)] + public Input Measurement { get; set; } = null!; + + /// + /// For `averageBurnRate`, it indicates how fast the error budget is burning. For `burnedBudget`, it tells how much error budget is already burned. + /// + [Input("value")] + public Input? Value { get; set; } + + /// + /// Used with `timeToBurnBudget`, indicates when the budget would be exhausted. The expected value is a string in time duration string format. + /// + [Input("valueString")] + public Input? ValueString { get; set; } + + public AlertPolicyConditionArgs() + { + } + public static new AlertPolicyConditionArgs Empty => new AlertPolicyConditionArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlertPolicyConditionGetArgs.cs b/sdk/dotnet/Inputs/AlertPolicyConditionGetArgs.cs new file mode 100644 index 0000000..6208147 --- /dev/null +++ b/sdk/dotnet/Inputs/AlertPolicyConditionGetArgs.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.Nobl9.Inputs +{ + + public sealed class AlertPolicyConditionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates how long a given condition needs to be valid to mark the condition as true. + /// + [Input("lastsFor")] + public Input? LastsFor { get; set; } + + /// + /// One of `timeToBurnBudget` | `burnRate` | `burnedBudget`. + /// + [Input("measurement", required: true)] + public Input Measurement { get; set; } = null!; + + /// + /// For `averageBurnRate`, it indicates how fast the error budget is burning. For `burnedBudget`, it tells how much error budget is already burned. + /// + [Input("value")] + public Input? Value { get; set; } + + /// + /// Used with `timeToBurnBudget`, indicates when the budget would be exhausted. The expected value is a string in time duration string format. + /// + [Input("valueString")] + public Input? ValueString { get; set; } + + public AlertPolicyConditionGetArgs() + { + } + public static new AlertPolicyConditionGetArgs Empty => new AlertPolicyConditionGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectAppdynamicsQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectAppdynamicsQueryDelayArgs.cs new file mode 100644 index 0000000..dd5d80a --- /dev/null +++ b/sdk/dotnet/Inputs/DirectAppdynamicsQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectAppdynamicsQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectAppdynamicsQueryDelayArgs() + { + } + public static new DirectAppdynamicsQueryDelayArgs Empty => new DirectAppdynamicsQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectAppdynamicsQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectAppdynamicsQueryDelayGetArgs.cs new file mode 100644 index 0000000..d6f3f16 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectAppdynamicsQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectAppdynamicsQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectAppdynamicsQueryDelayGetArgs() + { + } + public static new DirectAppdynamicsQueryDelayGetArgs Empty => new DirectAppdynamicsQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectBigqueryQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectBigqueryQueryDelayArgs.cs new file mode 100644 index 0000000..e4da199 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectBigqueryQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectBigqueryQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectBigqueryQueryDelayArgs() + { + } + public static new DirectBigqueryQueryDelayArgs Empty => new DirectBigqueryQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectBigqueryQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectBigqueryQueryDelayGetArgs.cs new file mode 100644 index 0000000..e6f9fc7 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectBigqueryQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectBigqueryQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectBigqueryQueryDelayGetArgs() + { + } + public static new DirectBigqueryQueryDelayGetArgs Empty => new DirectBigqueryQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalArgs.cs b/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalArgs.cs new file mode 100644 index 0000000..7c5d73d --- /dev/null +++ b/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalArgs.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.Nobl9.Inputs +{ + + public sealed class DirectCloudwatchHistoricalDataRetrievalArgs : global::Pulumi.ResourceArgs + { + [Input("defaultDurations", required: true)] + private InputList? _defaultDurations; + + /// + /// Used by default for any SLOs connected to this data source. + /// + public InputList DefaultDurations + { + get => _defaultDurations ?? (_defaultDurations = new InputList()); + set => _defaultDurations = value; + } + + [Input("maxDurations", required: true)] + private InputList? _maxDurations; + + /// + /// Defines the maximum period for which data can be retrieved. + /// + public InputList MaxDurations + { + get => _maxDurations ?? (_maxDurations = new InputList()); + set => _maxDurations = value; + } + + public DirectCloudwatchHistoricalDataRetrievalArgs() + { + } + public static new DirectCloudwatchHistoricalDataRetrievalArgs Empty => new DirectCloudwatchHistoricalDataRetrievalArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs.cs b/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs.cs new file mode 100644 index 0000000..b5230c5 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs.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.Nobl9.Inputs +{ + + public sealed class DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs() + { + } + public static new DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs Empty => new DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalDefaultDurationGetArgs.cs b/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalDefaultDurationGetArgs.cs new file mode 100644 index 0000000..cd87daa --- /dev/null +++ b/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalDefaultDurationGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectCloudwatchHistoricalDataRetrievalDefaultDurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectCloudwatchHistoricalDataRetrievalDefaultDurationGetArgs() + { + } + public static new DirectCloudwatchHistoricalDataRetrievalDefaultDurationGetArgs Empty => new DirectCloudwatchHistoricalDataRetrievalDefaultDurationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalGetArgs.cs b/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalGetArgs.cs new file mode 100644 index 0000000..a333ef3 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectCloudwatchHistoricalDataRetrievalGetArgs : global::Pulumi.ResourceArgs + { + [Input("defaultDurations", required: true)] + private InputList? _defaultDurations; + + /// + /// Used by default for any SLOs connected to this data source. + /// + public InputList DefaultDurations + { + get => _defaultDurations ?? (_defaultDurations = new InputList()); + set => _defaultDurations = value; + } + + [Input("maxDurations", required: true)] + private InputList? _maxDurations; + + /// + /// Defines the maximum period for which data can be retrieved. + /// + public InputList MaxDurations + { + get => _maxDurations ?? (_maxDurations = new InputList()); + set => _maxDurations = value; + } + + public DirectCloudwatchHistoricalDataRetrievalGetArgs() + { + } + public static new DirectCloudwatchHistoricalDataRetrievalGetArgs Empty => new DirectCloudwatchHistoricalDataRetrievalGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs.cs b/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs.cs new file mode 100644 index 0000000..53119a2 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs.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.Nobl9.Inputs +{ + + public sealed class DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs() + { + } + public static new DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs Empty => new DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalMaxDurationGetArgs.cs b/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalMaxDurationGetArgs.cs new file mode 100644 index 0000000..57efd80 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectCloudwatchHistoricalDataRetrievalMaxDurationGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectCloudwatchHistoricalDataRetrievalMaxDurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectCloudwatchHistoricalDataRetrievalMaxDurationGetArgs() + { + } + public static new DirectCloudwatchHistoricalDataRetrievalMaxDurationGetArgs Empty => new DirectCloudwatchHistoricalDataRetrievalMaxDurationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectCloudwatchQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectCloudwatchQueryDelayArgs.cs new file mode 100644 index 0000000..7171c2b --- /dev/null +++ b/sdk/dotnet/Inputs/DirectCloudwatchQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectCloudwatchQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectCloudwatchQueryDelayArgs() + { + } + public static new DirectCloudwatchQueryDelayArgs Empty => new DirectCloudwatchQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectCloudwatchQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectCloudwatchQueryDelayGetArgs.cs new file mode 100644 index 0000000..42e458a --- /dev/null +++ b/sdk/dotnet/Inputs/DirectCloudwatchQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectCloudwatchQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectCloudwatchQueryDelayGetArgs() + { + } + public static new DirectCloudwatchQueryDelayGetArgs Empty => new DirectCloudwatchQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalArgs.cs b/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalArgs.cs new file mode 100644 index 0000000..9e6b02c --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDatadogHistoricalDataRetrievalArgs : global::Pulumi.ResourceArgs + { + [Input("defaultDurations", required: true)] + private InputList? _defaultDurations; + + /// + /// Used by default for any SLOs connected to this data source. + /// + public InputList DefaultDurations + { + get => _defaultDurations ?? (_defaultDurations = new InputList()); + set => _defaultDurations = value; + } + + [Input("maxDurations", required: true)] + private InputList? _maxDurations; + + /// + /// Defines the maximum period for which data can be retrieved. + /// + public InputList MaxDurations + { + get => _maxDurations ?? (_maxDurations = new InputList()); + set => _maxDurations = value; + } + + public DirectDatadogHistoricalDataRetrievalArgs() + { + } + public static new DirectDatadogHistoricalDataRetrievalArgs Empty => new DirectDatadogHistoricalDataRetrievalArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalDefaultDurationArgs.cs b/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalDefaultDurationArgs.cs new file mode 100644 index 0000000..e731973 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalDefaultDurationArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDatadogHistoricalDataRetrievalDefaultDurationArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectDatadogHistoricalDataRetrievalDefaultDurationArgs() + { + } + public static new DirectDatadogHistoricalDataRetrievalDefaultDurationArgs Empty => new DirectDatadogHistoricalDataRetrievalDefaultDurationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalDefaultDurationGetArgs.cs b/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalDefaultDurationGetArgs.cs new file mode 100644 index 0000000..aa09ce0 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalDefaultDurationGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDatadogHistoricalDataRetrievalDefaultDurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectDatadogHistoricalDataRetrievalDefaultDurationGetArgs() + { + } + public static new DirectDatadogHistoricalDataRetrievalDefaultDurationGetArgs Empty => new DirectDatadogHistoricalDataRetrievalDefaultDurationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalGetArgs.cs b/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalGetArgs.cs new file mode 100644 index 0000000..b4dc9b2 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDatadogHistoricalDataRetrievalGetArgs : global::Pulumi.ResourceArgs + { + [Input("defaultDurations", required: true)] + private InputList? _defaultDurations; + + /// + /// Used by default for any SLOs connected to this data source. + /// + public InputList DefaultDurations + { + get => _defaultDurations ?? (_defaultDurations = new InputList()); + set => _defaultDurations = value; + } + + [Input("maxDurations", required: true)] + private InputList? _maxDurations; + + /// + /// Defines the maximum period for which data can be retrieved. + /// + public InputList MaxDurations + { + get => _maxDurations ?? (_maxDurations = new InputList()); + set => _maxDurations = value; + } + + public DirectDatadogHistoricalDataRetrievalGetArgs() + { + } + public static new DirectDatadogHistoricalDataRetrievalGetArgs Empty => new DirectDatadogHistoricalDataRetrievalGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalMaxDurationArgs.cs b/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalMaxDurationArgs.cs new file mode 100644 index 0000000..30a9712 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalMaxDurationArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDatadogHistoricalDataRetrievalMaxDurationArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectDatadogHistoricalDataRetrievalMaxDurationArgs() + { + } + public static new DirectDatadogHistoricalDataRetrievalMaxDurationArgs Empty => new DirectDatadogHistoricalDataRetrievalMaxDurationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalMaxDurationGetArgs.cs b/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalMaxDurationGetArgs.cs new file mode 100644 index 0000000..015bee0 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDatadogHistoricalDataRetrievalMaxDurationGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDatadogHistoricalDataRetrievalMaxDurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectDatadogHistoricalDataRetrievalMaxDurationGetArgs() + { + } + public static new DirectDatadogHistoricalDataRetrievalMaxDurationGetArgs Empty => new DirectDatadogHistoricalDataRetrievalMaxDurationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDatadogQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectDatadogQueryDelayArgs.cs new file mode 100644 index 0000000..01cecbd --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDatadogQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDatadogQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectDatadogQueryDelayArgs() + { + } + public static new DirectDatadogQueryDelayArgs Empty => new DirectDatadogQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDatadogQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectDatadogQueryDelayGetArgs.cs new file mode 100644 index 0000000..9dce413 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDatadogQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDatadogQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectDatadogQueryDelayGetArgs() + { + } + public static new DirectDatadogQueryDelayGetArgs Empty => new DirectDatadogQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalArgs.cs b/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalArgs.cs new file mode 100644 index 0000000..640659c --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDynatraceHistoricalDataRetrievalArgs : global::Pulumi.ResourceArgs + { + [Input("defaultDurations", required: true)] + private InputList? _defaultDurations; + + /// + /// Used by default for any SLOs connected to this data source. + /// + public InputList DefaultDurations + { + get => _defaultDurations ?? (_defaultDurations = new InputList()); + set => _defaultDurations = value; + } + + [Input("maxDurations", required: true)] + private InputList? _maxDurations; + + /// + /// Defines the maximum period for which data can be retrieved. + /// + public InputList MaxDurations + { + get => _maxDurations ?? (_maxDurations = new InputList()); + set => _maxDurations = value; + } + + public DirectDynatraceHistoricalDataRetrievalArgs() + { + } + public static new DirectDynatraceHistoricalDataRetrievalArgs Empty => new DirectDynatraceHistoricalDataRetrievalArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs.cs b/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs.cs new file mode 100644 index 0000000..e8517c9 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs() + { + } + public static new DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs Empty => new DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalDefaultDurationGetArgs.cs b/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalDefaultDurationGetArgs.cs new file mode 100644 index 0000000..6ecdce3 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalDefaultDurationGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDynatraceHistoricalDataRetrievalDefaultDurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectDynatraceHistoricalDataRetrievalDefaultDurationGetArgs() + { + } + public static new DirectDynatraceHistoricalDataRetrievalDefaultDurationGetArgs Empty => new DirectDynatraceHistoricalDataRetrievalDefaultDurationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalGetArgs.cs b/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalGetArgs.cs new file mode 100644 index 0000000..201dc28 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDynatraceHistoricalDataRetrievalGetArgs : global::Pulumi.ResourceArgs + { + [Input("defaultDurations", required: true)] + private InputList? _defaultDurations; + + /// + /// Used by default for any SLOs connected to this data source. + /// + public InputList DefaultDurations + { + get => _defaultDurations ?? (_defaultDurations = new InputList()); + set => _defaultDurations = value; + } + + [Input("maxDurations", required: true)] + private InputList? _maxDurations; + + /// + /// Defines the maximum period for which data can be retrieved. + /// + public InputList MaxDurations + { + get => _maxDurations ?? (_maxDurations = new InputList()); + set => _maxDurations = value; + } + + public DirectDynatraceHistoricalDataRetrievalGetArgs() + { + } + public static new DirectDynatraceHistoricalDataRetrievalGetArgs Empty => new DirectDynatraceHistoricalDataRetrievalGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalMaxDurationArgs.cs b/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalMaxDurationArgs.cs new file mode 100644 index 0000000..5bd3280 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalMaxDurationArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDynatraceHistoricalDataRetrievalMaxDurationArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectDynatraceHistoricalDataRetrievalMaxDurationArgs() + { + } + public static new DirectDynatraceHistoricalDataRetrievalMaxDurationArgs Empty => new DirectDynatraceHistoricalDataRetrievalMaxDurationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalMaxDurationGetArgs.cs b/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalMaxDurationGetArgs.cs new file mode 100644 index 0000000..8025380 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDynatraceHistoricalDataRetrievalMaxDurationGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDynatraceHistoricalDataRetrievalMaxDurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectDynatraceHistoricalDataRetrievalMaxDurationGetArgs() + { + } + public static new DirectDynatraceHistoricalDataRetrievalMaxDurationGetArgs Empty => new DirectDynatraceHistoricalDataRetrievalMaxDurationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDynatraceQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectDynatraceQueryDelayArgs.cs new file mode 100644 index 0000000..6e25cc5 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDynatraceQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDynatraceQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectDynatraceQueryDelayArgs() + { + } + public static new DirectDynatraceQueryDelayArgs Empty => new DirectDynatraceQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectDynatraceQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectDynatraceQueryDelayGetArgs.cs new file mode 100644 index 0000000..9370fbd --- /dev/null +++ b/sdk/dotnet/Inputs/DirectDynatraceQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectDynatraceQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectDynatraceQueryDelayGetArgs() + { + } + public static new DirectDynatraceQueryDelayGetArgs Empty => new DirectDynatraceQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectGcmQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectGcmQueryDelayArgs.cs new file mode 100644 index 0000000..b43a371 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectGcmQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectGcmQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectGcmQueryDelayArgs() + { + } + public static new DirectGcmQueryDelayArgs Empty => new DirectGcmQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectGcmQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectGcmQueryDelayGetArgs.cs new file mode 100644 index 0000000..31c6d38 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectGcmQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectGcmQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectGcmQueryDelayGetArgs() + { + } + public static new DirectGcmQueryDelayGetArgs Empty => new DirectGcmQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectInfluxdbQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectInfluxdbQueryDelayArgs.cs new file mode 100644 index 0000000..f1162e2 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectInfluxdbQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectInfluxdbQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectInfluxdbQueryDelayArgs() + { + } + public static new DirectInfluxdbQueryDelayArgs Empty => new DirectInfluxdbQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectInfluxdbQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectInfluxdbQueryDelayGetArgs.cs new file mode 100644 index 0000000..a8a77c3 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectInfluxdbQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectInfluxdbQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectInfluxdbQueryDelayGetArgs() + { + } + public static new DirectInfluxdbQueryDelayGetArgs Empty => new DirectInfluxdbQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectInstanaQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectInstanaQueryDelayArgs.cs new file mode 100644 index 0000000..8e5cc1e --- /dev/null +++ b/sdk/dotnet/Inputs/DirectInstanaQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectInstanaQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectInstanaQueryDelayArgs() + { + } + public static new DirectInstanaQueryDelayArgs Empty => new DirectInstanaQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectInstanaQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectInstanaQueryDelayGetArgs.cs new file mode 100644 index 0000000..afd5066 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectInstanaQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectInstanaQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectInstanaQueryDelayGetArgs() + { + } + public static new DirectInstanaQueryDelayGetArgs Empty => new DirectInstanaQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalArgs.cs b/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalArgs.cs new file mode 100644 index 0000000..6d8e28f --- /dev/null +++ b/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalArgs.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.Nobl9.Inputs +{ + + public sealed class DirectLightstepHistoricalDataRetrievalArgs : global::Pulumi.ResourceArgs + { + [Input("defaultDurations", required: true)] + private InputList? _defaultDurations; + + /// + /// Used by default for any SLOs connected to this data source. + /// + public InputList DefaultDurations + { + get => _defaultDurations ?? (_defaultDurations = new InputList()); + set => _defaultDurations = value; + } + + [Input("maxDurations", required: true)] + private InputList? _maxDurations; + + /// + /// Defines the maximum period for which data can be retrieved. + /// + public InputList MaxDurations + { + get => _maxDurations ?? (_maxDurations = new InputList()); + set => _maxDurations = value; + } + + public DirectLightstepHistoricalDataRetrievalArgs() + { + } + public static new DirectLightstepHistoricalDataRetrievalArgs Empty => new DirectLightstepHistoricalDataRetrievalArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalDefaultDurationArgs.cs b/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalDefaultDurationArgs.cs new file mode 100644 index 0000000..1e964df --- /dev/null +++ b/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalDefaultDurationArgs.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.Nobl9.Inputs +{ + + public sealed class DirectLightstepHistoricalDataRetrievalDefaultDurationArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectLightstepHistoricalDataRetrievalDefaultDurationArgs() + { + } + public static new DirectLightstepHistoricalDataRetrievalDefaultDurationArgs Empty => new DirectLightstepHistoricalDataRetrievalDefaultDurationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalDefaultDurationGetArgs.cs b/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalDefaultDurationGetArgs.cs new file mode 100644 index 0000000..2937a4d --- /dev/null +++ b/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalDefaultDurationGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectLightstepHistoricalDataRetrievalDefaultDurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectLightstepHistoricalDataRetrievalDefaultDurationGetArgs() + { + } + public static new DirectLightstepHistoricalDataRetrievalDefaultDurationGetArgs Empty => new DirectLightstepHistoricalDataRetrievalDefaultDurationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalGetArgs.cs b/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalGetArgs.cs new file mode 100644 index 0000000..c96e697 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectLightstepHistoricalDataRetrievalGetArgs : global::Pulumi.ResourceArgs + { + [Input("defaultDurations", required: true)] + private InputList? _defaultDurations; + + /// + /// Used by default for any SLOs connected to this data source. + /// + public InputList DefaultDurations + { + get => _defaultDurations ?? (_defaultDurations = new InputList()); + set => _defaultDurations = value; + } + + [Input("maxDurations", required: true)] + private InputList? _maxDurations; + + /// + /// Defines the maximum period for which data can be retrieved. + /// + public InputList MaxDurations + { + get => _maxDurations ?? (_maxDurations = new InputList()); + set => _maxDurations = value; + } + + public DirectLightstepHistoricalDataRetrievalGetArgs() + { + } + public static new DirectLightstepHistoricalDataRetrievalGetArgs Empty => new DirectLightstepHistoricalDataRetrievalGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalMaxDurationArgs.cs b/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalMaxDurationArgs.cs new file mode 100644 index 0000000..f263692 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalMaxDurationArgs.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.Nobl9.Inputs +{ + + public sealed class DirectLightstepHistoricalDataRetrievalMaxDurationArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectLightstepHistoricalDataRetrievalMaxDurationArgs() + { + } + public static new DirectLightstepHistoricalDataRetrievalMaxDurationArgs Empty => new DirectLightstepHistoricalDataRetrievalMaxDurationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalMaxDurationGetArgs.cs b/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalMaxDurationGetArgs.cs new file mode 100644 index 0000000..1e264e2 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectLightstepHistoricalDataRetrievalMaxDurationGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectLightstepHistoricalDataRetrievalMaxDurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectLightstepHistoricalDataRetrievalMaxDurationGetArgs() + { + } + public static new DirectLightstepHistoricalDataRetrievalMaxDurationGetArgs Empty => new DirectLightstepHistoricalDataRetrievalMaxDurationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectLightstepQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectLightstepQueryDelayArgs.cs new file mode 100644 index 0000000..8d27ec0 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectLightstepQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectLightstepQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectLightstepQueryDelayArgs() + { + } + public static new DirectLightstepQueryDelayArgs Empty => new DirectLightstepQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectLightstepQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectLightstepQueryDelayGetArgs.cs new file mode 100644 index 0000000..8ffe5e1 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectLightstepQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectLightstepQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectLightstepQueryDelayGetArgs() + { + } + public static new DirectLightstepQueryDelayGetArgs Empty => new DirectLightstepQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalArgs.cs b/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalArgs.cs new file mode 100644 index 0000000..48a8682 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalArgs.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.Nobl9.Inputs +{ + + public sealed class DirectNewrelicHistoricalDataRetrievalArgs : global::Pulumi.ResourceArgs + { + [Input("defaultDurations", required: true)] + private InputList? _defaultDurations; + + /// + /// Used by default for any SLOs connected to this data source. + /// + public InputList DefaultDurations + { + get => _defaultDurations ?? (_defaultDurations = new InputList()); + set => _defaultDurations = value; + } + + [Input("maxDurations", required: true)] + private InputList? _maxDurations; + + /// + /// Defines the maximum period for which data can be retrieved. + /// + public InputList MaxDurations + { + get => _maxDurations ?? (_maxDurations = new InputList()); + set => _maxDurations = value; + } + + public DirectNewrelicHistoricalDataRetrievalArgs() + { + } + public static new DirectNewrelicHistoricalDataRetrievalArgs Empty => new DirectNewrelicHistoricalDataRetrievalArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs.cs b/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs.cs new file mode 100644 index 0000000..97d8a0a --- /dev/null +++ b/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs.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.Nobl9.Inputs +{ + + public sealed class DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs() + { + } + public static new DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs Empty => new DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalDefaultDurationGetArgs.cs b/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalDefaultDurationGetArgs.cs new file mode 100644 index 0000000..604db3b --- /dev/null +++ b/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalDefaultDurationGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectNewrelicHistoricalDataRetrievalDefaultDurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectNewrelicHistoricalDataRetrievalDefaultDurationGetArgs() + { + } + public static new DirectNewrelicHistoricalDataRetrievalDefaultDurationGetArgs Empty => new DirectNewrelicHistoricalDataRetrievalDefaultDurationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalGetArgs.cs b/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalGetArgs.cs new file mode 100644 index 0000000..9553709 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectNewrelicHistoricalDataRetrievalGetArgs : global::Pulumi.ResourceArgs + { + [Input("defaultDurations", required: true)] + private InputList? _defaultDurations; + + /// + /// Used by default for any SLOs connected to this data source. + /// + public InputList DefaultDurations + { + get => _defaultDurations ?? (_defaultDurations = new InputList()); + set => _defaultDurations = value; + } + + [Input("maxDurations", required: true)] + private InputList? _maxDurations; + + /// + /// Defines the maximum period for which data can be retrieved. + /// + public InputList MaxDurations + { + get => _maxDurations ?? (_maxDurations = new InputList()); + set => _maxDurations = value; + } + + public DirectNewrelicHistoricalDataRetrievalGetArgs() + { + } + public static new DirectNewrelicHistoricalDataRetrievalGetArgs Empty => new DirectNewrelicHistoricalDataRetrievalGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalMaxDurationArgs.cs b/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalMaxDurationArgs.cs new file mode 100644 index 0000000..a73b3b1 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalMaxDurationArgs.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.Nobl9.Inputs +{ + + public sealed class DirectNewrelicHistoricalDataRetrievalMaxDurationArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectNewrelicHistoricalDataRetrievalMaxDurationArgs() + { + } + public static new DirectNewrelicHistoricalDataRetrievalMaxDurationArgs Empty => new DirectNewrelicHistoricalDataRetrievalMaxDurationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalMaxDurationGetArgs.cs b/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalMaxDurationGetArgs.cs new file mode 100644 index 0000000..33d01de --- /dev/null +++ b/sdk/dotnet/Inputs/DirectNewrelicHistoricalDataRetrievalMaxDurationGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectNewrelicHistoricalDataRetrievalMaxDurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectNewrelicHistoricalDataRetrievalMaxDurationGetArgs() + { + } + public static new DirectNewrelicHistoricalDataRetrievalMaxDurationGetArgs Empty => new DirectNewrelicHistoricalDataRetrievalMaxDurationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectNewrelicQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectNewrelicQueryDelayArgs.cs new file mode 100644 index 0000000..4ead140 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectNewrelicQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectNewrelicQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectNewrelicQueryDelayArgs() + { + } + public static new DirectNewrelicQueryDelayArgs Empty => new DirectNewrelicQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectNewrelicQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectNewrelicQueryDelayGetArgs.cs new file mode 100644 index 0000000..df39a6d --- /dev/null +++ b/sdk/dotnet/Inputs/DirectNewrelicQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectNewrelicQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectNewrelicQueryDelayGetArgs() + { + } + public static new DirectNewrelicQueryDelayGetArgs Empty => new DirectNewrelicQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectPingdomQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectPingdomQueryDelayArgs.cs new file mode 100644 index 0000000..824f1c2 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectPingdomQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectPingdomQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectPingdomQueryDelayArgs() + { + } + public static new DirectPingdomQueryDelayArgs Empty => new DirectPingdomQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectPingdomQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectPingdomQueryDelayGetArgs.cs new file mode 100644 index 0000000..f70de1a --- /dev/null +++ b/sdk/dotnet/Inputs/DirectPingdomQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectPingdomQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectPingdomQueryDelayGetArgs() + { + } + public static new DirectPingdomQueryDelayGetArgs Empty => new DirectPingdomQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectRedshiftQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectRedshiftQueryDelayArgs.cs new file mode 100644 index 0000000..000f4dd --- /dev/null +++ b/sdk/dotnet/Inputs/DirectRedshiftQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectRedshiftQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectRedshiftQueryDelayArgs() + { + } + public static new DirectRedshiftQueryDelayArgs Empty => new DirectRedshiftQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectRedshiftQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectRedshiftQueryDelayGetArgs.cs new file mode 100644 index 0000000..3ead03a --- /dev/null +++ b/sdk/dotnet/Inputs/DirectRedshiftQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectRedshiftQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectRedshiftQueryDelayGetArgs() + { + } + public static new DirectRedshiftQueryDelayGetArgs Empty => new DirectRedshiftQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalArgs.cs b/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalArgs.cs new file mode 100644 index 0000000..b82f87e --- /dev/null +++ b/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalArgs.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.Nobl9.Inputs +{ + + public sealed class DirectSplunkHistoricalDataRetrievalArgs : global::Pulumi.ResourceArgs + { + [Input("defaultDurations", required: true)] + private InputList? _defaultDurations; + + /// + /// Used by default for any SLOs connected to this data source. + /// + public InputList DefaultDurations + { + get => _defaultDurations ?? (_defaultDurations = new InputList()); + set => _defaultDurations = value; + } + + [Input("maxDurations", required: true)] + private InputList? _maxDurations; + + /// + /// Defines the maximum period for which data can be retrieved. + /// + public InputList MaxDurations + { + get => _maxDurations ?? (_maxDurations = new InputList()); + set => _maxDurations = value; + } + + public DirectSplunkHistoricalDataRetrievalArgs() + { + } + public static new DirectSplunkHistoricalDataRetrievalArgs Empty => new DirectSplunkHistoricalDataRetrievalArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalDefaultDurationArgs.cs b/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalDefaultDurationArgs.cs new file mode 100644 index 0000000..61a0e8e --- /dev/null +++ b/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalDefaultDurationArgs.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.Nobl9.Inputs +{ + + public sealed class DirectSplunkHistoricalDataRetrievalDefaultDurationArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectSplunkHistoricalDataRetrievalDefaultDurationArgs() + { + } + public static new DirectSplunkHistoricalDataRetrievalDefaultDurationArgs Empty => new DirectSplunkHistoricalDataRetrievalDefaultDurationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalDefaultDurationGetArgs.cs b/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalDefaultDurationGetArgs.cs new file mode 100644 index 0000000..f9aeaf6 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalDefaultDurationGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectSplunkHistoricalDataRetrievalDefaultDurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectSplunkHistoricalDataRetrievalDefaultDurationGetArgs() + { + } + public static new DirectSplunkHistoricalDataRetrievalDefaultDurationGetArgs Empty => new DirectSplunkHistoricalDataRetrievalDefaultDurationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalGetArgs.cs b/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalGetArgs.cs new file mode 100644 index 0000000..99d573b --- /dev/null +++ b/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectSplunkHistoricalDataRetrievalGetArgs : global::Pulumi.ResourceArgs + { + [Input("defaultDurations", required: true)] + private InputList? _defaultDurations; + + /// + /// Used by default for any SLOs connected to this data source. + /// + public InputList DefaultDurations + { + get => _defaultDurations ?? (_defaultDurations = new InputList()); + set => _defaultDurations = value; + } + + [Input("maxDurations", required: true)] + private InputList? _maxDurations; + + /// + /// Defines the maximum period for which data can be retrieved. + /// + public InputList MaxDurations + { + get => _maxDurations ?? (_maxDurations = new InputList()); + set => _maxDurations = value; + } + + public DirectSplunkHistoricalDataRetrievalGetArgs() + { + } + public static new DirectSplunkHistoricalDataRetrievalGetArgs Empty => new DirectSplunkHistoricalDataRetrievalGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalMaxDurationArgs.cs b/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalMaxDurationArgs.cs new file mode 100644 index 0000000..ed1239e --- /dev/null +++ b/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalMaxDurationArgs.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.Nobl9.Inputs +{ + + public sealed class DirectSplunkHistoricalDataRetrievalMaxDurationArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectSplunkHistoricalDataRetrievalMaxDurationArgs() + { + } + public static new DirectSplunkHistoricalDataRetrievalMaxDurationArgs Empty => new DirectSplunkHistoricalDataRetrievalMaxDurationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalMaxDurationGetArgs.cs b/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalMaxDurationGetArgs.cs new file mode 100644 index 0000000..25ad4f0 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectSplunkHistoricalDataRetrievalMaxDurationGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectSplunkHistoricalDataRetrievalMaxDurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectSplunkHistoricalDataRetrievalMaxDurationGetArgs() + { + } + public static new DirectSplunkHistoricalDataRetrievalMaxDurationGetArgs Empty => new DirectSplunkHistoricalDataRetrievalMaxDurationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectSplunkObservabilityQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectSplunkObservabilityQueryDelayArgs.cs new file mode 100644 index 0000000..d5b2904 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectSplunkObservabilityQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectSplunkObservabilityQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectSplunkObservabilityQueryDelayArgs() + { + } + public static new DirectSplunkObservabilityQueryDelayArgs Empty => new DirectSplunkObservabilityQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectSplunkObservabilityQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectSplunkObservabilityQueryDelayGetArgs.cs new file mode 100644 index 0000000..7b0ecc5 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectSplunkObservabilityQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectSplunkObservabilityQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectSplunkObservabilityQueryDelayGetArgs() + { + } + public static new DirectSplunkObservabilityQueryDelayGetArgs Empty => new DirectSplunkObservabilityQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectSplunkQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectSplunkQueryDelayArgs.cs new file mode 100644 index 0000000..718529e --- /dev/null +++ b/sdk/dotnet/Inputs/DirectSplunkQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectSplunkQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectSplunkQueryDelayArgs() + { + } + public static new DirectSplunkQueryDelayArgs Empty => new DirectSplunkQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectSplunkQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectSplunkQueryDelayGetArgs.cs new file mode 100644 index 0000000..7727127 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectSplunkQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectSplunkQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectSplunkQueryDelayGetArgs() + { + } + public static new DirectSplunkQueryDelayGetArgs Empty => new DirectSplunkQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectSumologicQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectSumologicQueryDelayArgs.cs new file mode 100644 index 0000000..ef8edfb --- /dev/null +++ b/sdk/dotnet/Inputs/DirectSumologicQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectSumologicQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectSumologicQueryDelayArgs() + { + } + public static new DirectSumologicQueryDelayArgs Empty => new DirectSumologicQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectSumologicQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectSumologicQueryDelayGetArgs.cs new file mode 100644 index 0000000..13f883f --- /dev/null +++ b/sdk/dotnet/Inputs/DirectSumologicQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectSumologicQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectSumologicQueryDelayGetArgs() + { + } + public static new DirectSumologicQueryDelayGetArgs Empty => new DirectSumologicQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectThousandeyesQueryDelayArgs.cs b/sdk/dotnet/Inputs/DirectThousandeyesQueryDelayArgs.cs new file mode 100644 index 0000000..c8426a2 --- /dev/null +++ b/sdk/dotnet/Inputs/DirectThousandeyesQueryDelayArgs.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.Nobl9.Inputs +{ + + public sealed class DirectThousandeyesQueryDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectThousandeyesQueryDelayArgs() + { + } + public static new DirectThousandeyesQueryDelayArgs Empty => new DirectThousandeyesQueryDelayArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DirectThousandeyesQueryDelayGetArgs.cs b/sdk/dotnet/Inputs/DirectThousandeyesQueryDelayGetArgs.cs new file mode 100644 index 0000000..9105c8b --- /dev/null +++ b/sdk/dotnet/Inputs/DirectThousandeyesQueryDelayGetArgs.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.Nobl9.Inputs +{ + + public sealed class DirectThousandeyesQueryDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Must be one of Minute or Second. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + /// + /// Must be an integer greater than or equal to 0. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DirectThousandeyesQueryDelayGetArgs() + { + } + public static new DirectThousandeyesQueryDelayGetArgs Empty => new DirectThousandeyesQueryDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ProjectLabelArgs.cs b/sdk/dotnet/Inputs/ProjectLabelArgs.cs new file mode 100644 index 0000000..b47784d --- /dev/null +++ b/sdk/dotnet/Inputs/ProjectLabelArgs.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.Nobl9.Inputs +{ + + public sealed class ProjectLabelArgs : global::Pulumi.ResourceArgs + { + /// + /// A key for the label, unique within the associated resource. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// A list of unique values for a single key. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public ProjectLabelArgs() + { + } + public static new ProjectLabelArgs Empty => new ProjectLabelArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ProjectLabelGetArgs.cs b/sdk/dotnet/Inputs/ProjectLabelGetArgs.cs new file mode 100644 index 0000000..020b657 --- /dev/null +++ b/sdk/dotnet/Inputs/ProjectLabelGetArgs.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.Nobl9.Inputs +{ + + public sealed class ProjectLabelGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A key for the label, unique within the associated resource. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// A list of unique values for a single key. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public ProjectLabelGetArgs() + { + } + public static new ProjectLabelGetArgs Empty => new ProjectLabelGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ServiceLabelArgs.cs b/sdk/dotnet/Inputs/ServiceLabelArgs.cs new file mode 100644 index 0000000..71cff59 --- /dev/null +++ b/sdk/dotnet/Inputs/ServiceLabelArgs.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.Nobl9.Inputs +{ + + public sealed class ServiceLabelArgs : global::Pulumi.ResourceArgs + { + /// + /// A key for the label, unique within the associated resource. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// A list of unique values for a single key. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public ServiceLabelArgs() + { + } + public static new ServiceLabelArgs Empty => new ServiceLabelArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ServiceLabelGetArgs.cs b/sdk/dotnet/Inputs/ServiceLabelGetArgs.cs new file mode 100644 index 0000000..ea41dd2 --- /dev/null +++ b/sdk/dotnet/Inputs/ServiceLabelGetArgs.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.Nobl9.Inputs +{ + + public sealed class ServiceLabelGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A key for the label, unique within the associated resource. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// A list of unique values for a single key. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public ServiceLabelGetArgs() + { + } + public static new ServiceLabelGetArgs Empty => new ServiceLabelGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloAttachmentArgs.cs b/sdk/dotnet/Inputs/SloAttachmentArgs.cs new file mode 100644 index 0000000..4e46d47 --- /dev/null +++ b/sdk/dotnet/Inputs/SloAttachmentArgs.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.Nobl9.Inputs +{ + + public sealed class SloAttachmentArgs : global::Pulumi.ResourceArgs + { + /// + /// Name displayed for the attachment. Max. length: 63 characters. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// URL to the attachment + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public SloAttachmentArgs() + { + } + public static new SloAttachmentArgs Empty => new SloAttachmentArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloAttachmentGetArgs.cs b/sdk/dotnet/Inputs/SloAttachmentGetArgs.cs new file mode 100644 index 0000000..30f7b66 --- /dev/null +++ b/sdk/dotnet/Inputs/SloAttachmentGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloAttachmentGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Name displayed for the attachment. Max. length: 63 characters. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// URL to the attachment + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public SloAttachmentGetArgs() + { + } + public static new SloAttachmentGetArgs Empty => new SloAttachmentGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloCompositeArgs.cs b/sdk/dotnet/Inputs/SloCompositeArgs.cs new file mode 100644 index 0000000..4ac21f0 --- /dev/null +++ b/sdk/dotnet/Inputs/SloCompositeArgs.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.Nobl9.Inputs +{ + + public sealed class SloCompositeArgs : global::Pulumi.ResourceArgs + { + [Input("burnRateConditions")] + private InputList? _burnRateConditions; + + /// + /// Condition when the Composite SLO’s error budget is burning. + /// + public InputList BurnRateConditions + { + get => _burnRateConditions ?? (_burnRateConditions = new InputList()); + set => _burnRateConditions = value; + } + + /// + /// Designated value + /// + [Input("target", required: true)] + public Input Target { get; set; } = null!; + + public SloCompositeArgs() + { + } + public static new SloCompositeArgs Empty => new SloCompositeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloCompositeBurnRateConditionArgs.cs b/sdk/dotnet/Inputs/SloCompositeBurnRateConditionArgs.cs new file mode 100644 index 0000000..95676d6 --- /dev/null +++ b/sdk/dotnet/Inputs/SloCompositeBurnRateConditionArgs.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.Nobl9.Inputs +{ + + public sealed class SloCompositeBurnRateConditionArgs : global::Pulumi.ResourceArgs + { + [Input("op", required: true)] + public Input Op { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public SloCompositeBurnRateConditionArgs() + { + } + public static new SloCompositeBurnRateConditionArgs Empty => new SloCompositeBurnRateConditionArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloCompositeBurnRateConditionGetArgs.cs b/sdk/dotnet/Inputs/SloCompositeBurnRateConditionGetArgs.cs new file mode 100644 index 0000000..f92d1dc --- /dev/null +++ b/sdk/dotnet/Inputs/SloCompositeBurnRateConditionGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloCompositeBurnRateConditionGetArgs : global::Pulumi.ResourceArgs + { + [Input("op", required: true)] + public Input Op { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public SloCompositeBurnRateConditionGetArgs() + { + } + public static new SloCompositeBurnRateConditionGetArgs Empty => new SloCompositeBurnRateConditionGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloCompositeGetArgs.cs b/sdk/dotnet/Inputs/SloCompositeGetArgs.cs new file mode 100644 index 0000000..8efd985 --- /dev/null +++ b/sdk/dotnet/Inputs/SloCompositeGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloCompositeGetArgs : global::Pulumi.ResourceArgs + { + [Input("burnRateConditions")] + private InputList? _burnRateConditions; + + /// + /// Condition when the Composite SLO’s error budget is burning. + /// + public InputList BurnRateConditions + { + get => _burnRateConditions ?? (_burnRateConditions = new InputList()); + set => _burnRateConditions = value; + } + + /// + /// Designated value + /// + [Input("target", required: true)] + public Input Target { get; set; } = null!; + + public SloCompositeGetArgs() + { + } + public static new SloCompositeGetArgs Empty => new SloCompositeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloIndicatorArgs.cs b/sdk/dotnet/Inputs/SloIndicatorArgs.cs new file mode 100644 index 0000000..ec42e70 --- /dev/null +++ b/sdk/dotnet/Inputs/SloIndicatorArgs.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.Nobl9.Inputs +{ + + public sealed class SloIndicatorArgs : global::Pulumi.ResourceArgs + { + /// + /// Kind of the metric source. One of {Agent, Direct}. + /// + [Input("kind")] + public Input? Kind { get; set; } + + /// + /// Name of the metric source (agent). + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Name of the metric source project. + /// + [Input("project")] + public Input? Project { get; set; } + + public SloIndicatorArgs() + { + } + public static new SloIndicatorArgs Empty => new SloIndicatorArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloIndicatorGetArgs.cs b/sdk/dotnet/Inputs/SloIndicatorGetArgs.cs new file mode 100644 index 0000000..64c18fa --- /dev/null +++ b/sdk/dotnet/Inputs/SloIndicatorGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloIndicatorGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Kind of the metric source. One of {Agent, Direct}. + /// + [Input("kind")] + public Input? Kind { get; set; } + + /// + /// Name of the metric source (agent). + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Name of the metric source project. + /// + [Input("project")] + public Input? Project { get; set; } + + public SloIndicatorGetArgs() + { + } + public static new SloIndicatorGetArgs Empty => new SloIndicatorGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloLabelArgs.cs b/sdk/dotnet/Inputs/SloLabelArgs.cs new file mode 100644 index 0000000..eadf1af --- /dev/null +++ b/sdk/dotnet/Inputs/SloLabelArgs.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.Nobl9.Inputs +{ + + public sealed class SloLabelArgs : global::Pulumi.ResourceArgs + { + /// + /// A key for the label, unique within the associated resource. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// A list of unique values for a single key. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public SloLabelArgs() + { + } + public static new SloLabelArgs Empty => new SloLabelArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloLabelGetArgs.cs b/sdk/dotnet/Inputs/SloLabelGetArgs.cs new file mode 100644 index 0000000..3027703 --- /dev/null +++ b/sdk/dotnet/Inputs/SloLabelGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloLabelGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A key for the label, unique within the associated resource. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// A list of unique values for a single key. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public SloLabelGetArgs() + { + } + public static new SloLabelGetArgs Empty => new SloLabelGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveArgs.cs b/sdk/dotnet/Inputs/SloObjectiveArgs.cs new file mode 100644 index 0000000..f10504b --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveArgs.cs @@ -0,0 +1,80 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveArgs : global::Pulumi.ResourceArgs + { + [Input("countMetrics")] + private InputList? _countMetrics; + + /// + /// Compares two time series, indicating the ratio of the count of good values to total values. + /// + public InputList CountMetrics + { + get => _countMetrics ?? (_countMetrics = new InputList()); + set => _countMetrics = value; + } + + /// + /// Name to be displayed + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + /// + /// Objective's name. This field is computed if not provided. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Type of logical operation + /// + [Input("op")] + public Input? Op { get; set; } + + [Input("rawMetrics")] + private InputList? _rawMetrics; + + /// + /// Raw data is used to compare objective values. + /// + public InputList RawMetrics + { + get => _rawMetrics ?? (_rawMetrics = new InputList()); + set => _rawMetrics = value; + } + + /// + /// Designated value + /// + [Input("target", required: true)] + public Input Target { get; set; } = null!; + + /// + /// Designated value for slice + /// + [Input("timeSliceTarget")] + public Input? TimeSliceTarget { get; set; } + + /// + /// Value + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public SloObjectiveArgs() + { + } + public static new SloObjectiveArgs Empty => new SloObjectiveArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricArgs.cs new file mode 100644 index 0000000..8a964d0 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricArgs : global::Pulumi.ResourceArgs + { + [Input("goods")] + private InputList? _goods; + public InputList Goods + { + get => _goods ?? (_goods = new InputList()); + set => _goods = value; + } + + [Input("incremental", required: true)] + public Input Incremental { get; set; } = null!; + + [Input("totals")] + private InputList? _totals; + public InputList Totals + { + get => _totals ?? (_totals = new InputList()); + set => _totals = value; + } + + public SloObjectiveCountMetricArgs() + { + } + public static new SloObjectiveCountMetricArgs Empty => new SloObjectiveCountMetricArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGetArgs.cs new file mode 100644 index 0000000..2745897 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGetArgs : global::Pulumi.ResourceArgs + { + [Input("goods")] + private InputList? _goods; + public InputList Goods + { + get => _goods ?? (_goods = new InputList()); + set => _goods = value; + } + + [Input("incremental", required: true)] + public Input Incremental { get; set; } = null!; + + [Input("totals")] + private InputList? _totals; + public InputList Totals + { + get => _totals ?? (_totals = new InputList()); + set => _totals = value; + } + + public SloObjectiveCountMetricGetArgs() + { + } + public static new SloObjectiveCountMetricGetArgs Empty => new SloObjectiveCountMetricGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodAmazonPrometheusArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodAmazonPrometheusArgs.cs new file mode 100644 index 0000000..d5fc0db --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodAmazonPrometheusArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodAmazonPrometheusArgs : global::Pulumi.ResourceArgs + { + [Input("promql", required: true)] + public Input Promql { get; set; } = null!; + + public SloObjectiveCountMetricGoodAmazonPrometheusArgs() + { + } + public static new SloObjectiveCountMetricGoodAmazonPrometheusArgs Empty => new SloObjectiveCountMetricGoodAmazonPrometheusArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodAmazonPrometheusGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodAmazonPrometheusGetArgs.cs new file mode 100644 index 0000000..d92c071 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodAmazonPrometheusGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodAmazonPrometheusGetArgs : global::Pulumi.ResourceArgs + { + [Input("promql", required: true)] + public Input Promql { get; set; } = null!; + + public SloObjectiveCountMetricGoodAmazonPrometheusGetArgs() + { + } + public static new SloObjectiveCountMetricGoodAmazonPrometheusGetArgs Empty => new SloObjectiveCountMetricGoodAmazonPrometheusGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodAppdynamicArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodAppdynamicArgs.cs new file mode 100644 index 0000000..fc9b1b6 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodAppdynamicArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodAppdynamicArgs : global::Pulumi.ResourceArgs + { + [Input("applicationName", required: true)] + public Input ApplicationName { get; set; } = null!; + + [Input("metricPath", required: true)] + public Input MetricPath { get; set; } = null!; + + public SloObjectiveCountMetricGoodAppdynamicArgs() + { + } + public static new SloObjectiveCountMetricGoodAppdynamicArgs Empty => new SloObjectiveCountMetricGoodAppdynamicArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodAppdynamicGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodAppdynamicGetArgs.cs new file mode 100644 index 0000000..8f9758b --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodAppdynamicGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodAppdynamicGetArgs : global::Pulumi.ResourceArgs + { + [Input("applicationName", required: true)] + public Input ApplicationName { get; set; } = null!; + + [Input("metricPath", required: true)] + public Input MetricPath { get; set; } = null!; + + public SloObjectiveCountMetricGoodAppdynamicGetArgs() + { + } + public static new SloObjectiveCountMetricGoodAppdynamicGetArgs Empty => new SloObjectiveCountMetricGoodAppdynamicGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodArgs.cs new file mode 100644 index 0000000..b5250d2 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodArgs.cs @@ -0,0 +1,196 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodArgs : global::Pulumi.ResourceArgs + { + [Input("amazonPrometheuses")] + private InputList? _amazonPrometheuses; + public InputList AmazonPrometheuses + { + get => _amazonPrometheuses ?? (_amazonPrometheuses = new InputList()); + set => _amazonPrometheuses = value; + } + + [Input("appdynamics")] + private InputList? _appdynamics; + public InputList Appdynamics + { + get => _appdynamics ?? (_appdynamics = new InputList()); + set => _appdynamics = value; + } + + [Input("bigqueries")] + private InputList? _bigqueries; + public InputList Bigqueries + { + get => _bigqueries ?? (_bigqueries = new InputList()); + set => _bigqueries = value; + } + + [Input("cloudwatches")] + private InputList? _cloudwatches; + public InputList Cloudwatches + { + get => _cloudwatches ?? (_cloudwatches = new InputList()); + set => _cloudwatches = value; + } + + [Input("datadogs")] + private InputList? _datadogs; + public InputList Datadogs + { + get => _datadogs ?? (_datadogs = new InputList()); + set => _datadogs = value; + } + + [Input("dynatraces")] + private InputList? _dynatraces; + public InputList Dynatraces + { + get => _dynatraces ?? (_dynatraces = new InputList()); + set => _dynatraces = value; + } + + [Input("elasticsearches")] + private InputList? _elasticsearches; + public InputList Elasticsearches + { + get => _elasticsearches ?? (_elasticsearches = new InputList()); + set => _elasticsearches = value; + } + + [Input("gcms")] + private InputList? _gcms; + public InputList Gcms + { + get => _gcms ?? (_gcms = new InputList()); + set => _gcms = value; + } + + [Input("grafanaLokis")] + private InputList? _grafanaLokis; + public InputList GrafanaLokis + { + get => _grafanaLokis ?? (_grafanaLokis = new InputList()); + set => _grafanaLokis = value; + } + + [Input("graphites")] + private InputList? _graphites; + public InputList Graphites + { + get => _graphites ?? (_graphites = new InputList()); + set => _graphites = value; + } + + [Input("influxdbs")] + private InputList? _influxdbs; + public InputList Influxdbs + { + get => _influxdbs ?? (_influxdbs = new InputList()); + set => _influxdbs = value; + } + + [Input("instanas")] + private InputList? _instanas; + public InputList Instanas + { + get => _instanas ?? (_instanas = new InputList()); + set => _instanas = value; + } + + [Input("lightsteps")] + private InputList? _lightsteps; + public InputList Lightsteps + { + get => _lightsteps ?? (_lightsteps = new InputList()); + set => _lightsteps = value; + } + + [Input("newrelics")] + private InputList? _newrelics; + public InputList Newrelics + { + get => _newrelics ?? (_newrelics = new InputList()); + set => _newrelics = value; + } + + [Input("opentsdbs")] + private InputList? _opentsdbs; + public InputList Opentsdbs + { + get => _opentsdbs ?? (_opentsdbs = new InputList()); + set => _opentsdbs = value; + } + + [Input("pingdoms")] + private InputList? _pingdoms; + public InputList Pingdoms + { + get => _pingdoms ?? (_pingdoms = new InputList()); + set => _pingdoms = value; + } + + [Input("prometheuses")] + private InputList? _prometheuses; + public InputList Prometheuses + { + get => _prometheuses ?? (_prometheuses = new InputList()); + set => _prometheuses = value; + } + + [Input("redshifts")] + private InputList? _redshifts; + public InputList Redshifts + { + get => _redshifts ?? (_redshifts = new InputList()); + set => _redshifts = value; + } + + [Input("splunkObservabilities")] + private InputList? _splunkObservabilities; + public InputList SplunkObservabilities + { + get => _splunkObservabilities ?? (_splunkObservabilities = new InputList()); + set => _splunkObservabilities = value; + } + + [Input("splunks")] + private InputList? _splunks; + public InputList Splunks + { + get => _splunks ?? (_splunks = new InputList()); + set => _splunks = value; + } + + [Input("sumologics")] + private InputList? _sumologics; + public InputList Sumologics + { + get => _sumologics ?? (_sumologics = new InputList()); + set => _sumologics = value; + } + + [Input("thousandeyes")] + private InputList? _thousandeyes; + public InputList Thousandeyes + { + get => _thousandeyes ?? (_thousandeyes = new InputList()); + set => _thousandeyes = value; + } + + public SloObjectiveCountMetricGoodArgs() + { + } + public static new SloObjectiveCountMetricGoodArgs Empty => new SloObjectiveCountMetricGoodArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodBigqueryArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodBigqueryArgs.cs new file mode 100644 index 0000000..56e60b4 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodBigqueryArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodBigqueryArgs : global::Pulumi.ResourceArgs + { + [Input("location", required: true)] + public Input Location { get; set; } = null!; + + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricGoodBigqueryArgs() + { + } + public static new SloObjectiveCountMetricGoodBigqueryArgs Empty => new SloObjectiveCountMetricGoodBigqueryArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodBigqueryGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodBigqueryGetArgs.cs new file mode 100644 index 0000000..4568714 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodBigqueryGetArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodBigqueryGetArgs : global::Pulumi.ResourceArgs + { + [Input("location", required: true)] + public Input Location { get; set; } = null!; + + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricGoodBigqueryGetArgs() + { + } + public static new SloObjectiveCountMetricGoodBigqueryGetArgs Empty => new SloObjectiveCountMetricGoodBigqueryGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodCloudwatchArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodCloudwatchArgs.cs new file mode 100644 index 0000000..ad52887 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodCloudwatchArgs.cs @@ -0,0 +1,46 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodCloudwatchArgs : global::Pulumi.ResourceArgs + { + [Input("dimensions")] + private InputList? _dimensions; + public InputList Dimensions + { + get => _dimensions ?? (_dimensions = new InputList()); + set => _dimensions = value; + } + + [Input("json")] + public Input? Json { get; set; } + + [Input("metricName")] + public Input? MetricName { get; set; } + + [Input("namespace")] + public Input? Namespace { get; set; } + + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + [Input("sql")] + public Input? Sql { get; set; } + + [Input("stat")] + public Input? Stat { get; set; } + + public SloObjectiveCountMetricGoodCloudwatchArgs() + { + } + public static new SloObjectiveCountMetricGoodCloudwatchArgs Empty => new SloObjectiveCountMetricGoodCloudwatchArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodCloudwatchDimensionArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodCloudwatchDimensionArgs.cs new file mode 100644 index 0000000..93cddbd --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodCloudwatchDimensionArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodCloudwatchDimensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public SloObjectiveCountMetricGoodCloudwatchDimensionArgs() + { + } + public static new SloObjectiveCountMetricGoodCloudwatchDimensionArgs Empty => new SloObjectiveCountMetricGoodCloudwatchDimensionArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodCloudwatchDimensionGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodCloudwatchDimensionGetArgs.cs new file mode 100644 index 0000000..18e7077 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodCloudwatchDimensionGetArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodCloudwatchDimensionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public SloObjectiveCountMetricGoodCloudwatchDimensionGetArgs() + { + } + public static new SloObjectiveCountMetricGoodCloudwatchDimensionGetArgs Empty => new SloObjectiveCountMetricGoodCloudwatchDimensionGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodCloudwatchGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodCloudwatchGetArgs.cs new file mode 100644 index 0000000..27c30fe --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodCloudwatchGetArgs.cs @@ -0,0 +1,46 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodCloudwatchGetArgs : global::Pulumi.ResourceArgs + { + [Input("dimensions")] + private InputList? _dimensions; + public InputList Dimensions + { + get => _dimensions ?? (_dimensions = new InputList()); + set => _dimensions = value; + } + + [Input("json")] + public Input? Json { get; set; } + + [Input("metricName")] + public Input? MetricName { get; set; } + + [Input("namespace")] + public Input? Namespace { get; set; } + + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + [Input("sql")] + public Input? Sql { get; set; } + + [Input("stat")] + public Input? Stat { get; set; } + + public SloObjectiveCountMetricGoodCloudwatchGetArgs() + { + } + public static new SloObjectiveCountMetricGoodCloudwatchGetArgs Empty => new SloObjectiveCountMetricGoodCloudwatchGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodDatadogArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodDatadogArgs.cs new file mode 100644 index 0000000..f8c9bca --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodDatadogArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodDatadogArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricGoodDatadogArgs() + { + } + public static new SloObjectiveCountMetricGoodDatadogArgs Empty => new SloObjectiveCountMetricGoodDatadogArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodDatadogGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodDatadogGetArgs.cs new file mode 100644 index 0000000..c5f88ba --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodDatadogGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodDatadogGetArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricGoodDatadogGetArgs() + { + } + public static new SloObjectiveCountMetricGoodDatadogGetArgs Empty => new SloObjectiveCountMetricGoodDatadogGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodDynatraceArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodDynatraceArgs.cs new file mode 100644 index 0000000..56e51d3 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodDynatraceArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodDynatraceArgs : global::Pulumi.ResourceArgs + { + [Input("metricSelector", required: true)] + public Input MetricSelector { get; set; } = null!; + + public SloObjectiveCountMetricGoodDynatraceArgs() + { + } + public static new SloObjectiveCountMetricGoodDynatraceArgs Empty => new SloObjectiveCountMetricGoodDynatraceArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodDynatraceGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodDynatraceGetArgs.cs new file mode 100644 index 0000000..d9c58f5 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodDynatraceGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodDynatraceGetArgs : global::Pulumi.ResourceArgs + { + [Input("metricSelector", required: true)] + public Input MetricSelector { get; set; } = null!; + + public SloObjectiveCountMetricGoodDynatraceGetArgs() + { + } + public static new SloObjectiveCountMetricGoodDynatraceGetArgs Empty => new SloObjectiveCountMetricGoodDynatraceGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodElasticsearchArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodElasticsearchArgs.cs new file mode 100644 index 0000000..8e0f7ee --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodElasticsearchArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodElasticsearchArgs : global::Pulumi.ResourceArgs + { + [Input("index", required: true)] + public Input Index { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricGoodElasticsearchArgs() + { + } + public static new SloObjectiveCountMetricGoodElasticsearchArgs Empty => new SloObjectiveCountMetricGoodElasticsearchArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodElasticsearchGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodElasticsearchGetArgs.cs new file mode 100644 index 0000000..055287a --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodElasticsearchGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodElasticsearchGetArgs : global::Pulumi.ResourceArgs + { + [Input("index", required: true)] + public Input Index { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricGoodElasticsearchGetArgs() + { + } + public static new SloObjectiveCountMetricGoodElasticsearchGetArgs Empty => new SloObjectiveCountMetricGoodElasticsearchGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGcmArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGcmArgs.cs new file mode 100644 index 0000000..da41e0a --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGcmArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodGcmArgs : global::Pulumi.ResourceArgs + { + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricGoodGcmArgs() + { + } + public static new SloObjectiveCountMetricGoodGcmArgs Empty => new SloObjectiveCountMetricGoodGcmArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGcmGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGcmGetArgs.cs new file mode 100644 index 0000000..afebce0 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGcmGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodGcmGetArgs : global::Pulumi.ResourceArgs + { + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricGoodGcmGetArgs() + { + } + public static new SloObjectiveCountMetricGoodGcmGetArgs Empty => new SloObjectiveCountMetricGoodGcmGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGetArgs.cs new file mode 100644 index 0000000..ce340ca --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGetArgs.cs @@ -0,0 +1,196 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodGetArgs : global::Pulumi.ResourceArgs + { + [Input("amazonPrometheuses")] + private InputList? _amazonPrometheuses; + public InputList AmazonPrometheuses + { + get => _amazonPrometheuses ?? (_amazonPrometheuses = new InputList()); + set => _amazonPrometheuses = value; + } + + [Input("appdynamics")] + private InputList? _appdynamics; + public InputList Appdynamics + { + get => _appdynamics ?? (_appdynamics = new InputList()); + set => _appdynamics = value; + } + + [Input("bigqueries")] + private InputList? _bigqueries; + public InputList Bigqueries + { + get => _bigqueries ?? (_bigqueries = new InputList()); + set => _bigqueries = value; + } + + [Input("cloudwatches")] + private InputList? _cloudwatches; + public InputList Cloudwatches + { + get => _cloudwatches ?? (_cloudwatches = new InputList()); + set => _cloudwatches = value; + } + + [Input("datadogs")] + private InputList? _datadogs; + public InputList Datadogs + { + get => _datadogs ?? (_datadogs = new InputList()); + set => _datadogs = value; + } + + [Input("dynatraces")] + private InputList? _dynatraces; + public InputList Dynatraces + { + get => _dynatraces ?? (_dynatraces = new InputList()); + set => _dynatraces = value; + } + + [Input("elasticsearches")] + private InputList? _elasticsearches; + public InputList Elasticsearches + { + get => _elasticsearches ?? (_elasticsearches = new InputList()); + set => _elasticsearches = value; + } + + [Input("gcms")] + private InputList? _gcms; + public InputList Gcms + { + get => _gcms ?? (_gcms = new InputList()); + set => _gcms = value; + } + + [Input("grafanaLokis")] + private InputList? _grafanaLokis; + public InputList GrafanaLokis + { + get => _grafanaLokis ?? (_grafanaLokis = new InputList()); + set => _grafanaLokis = value; + } + + [Input("graphites")] + private InputList? _graphites; + public InputList Graphites + { + get => _graphites ?? (_graphites = new InputList()); + set => _graphites = value; + } + + [Input("influxdbs")] + private InputList? _influxdbs; + public InputList Influxdbs + { + get => _influxdbs ?? (_influxdbs = new InputList()); + set => _influxdbs = value; + } + + [Input("instanas")] + private InputList? _instanas; + public InputList Instanas + { + get => _instanas ?? (_instanas = new InputList()); + set => _instanas = value; + } + + [Input("lightsteps")] + private InputList? _lightsteps; + public InputList Lightsteps + { + get => _lightsteps ?? (_lightsteps = new InputList()); + set => _lightsteps = value; + } + + [Input("newrelics")] + private InputList? _newrelics; + public InputList Newrelics + { + get => _newrelics ?? (_newrelics = new InputList()); + set => _newrelics = value; + } + + [Input("opentsdbs")] + private InputList? _opentsdbs; + public InputList Opentsdbs + { + get => _opentsdbs ?? (_opentsdbs = new InputList()); + set => _opentsdbs = value; + } + + [Input("pingdoms")] + private InputList? _pingdoms; + public InputList Pingdoms + { + get => _pingdoms ?? (_pingdoms = new InputList()); + set => _pingdoms = value; + } + + [Input("prometheuses")] + private InputList? _prometheuses; + public InputList Prometheuses + { + get => _prometheuses ?? (_prometheuses = new InputList()); + set => _prometheuses = value; + } + + [Input("redshifts")] + private InputList? _redshifts; + public InputList Redshifts + { + get => _redshifts ?? (_redshifts = new InputList()); + set => _redshifts = value; + } + + [Input("splunkObservabilities")] + private InputList? _splunkObservabilities; + public InputList SplunkObservabilities + { + get => _splunkObservabilities ?? (_splunkObservabilities = new InputList()); + set => _splunkObservabilities = value; + } + + [Input("splunks")] + private InputList? _splunks; + public InputList Splunks + { + get => _splunks ?? (_splunks = new InputList()); + set => _splunks = value; + } + + [Input("sumologics")] + private InputList? _sumologics; + public InputList Sumologics + { + get => _sumologics ?? (_sumologics = new InputList()); + set => _sumologics = value; + } + + [Input("thousandeyes")] + private InputList? _thousandeyes; + public InputList Thousandeyes + { + get => _thousandeyes ?? (_thousandeyes = new InputList()); + set => _thousandeyes = value; + } + + public SloObjectiveCountMetricGoodGetArgs() + { + } + public static new SloObjectiveCountMetricGoodGetArgs Empty => new SloObjectiveCountMetricGoodGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGrafanaLokiArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGrafanaLokiArgs.cs new file mode 100644 index 0000000..4f602a2 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGrafanaLokiArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodGrafanaLokiArgs : global::Pulumi.ResourceArgs + { + [Input("logql", required: true)] + public Input Logql { get; set; } = null!; + + public SloObjectiveCountMetricGoodGrafanaLokiArgs() + { + } + public static new SloObjectiveCountMetricGoodGrafanaLokiArgs Empty => new SloObjectiveCountMetricGoodGrafanaLokiArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGrafanaLokiGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGrafanaLokiGetArgs.cs new file mode 100644 index 0000000..8d6114b --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGrafanaLokiGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodGrafanaLokiGetArgs : global::Pulumi.ResourceArgs + { + [Input("logql", required: true)] + public Input Logql { get; set; } = null!; + + public SloObjectiveCountMetricGoodGrafanaLokiGetArgs() + { + } + public static new SloObjectiveCountMetricGoodGrafanaLokiGetArgs Empty => new SloObjectiveCountMetricGoodGrafanaLokiGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGraphiteArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGraphiteArgs.cs new file mode 100644 index 0000000..97d3226 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGraphiteArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodGraphiteArgs : global::Pulumi.ResourceArgs + { + [Input("metricPath", required: true)] + public Input MetricPath { get; set; } = null!; + + public SloObjectiveCountMetricGoodGraphiteArgs() + { + } + public static new SloObjectiveCountMetricGoodGraphiteArgs Empty => new SloObjectiveCountMetricGoodGraphiteArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGraphiteGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGraphiteGetArgs.cs new file mode 100644 index 0000000..bd86448 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodGraphiteGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodGraphiteGetArgs : global::Pulumi.ResourceArgs + { + [Input("metricPath", required: true)] + public Input MetricPath { get; set; } = null!; + + public SloObjectiveCountMetricGoodGraphiteGetArgs() + { + } + public static new SloObjectiveCountMetricGoodGraphiteGetArgs Empty => new SloObjectiveCountMetricGoodGraphiteGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInfluxdbArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInfluxdbArgs.cs new file mode 100644 index 0000000..f4d1349 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInfluxdbArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodInfluxdbArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricGoodInfluxdbArgs() + { + } + public static new SloObjectiveCountMetricGoodInfluxdbArgs Empty => new SloObjectiveCountMetricGoodInfluxdbArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInfluxdbGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInfluxdbGetArgs.cs new file mode 100644 index 0000000..f6b917a --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInfluxdbGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodInfluxdbGetArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricGoodInfluxdbGetArgs() + { + } + public static new SloObjectiveCountMetricGoodInfluxdbGetArgs Empty => new SloObjectiveCountMetricGoodInfluxdbGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaApplicationArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaApplicationArgs.cs new file mode 100644 index 0000000..5611902 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaApplicationArgs.cs @@ -0,0 +1,43 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodInstanaApplicationArgs : global::Pulumi.ResourceArgs + { + [Input("aggregation", required: true)] + public Input Aggregation { get; set; } = null!; + + [Input("apiQuery", required: true)] + public Input ApiQuery { get; set; } = null!; + + [Input("groupBies", required: true)] + private InputList? _groupBies; + public InputList GroupBies + { + get => _groupBies ?? (_groupBies = new InputList()); + set => _groupBies = value; + } + + [Input("includeInternal")] + public Input? IncludeInternal { get; set; } + + [Input("includeSynthetic")] + public Input? IncludeSynthetic { get; set; } + + [Input("metricId", required: true)] + public Input MetricId { get; set; } = null!; + + public SloObjectiveCountMetricGoodInstanaApplicationArgs() + { + } + public static new SloObjectiveCountMetricGoodInstanaApplicationArgs Empty => new SloObjectiveCountMetricGoodInstanaApplicationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaApplicationGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaApplicationGetArgs.cs new file mode 100644 index 0000000..4c2d2be --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaApplicationGetArgs.cs @@ -0,0 +1,43 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodInstanaApplicationGetArgs : global::Pulumi.ResourceArgs + { + [Input("aggregation", required: true)] + public Input Aggregation { get; set; } = null!; + + [Input("apiQuery", required: true)] + public Input ApiQuery { get; set; } = null!; + + [Input("groupBies", required: true)] + private InputList? _groupBies; + public InputList GroupBies + { + get => _groupBies ?? (_groupBies = new InputList()); + set => _groupBies = value; + } + + [Input("includeInternal")] + public Input? IncludeInternal { get; set; } + + [Input("includeSynthetic")] + public Input? IncludeSynthetic { get; set; } + + [Input("metricId", required: true)] + public Input MetricId { get; set; } = null!; + + public SloObjectiveCountMetricGoodInstanaApplicationGetArgs() + { + } + public static new SloObjectiveCountMetricGoodInstanaApplicationGetArgs Empty => new SloObjectiveCountMetricGoodInstanaApplicationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs.cs new file mode 100644 index 0000000..5e94a7f --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs : global::Pulumi.ResourceArgs + { + [Input("tag", required: true)] + public Input Tag { get; set; } = null!; + + [Input("tagEntity", required: true)] + public Input TagEntity { get; set; } = null!; + + [Input("tagSecondLevelKey")] + public Input? TagSecondLevelKey { get; set; } + + public SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs() + { + } + public static new SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs Empty => new SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaApplicationGroupByGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaApplicationGroupByGetArgs.cs new file mode 100644 index 0000000..6e2550d --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaApplicationGroupByGetArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodInstanaApplicationGroupByGetArgs : global::Pulumi.ResourceArgs + { + [Input("tag", required: true)] + public Input Tag { get; set; } = null!; + + [Input("tagEntity", required: true)] + public Input TagEntity { get; set; } = null!; + + [Input("tagSecondLevelKey")] + public Input? TagSecondLevelKey { get; set; } + + public SloObjectiveCountMetricGoodInstanaApplicationGroupByGetArgs() + { + } + public static new SloObjectiveCountMetricGoodInstanaApplicationGroupByGetArgs Empty => new SloObjectiveCountMetricGoodInstanaApplicationGroupByGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaArgs.cs new file mode 100644 index 0000000..84a8778 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodInstanaArgs : global::Pulumi.ResourceArgs + { + [Input("applications")] + private InputList? _applications; + public InputList Applications + { + get => _applications ?? (_applications = new InputList()); + set => _applications = value; + } + + [Input("infrastructures")] + private InputList? _infrastructures; + public InputList Infrastructures + { + get => _infrastructures ?? (_infrastructures = new InputList()); + set => _infrastructures = value; + } + + [Input("metricType", required: true)] + public Input MetricType { get; set; } = null!; + + public SloObjectiveCountMetricGoodInstanaArgs() + { + } + public static new SloObjectiveCountMetricGoodInstanaArgs Empty => new SloObjectiveCountMetricGoodInstanaArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaGetArgs.cs new file mode 100644 index 0000000..5c38d4b --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodInstanaGetArgs : global::Pulumi.ResourceArgs + { + [Input("applications")] + private InputList? _applications; + public InputList Applications + { + get => _applications ?? (_applications = new InputList()); + set => _applications = value; + } + + [Input("infrastructures")] + private InputList? _infrastructures; + public InputList Infrastructures + { + get => _infrastructures ?? (_infrastructures = new InputList()); + set => _infrastructures = value; + } + + [Input("metricType", required: true)] + public Input MetricType { get; set; } = null!; + + public SloObjectiveCountMetricGoodInstanaGetArgs() + { + } + public static new SloObjectiveCountMetricGoodInstanaGetArgs Empty => new SloObjectiveCountMetricGoodInstanaGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaInfrastructureArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaInfrastructureArgs.cs new file mode 100644 index 0000000..18edaf3 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaInfrastructureArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodInstanaInfrastructureArgs : global::Pulumi.ResourceArgs + { + [Input("metricId", required: true)] + public Input MetricId { get; set; } = null!; + + [Input("metricRetrievalMethod", required: true)] + public Input MetricRetrievalMethod { get; set; } = null!; + + [Input("pluginId", required: true)] + public Input PluginId { get; set; } = null!; + + [Input("query")] + public Input? Query { get; set; } + + [Input("snapshotId")] + public Input? SnapshotId { get; set; } + + public SloObjectiveCountMetricGoodInstanaInfrastructureArgs() + { + } + public static new SloObjectiveCountMetricGoodInstanaInfrastructureArgs Empty => new SloObjectiveCountMetricGoodInstanaInfrastructureArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaInfrastructureGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaInfrastructureGetArgs.cs new file mode 100644 index 0000000..3a59006 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodInstanaInfrastructureGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodInstanaInfrastructureGetArgs : global::Pulumi.ResourceArgs + { + [Input("metricId", required: true)] + public Input MetricId { get; set; } = null!; + + [Input("metricRetrievalMethod", required: true)] + public Input MetricRetrievalMethod { get; set; } = null!; + + [Input("pluginId", required: true)] + public Input PluginId { get; set; } = null!; + + [Input("query")] + public Input? Query { get; set; } + + [Input("snapshotId")] + public Input? SnapshotId { get; set; } + + public SloObjectiveCountMetricGoodInstanaInfrastructureGetArgs() + { + } + public static new SloObjectiveCountMetricGoodInstanaInfrastructureGetArgs Empty => new SloObjectiveCountMetricGoodInstanaInfrastructureGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodLightstepArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodLightstepArgs.cs new file mode 100644 index 0000000..c2686b2 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodLightstepArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodLightstepArgs : global::Pulumi.ResourceArgs + { + [Input("percentile")] + public Input? Percentile { get; set; } + + [Input("streamId")] + public Input? StreamId { get; set; } + + [Input("typeOfData", required: true)] + public Input TypeOfData { get; set; } = null!; + + [Input("uql")] + public Input? Uql { get; set; } + + public SloObjectiveCountMetricGoodLightstepArgs() + { + } + public static new SloObjectiveCountMetricGoodLightstepArgs Empty => new SloObjectiveCountMetricGoodLightstepArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodLightstepGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodLightstepGetArgs.cs new file mode 100644 index 0000000..cfb2b78 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodLightstepGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodLightstepGetArgs : global::Pulumi.ResourceArgs + { + [Input("percentile")] + public Input? Percentile { get; set; } + + [Input("streamId")] + public Input? StreamId { get; set; } + + [Input("typeOfData", required: true)] + public Input TypeOfData { get; set; } = null!; + + [Input("uql")] + public Input? Uql { get; set; } + + public SloObjectiveCountMetricGoodLightstepGetArgs() + { + } + public static new SloObjectiveCountMetricGoodLightstepGetArgs Empty => new SloObjectiveCountMetricGoodLightstepGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodNewrelicArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodNewrelicArgs.cs new file mode 100644 index 0000000..6716ca4 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodNewrelicArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodNewrelicArgs : global::Pulumi.ResourceArgs + { + [Input("nrql", required: true)] + public Input Nrql { get; set; } = null!; + + public SloObjectiveCountMetricGoodNewrelicArgs() + { + } + public static new SloObjectiveCountMetricGoodNewrelicArgs Empty => new SloObjectiveCountMetricGoodNewrelicArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodNewrelicGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodNewrelicGetArgs.cs new file mode 100644 index 0000000..8b3a030 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodNewrelicGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodNewrelicGetArgs : global::Pulumi.ResourceArgs + { + [Input("nrql", required: true)] + public Input Nrql { get; set; } = null!; + + public SloObjectiveCountMetricGoodNewrelicGetArgs() + { + } + public static new SloObjectiveCountMetricGoodNewrelicGetArgs Empty => new SloObjectiveCountMetricGoodNewrelicGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodOpentsdbArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodOpentsdbArgs.cs new file mode 100644 index 0000000..1fc7570 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodOpentsdbArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodOpentsdbArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricGoodOpentsdbArgs() + { + } + public static new SloObjectiveCountMetricGoodOpentsdbArgs Empty => new SloObjectiveCountMetricGoodOpentsdbArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodOpentsdbGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodOpentsdbGetArgs.cs new file mode 100644 index 0000000..158ce02 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodOpentsdbGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodOpentsdbGetArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricGoodOpentsdbGetArgs() + { + } + public static new SloObjectiveCountMetricGoodOpentsdbGetArgs Empty => new SloObjectiveCountMetricGoodOpentsdbGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodPingdomArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodPingdomArgs.cs new file mode 100644 index 0000000..a054da1 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodPingdomArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodPingdomArgs : global::Pulumi.ResourceArgs + { + [Input("checkId", required: true)] + public Input CheckId { get; set; } = null!; + + [Input("checkType")] + public Input? CheckType { get; set; } + + [Input("status")] + public Input? Status { get; set; } + + public SloObjectiveCountMetricGoodPingdomArgs() + { + } + public static new SloObjectiveCountMetricGoodPingdomArgs Empty => new SloObjectiveCountMetricGoodPingdomArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodPingdomGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodPingdomGetArgs.cs new file mode 100644 index 0000000..db9ee5e --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodPingdomGetArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodPingdomGetArgs : global::Pulumi.ResourceArgs + { + [Input("checkId", required: true)] + public Input CheckId { get; set; } = null!; + + [Input("checkType")] + public Input? CheckType { get; set; } + + [Input("status")] + public Input? Status { get; set; } + + public SloObjectiveCountMetricGoodPingdomGetArgs() + { + } + public static new SloObjectiveCountMetricGoodPingdomGetArgs Empty => new SloObjectiveCountMetricGoodPingdomGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodPrometheusArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodPrometheusArgs.cs new file mode 100644 index 0000000..147760e --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodPrometheusArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodPrometheusArgs : global::Pulumi.ResourceArgs + { + [Input("promql", required: true)] + public Input Promql { get; set; } = null!; + + public SloObjectiveCountMetricGoodPrometheusArgs() + { + } + public static new SloObjectiveCountMetricGoodPrometheusArgs Empty => new SloObjectiveCountMetricGoodPrometheusArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodPrometheusGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodPrometheusGetArgs.cs new file mode 100644 index 0000000..25ed1a4 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodPrometheusGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodPrometheusGetArgs : global::Pulumi.ResourceArgs + { + [Input("promql", required: true)] + public Input Promql { get; set; } = null!; + + public SloObjectiveCountMetricGoodPrometheusGetArgs() + { + } + public static new SloObjectiveCountMetricGoodPrometheusGetArgs Empty => new SloObjectiveCountMetricGoodPrometheusGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodRedshiftArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodRedshiftArgs.cs new file mode 100644 index 0000000..ceec2c0 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodRedshiftArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodRedshiftArgs : global::Pulumi.ResourceArgs + { + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + [Input("databaseName", required: true)] + public Input DatabaseName { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + public SloObjectiveCountMetricGoodRedshiftArgs() + { + } + public static new SloObjectiveCountMetricGoodRedshiftArgs Empty => new SloObjectiveCountMetricGoodRedshiftArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodRedshiftGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodRedshiftGetArgs.cs new file mode 100644 index 0000000..5ae6396 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodRedshiftGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodRedshiftGetArgs : global::Pulumi.ResourceArgs + { + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + [Input("databaseName", required: true)] + public Input DatabaseName { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + public SloObjectiveCountMetricGoodRedshiftGetArgs() + { + } + public static new SloObjectiveCountMetricGoodRedshiftGetArgs Empty => new SloObjectiveCountMetricGoodRedshiftGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSplunkArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSplunkArgs.cs new file mode 100644 index 0000000..a9cb75e --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSplunkArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodSplunkArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricGoodSplunkArgs() + { + } + public static new SloObjectiveCountMetricGoodSplunkArgs Empty => new SloObjectiveCountMetricGoodSplunkArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSplunkGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSplunkGetArgs.cs new file mode 100644 index 0000000..65dcc8d --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSplunkGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodSplunkGetArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricGoodSplunkGetArgs() + { + } + public static new SloObjectiveCountMetricGoodSplunkGetArgs Empty => new SloObjectiveCountMetricGoodSplunkGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSplunkObservabilityArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSplunkObservabilityArgs.cs new file mode 100644 index 0000000..99837a4 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSplunkObservabilityArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodSplunkObservabilityArgs : global::Pulumi.ResourceArgs + { + [Input("program", required: true)] + public Input Program { get; set; } = null!; + + public SloObjectiveCountMetricGoodSplunkObservabilityArgs() + { + } + public static new SloObjectiveCountMetricGoodSplunkObservabilityArgs Empty => new SloObjectiveCountMetricGoodSplunkObservabilityArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSplunkObservabilityGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSplunkObservabilityGetArgs.cs new file mode 100644 index 0000000..a7b6049 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSplunkObservabilityGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodSplunkObservabilityGetArgs : global::Pulumi.ResourceArgs + { + [Input("program", required: true)] + public Input Program { get; set; } = null!; + + public SloObjectiveCountMetricGoodSplunkObservabilityGetArgs() + { + } + public static new SloObjectiveCountMetricGoodSplunkObservabilityGetArgs Empty => new SloObjectiveCountMetricGoodSplunkObservabilityGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSumologicArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSumologicArgs.cs new file mode 100644 index 0000000..6b2c221 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSumologicArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodSumologicArgs : global::Pulumi.ResourceArgs + { + [Input("quantization")] + public Input? Quantization { get; set; } + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + [Input("rollup")] + public Input? Rollup { get; set; } + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public SloObjectiveCountMetricGoodSumologicArgs() + { + } + public static new SloObjectiveCountMetricGoodSumologicArgs Empty => new SloObjectiveCountMetricGoodSumologicArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSumologicGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSumologicGetArgs.cs new file mode 100644 index 0000000..a76fd90 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodSumologicGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodSumologicGetArgs : global::Pulumi.ResourceArgs + { + [Input("quantization")] + public Input? Quantization { get; set; } + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + [Input("rollup")] + public Input? Rollup { get; set; } + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public SloObjectiveCountMetricGoodSumologicGetArgs() + { + } + public static new SloObjectiveCountMetricGoodSumologicGetArgs Empty => new SloObjectiveCountMetricGoodSumologicGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodThousandeyeArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodThousandeyeArgs.cs new file mode 100644 index 0000000..bfe5065 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodThousandeyeArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodThousandeyeArgs : global::Pulumi.ResourceArgs + { + [Input("testId", required: true)] + public Input TestId { get; set; } = null!; + + public SloObjectiveCountMetricGoodThousandeyeArgs() + { + } + public static new SloObjectiveCountMetricGoodThousandeyeArgs Empty => new SloObjectiveCountMetricGoodThousandeyeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodThousandeyeGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodThousandeyeGetArgs.cs new file mode 100644 index 0000000..9390bf3 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricGoodThousandeyeGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricGoodThousandeyeGetArgs : global::Pulumi.ResourceArgs + { + [Input("testId", required: true)] + public Input TestId { get; set; } = null!; + + public SloObjectiveCountMetricGoodThousandeyeGetArgs() + { + } + public static new SloObjectiveCountMetricGoodThousandeyeGetArgs Empty => new SloObjectiveCountMetricGoodThousandeyeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalAmazonPrometheusArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalAmazonPrometheusArgs.cs new file mode 100644 index 0000000..ea57066 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalAmazonPrometheusArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalAmazonPrometheusArgs : global::Pulumi.ResourceArgs + { + [Input("promql", required: true)] + public Input Promql { get; set; } = null!; + + public SloObjectiveCountMetricTotalAmazonPrometheusArgs() + { + } + public static new SloObjectiveCountMetricTotalAmazonPrometheusArgs Empty => new SloObjectiveCountMetricTotalAmazonPrometheusArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalAmazonPrometheusGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalAmazonPrometheusGetArgs.cs new file mode 100644 index 0000000..35199a0 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalAmazonPrometheusGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalAmazonPrometheusGetArgs : global::Pulumi.ResourceArgs + { + [Input("promql", required: true)] + public Input Promql { get; set; } = null!; + + public SloObjectiveCountMetricTotalAmazonPrometheusGetArgs() + { + } + public static new SloObjectiveCountMetricTotalAmazonPrometheusGetArgs Empty => new SloObjectiveCountMetricTotalAmazonPrometheusGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalAppdynamicArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalAppdynamicArgs.cs new file mode 100644 index 0000000..bab0830 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalAppdynamicArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalAppdynamicArgs : global::Pulumi.ResourceArgs + { + [Input("applicationName", required: true)] + public Input ApplicationName { get; set; } = null!; + + [Input("metricPath", required: true)] + public Input MetricPath { get; set; } = null!; + + public SloObjectiveCountMetricTotalAppdynamicArgs() + { + } + public static new SloObjectiveCountMetricTotalAppdynamicArgs Empty => new SloObjectiveCountMetricTotalAppdynamicArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalAppdynamicGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalAppdynamicGetArgs.cs new file mode 100644 index 0000000..708e93a --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalAppdynamicGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalAppdynamicGetArgs : global::Pulumi.ResourceArgs + { + [Input("applicationName", required: true)] + public Input ApplicationName { get; set; } = null!; + + [Input("metricPath", required: true)] + public Input MetricPath { get; set; } = null!; + + public SloObjectiveCountMetricTotalAppdynamicGetArgs() + { + } + public static new SloObjectiveCountMetricTotalAppdynamicGetArgs Empty => new SloObjectiveCountMetricTotalAppdynamicGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalArgs.cs new file mode 100644 index 0000000..a794a65 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalArgs.cs @@ -0,0 +1,196 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalArgs : global::Pulumi.ResourceArgs + { + [Input("amazonPrometheuses")] + private InputList? _amazonPrometheuses; + public InputList AmazonPrometheuses + { + get => _amazonPrometheuses ?? (_amazonPrometheuses = new InputList()); + set => _amazonPrometheuses = value; + } + + [Input("appdynamics")] + private InputList? _appdynamics; + public InputList Appdynamics + { + get => _appdynamics ?? (_appdynamics = new InputList()); + set => _appdynamics = value; + } + + [Input("bigqueries")] + private InputList? _bigqueries; + public InputList Bigqueries + { + get => _bigqueries ?? (_bigqueries = new InputList()); + set => _bigqueries = value; + } + + [Input("cloudwatches")] + private InputList? _cloudwatches; + public InputList Cloudwatches + { + get => _cloudwatches ?? (_cloudwatches = new InputList()); + set => _cloudwatches = value; + } + + [Input("datadogs")] + private InputList? _datadogs; + public InputList Datadogs + { + get => _datadogs ?? (_datadogs = new InputList()); + set => _datadogs = value; + } + + [Input("dynatraces")] + private InputList? _dynatraces; + public InputList Dynatraces + { + get => _dynatraces ?? (_dynatraces = new InputList()); + set => _dynatraces = value; + } + + [Input("elasticsearches")] + private InputList? _elasticsearches; + public InputList Elasticsearches + { + get => _elasticsearches ?? (_elasticsearches = new InputList()); + set => _elasticsearches = value; + } + + [Input("gcms")] + private InputList? _gcms; + public InputList Gcms + { + get => _gcms ?? (_gcms = new InputList()); + set => _gcms = value; + } + + [Input("grafanaLokis")] + private InputList? _grafanaLokis; + public InputList GrafanaLokis + { + get => _grafanaLokis ?? (_grafanaLokis = new InputList()); + set => _grafanaLokis = value; + } + + [Input("graphites")] + private InputList? _graphites; + public InputList Graphites + { + get => _graphites ?? (_graphites = new InputList()); + set => _graphites = value; + } + + [Input("influxdbs")] + private InputList? _influxdbs; + public InputList Influxdbs + { + get => _influxdbs ?? (_influxdbs = new InputList()); + set => _influxdbs = value; + } + + [Input("instanas")] + private InputList? _instanas; + public InputList Instanas + { + get => _instanas ?? (_instanas = new InputList()); + set => _instanas = value; + } + + [Input("lightsteps")] + private InputList? _lightsteps; + public InputList Lightsteps + { + get => _lightsteps ?? (_lightsteps = new InputList()); + set => _lightsteps = value; + } + + [Input("newrelics")] + private InputList? _newrelics; + public InputList Newrelics + { + get => _newrelics ?? (_newrelics = new InputList()); + set => _newrelics = value; + } + + [Input("opentsdbs")] + private InputList? _opentsdbs; + public InputList Opentsdbs + { + get => _opentsdbs ?? (_opentsdbs = new InputList()); + set => _opentsdbs = value; + } + + [Input("pingdoms")] + private InputList? _pingdoms; + public InputList Pingdoms + { + get => _pingdoms ?? (_pingdoms = new InputList()); + set => _pingdoms = value; + } + + [Input("prometheuses")] + private InputList? _prometheuses; + public InputList Prometheuses + { + get => _prometheuses ?? (_prometheuses = new InputList()); + set => _prometheuses = value; + } + + [Input("redshifts")] + private InputList? _redshifts; + public InputList Redshifts + { + get => _redshifts ?? (_redshifts = new InputList()); + set => _redshifts = value; + } + + [Input("splunkObservabilities")] + private InputList? _splunkObservabilities; + public InputList SplunkObservabilities + { + get => _splunkObservabilities ?? (_splunkObservabilities = new InputList()); + set => _splunkObservabilities = value; + } + + [Input("splunks")] + private InputList? _splunks; + public InputList Splunks + { + get => _splunks ?? (_splunks = new InputList()); + set => _splunks = value; + } + + [Input("sumologics")] + private InputList? _sumologics; + public InputList Sumologics + { + get => _sumologics ?? (_sumologics = new InputList()); + set => _sumologics = value; + } + + [Input("thousandeyes")] + private InputList? _thousandeyes; + public InputList Thousandeyes + { + get => _thousandeyes ?? (_thousandeyes = new InputList()); + set => _thousandeyes = value; + } + + public SloObjectiveCountMetricTotalArgs() + { + } + public static new SloObjectiveCountMetricTotalArgs Empty => new SloObjectiveCountMetricTotalArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalBigqueryArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalBigqueryArgs.cs new file mode 100644 index 0000000..46044ce --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalBigqueryArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalBigqueryArgs : global::Pulumi.ResourceArgs + { + [Input("location", required: true)] + public Input Location { get; set; } = null!; + + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricTotalBigqueryArgs() + { + } + public static new SloObjectiveCountMetricTotalBigqueryArgs Empty => new SloObjectiveCountMetricTotalBigqueryArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalBigqueryGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalBigqueryGetArgs.cs new file mode 100644 index 0000000..fe9776e --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalBigqueryGetArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalBigqueryGetArgs : global::Pulumi.ResourceArgs + { + [Input("location", required: true)] + public Input Location { get; set; } = null!; + + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricTotalBigqueryGetArgs() + { + } + public static new SloObjectiveCountMetricTotalBigqueryGetArgs Empty => new SloObjectiveCountMetricTotalBigqueryGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalCloudwatchArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalCloudwatchArgs.cs new file mode 100644 index 0000000..12c1e0a --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalCloudwatchArgs.cs @@ -0,0 +1,46 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalCloudwatchArgs : global::Pulumi.ResourceArgs + { + [Input("dimensions")] + private InputList? _dimensions; + public InputList Dimensions + { + get => _dimensions ?? (_dimensions = new InputList()); + set => _dimensions = value; + } + + [Input("json")] + public Input? Json { get; set; } + + [Input("metricName")] + public Input? MetricName { get; set; } + + [Input("namespace")] + public Input? Namespace { get; set; } + + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + [Input("sql")] + public Input? Sql { get; set; } + + [Input("stat")] + public Input? Stat { get; set; } + + public SloObjectiveCountMetricTotalCloudwatchArgs() + { + } + public static new SloObjectiveCountMetricTotalCloudwatchArgs Empty => new SloObjectiveCountMetricTotalCloudwatchArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalCloudwatchDimensionArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalCloudwatchDimensionArgs.cs new file mode 100644 index 0000000..6a8c9d3 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalCloudwatchDimensionArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalCloudwatchDimensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public SloObjectiveCountMetricTotalCloudwatchDimensionArgs() + { + } + public static new SloObjectiveCountMetricTotalCloudwatchDimensionArgs Empty => new SloObjectiveCountMetricTotalCloudwatchDimensionArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalCloudwatchDimensionGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalCloudwatchDimensionGetArgs.cs new file mode 100644 index 0000000..40637cd --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalCloudwatchDimensionGetArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalCloudwatchDimensionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public SloObjectiveCountMetricTotalCloudwatchDimensionGetArgs() + { + } + public static new SloObjectiveCountMetricTotalCloudwatchDimensionGetArgs Empty => new SloObjectiveCountMetricTotalCloudwatchDimensionGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalCloudwatchGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalCloudwatchGetArgs.cs new file mode 100644 index 0000000..c4a714f --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalCloudwatchGetArgs.cs @@ -0,0 +1,46 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalCloudwatchGetArgs : global::Pulumi.ResourceArgs + { + [Input("dimensions")] + private InputList? _dimensions; + public InputList Dimensions + { + get => _dimensions ?? (_dimensions = new InputList()); + set => _dimensions = value; + } + + [Input("json")] + public Input? Json { get; set; } + + [Input("metricName")] + public Input? MetricName { get; set; } + + [Input("namespace")] + public Input? Namespace { get; set; } + + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + [Input("sql")] + public Input? Sql { get; set; } + + [Input("stat")] + public Input? Stat { get; set; } + + public SloObjectiveCountMetricTotalCloudwatchGetArgs() + { + } + public static new SloObjectiveCountMetricTotalCloudwatchGetArgs Empty => new SloObjectiveCountMetricTotalCloudwatchGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalDatadogArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalDatadogArgs.cs new file mode 100644 index 0000000..ff69f6c --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalDatadogArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalDatadogArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricTotalDatadogArgs() + { + } + public static new SloObjectiveCountMetricTotalDatadogArgs Empty => new SloObjectiveCountMetricTotalDatadogArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalDatadogGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalDatadogGetArgs.cs new file mode 100644 index 0000000..4e26dbb --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalDatadogGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalDatadogGetArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricTotalDatadogGetArgs() + { + } + public static new SloObjectiveCountMetricTotalDatadogGetArgs Empty => new SloObjectiveCountMetricTotalDatadogGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalDynatraceArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalDynatraceArgs.cs new file mode 100644 index 0000000..1c12a8f --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalDynatraceArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalDynatraceArgs : global::Pulumi.ResourceArgs + { + [Input("metricSelector", required: true)] + public Input MetricSelector { get; set; } = null!; + + public SloObjectiveCountMetricTotalDynatraceArgs() + { + } + public static new SloObjectiveCountMetricTotalDynatraceArgs Empty => new SloObjectiveCountMetricTotalDynatraceArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalDynatraceGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalDynatraceGetArgs.cs new file mode 100644 index 0000000..185e603 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalDynatraceGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalDynatraceGetArgs : global::Pulumi.ResourceArgs + { + [Input("metricSelector", required: true)] + public Input MetricSelector { get; set; } = null!; + + public SloObjectiveCountMetricTotalDynatraceGetArgs() + { + } + public static new SloObjectiveCountMetricTotalDynatraceGetArgs Empty => new SloObjectiveCountMetricTotalDynatraceGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalElasticsearchArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalElasticsearchArgs.cs new file mode 100644 index 0000000..84b88f3 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalElasticsearchArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalElasticsearchArgs : global::Pulumi.ResourceArgs + { + [Input("index", required: true)] + public Input Index { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricTotalElasticsearchArgs() + { + } + public static new SloObjectiveCountMetricTotalElasticsearchArgs Empty => new SloObjectiveCountMetricTotalElasticsearchArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalElasticsearchGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalElasticsearchGetArgs.cs new file mode 100644 index 0000000..428841c --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalElasticsearchGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalElasticsearchGetArgs : global::Pulumi.ResourceArgs + { + [Input("index", required: true)] + public Input Index { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricTotalElasticsearchGetArgs() + { + } + public static new SloObjectiveCountMetricTotalElasticsearchGetArgs Empty => new SloObjectiveCountMetricTotalElasticsearchGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGcmArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGcmArgs.cs new file mode 100644 index 0000000..0b96fe5 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGcmArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalGcmArgs : global::Pulumi.ResourceArgs + { + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricTotalGcmArgs() + { + } + public static new SloObjectiveCountMetricTotalGcmArgs Empty => new SloObjectiveCountMetricTotalGcmArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGcmGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGcmGetArgs.cs new file mode 100644 index 0000000..3aed7ff --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGcmGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalGcmGetArgs : global::Pulumi.ResourceArgs + { + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricTotalGcmGetArgs() + { + } + public static new SloObjectiveCountMetricTotalGcmGetArgs Empty => new SloObjectiveCountMetricTotalGcmGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGetArgs.cs new file mode 100644 index 0000000..7a952bc --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGetArgs.cs @@ -0,0 +1,196 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalGetArgs : global::Pulumi.ResourceArgs + { + [Input("amazonPrometheuses")] + private InputList? _amazonPrometheuses; + public InputList AmazonPrometheuses + { + get => _amazonPrometheuses ?? (_amazonPrometheuses = new InputList()); + set => _amazonPrometheuses = value; + } + + [Input("appdynamics")] + private InputList? _appdynamics; + public InputList Appdynamics + { + get => _appdynamics ?? (_appdynamics = new InputList()); + set => _appdynamics = value; + } + + [Input("bigqueries")] + private InputList? _bigqueries; + public InputList Bigqueries + { + get => _bigqueries ?? (_bigqueries = new InputList()); + set => _bigqueries = value; + } + + [Input("cloudwatches")] + private InputList? _cloudwatches; + public InputList Cloudwatches + { + get => _cloudwatches ?? (_cloudwatches = new InputList()); + set => _cloudwatches = value; + } + + [Input("datadogs")] + private InputList? _datadogs; + public InputList Datadogs + { + get => _datadogs ?? (_datadogs = new InputList()); + set => _datadogs = value; + } + + [Input("dynatraces")] + private InputList? _dynatraces; + public InputList Dynatraces + { + get => _dynatraces ?? (_dynatraces = new InputList()); + set => _dynatraces = value; + } + + [Input("elasticsearches")] + private InputList? _elasticsearches; + public InputList Elasticsearches + { + get => _elasticsearches ?? (_elasticsearches = new InputList()); + set => _elasticsearches = value; + } + + [Input("gcms")] + private InputList? _gcms; + public InputList Gcms + { + get => _gcms ?? (_gcms = new InputList()); + set => _gcms = value; + } + + [Input("grafanaLokis")] + private InputList? _grafanaLokis; + public InputList GrafanaLokis + { + get => _grafanaLokis ?? (_grafanaLokis = new InputList()); + set => _grafanaLokis = value; + } + + [Input("graphites")] + private InputList? _graphites; + public InputList Graphites + { + get => _graphites ?? (_graphites = new InputList()); + set => _graphites = value; + } + + [Input("influxdbs")] + private InputList? _influxdbs; + public InputList Influxdbs + { + get => _influxdbs ?? (_influxdbs = new InputList()); + set => _influxdbs = value; + } + + [Input("instanas")] + private InputList? _instanas; + public InputList Instanas + { + get => _instanas ?? (_instanas = new InputList()); + set => _instanas = value; + } + + [Input("lightsteps")] + private InputList? _lightsteps; + public InputList Lightsteps + { + get => _lightsteps ?? (_lightsteps = new InputList()); + set => _lightsteps = value; + } + + [Input("newrelics")] + private InputList? _newrelics; + public InputList Newrelics + { + get => _newrelics ?? (_newrelics = new InputList()); + set => _newrelics = value; + } + + [Input("opentsdbs")] + private InputList? _opentsdbs; + public InputList Opentsdbs + { + get => _opentsdbs ?? (_opentsdbs = new InputList()); + set => _opentsdbs = value; + } + + [Input("pingdoms")] + private InputList? _pingdoms; + public InputList Pingdoms + { + get => _pingdoms ?? (_pingdoms = new InputList()); + set => _pingdoms = value; + } + + [Input("prometheuses")] + private InputList? _prometheuses; + public InputList Prometheuses + { + get => _prometheuses ?? (_prometheuses = new InputList()); + set => _prometheuses = value; + } + + [Input("redshifts")] + private InputList? _redshifts; + public InputList Redshifts + { + get => _redshifts ?? (_redshifts = new InputList()); + set => _redshifts = value; + } + + [Input("splunkObservabilities")] + private InputList? _splunkObservabilities; + public InputList SplunkObservabilities + { + get => _splunkObservabilities ?? (_splunkObservabilities = new InputList()); + set => _splunkObservabilities = value; + } + + [Input("splunks")] + private InputList? _splunks; + public InputList Splunks + { + get => _splunks ?? (_splunks = new InputList()); + set => _splunks = value; + } + + [Input("sumologics")] + private InputList? _sumologics; + public InputList Sumologics + { + get => _sumologics ?? (_sumologics = new InputList()); + set => _sumologics = value; + } + + [Input("thousandeyes")] + private InputList? _thousandeyes; + public InputList Thousandeyes + { + get => _thousandeyes ?? (_thousandeyes = new InputList()); + set => _thousandeyes = value; + } + + public SloObjectiveCountMetricTotalGetArgs() + { + } + public static new SloObjectiveCountMetricTotalGetArgs Empty => new SloObjectiveCountMetricTotalGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGrafanaLokiArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGrafanaLokiArgs.cs new file mode 100644 index 0000000..c849b21 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGrafanaLokiArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalGrafanaLokiArgs : global::Pulumi.ResourceArgs + { + [Input("logql", required: true)] + public Input Logql { get; set; } = null!; + + public SloObjectiveCountMetricTotalGrafanaLokiArgs() + { + } + public static new SloObjectiveCountMetricTotalGrafanaLokiArgs Empty => new SloObjectiveCountMetricTotalGrafanaLokiArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGrafanaLokiGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGrafanaLokiGetArgs.cs new file mode 100644 index 0000000..2fb58f1 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGrafanaLokiGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalGrafanaLokiGetArgs : global::Pulumi.ResourceArgs + { + [Input("logql", required: true)] + public Input Logql { get; set; } = null!; + + public SloObjectiveCountMetricTotalGrafanaLokiGetArgs() + { + } + public static new SloObjectiveCountMetricTotalGrafanaLokiGetArgs Empty => new SloObjectiveCountMetricTotalGrafanaLokiGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGraphiteArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGraphiteArgs.cs new file mode 100644 index 0000000..a10944a --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGraphiteArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalGraphiteArgs : global::Pulumi.ResourceArgs + { + [Input("metricPath", required: true)] + public Input MetricPath { get; set; } = null!; + + public SloObjectiveCountMetricTotalGraphiteArgs() + { + } + public static new SloObjectiveCountMetricTotalGraphiteArgs Empty => new SloObjectiveCountMetricTotalGraphiteArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGraphiteGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGraphiteGetArgs.cs new file mode 100644 index 0000000..ec5826b --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalGraphiteGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalGraphiteGetArgs : global::Pulumi.ResourceArgs + { + [Input("metricPath", required: true)] + public Input MetricPath { get; set; } = null!; + + public SloObjectiveCountMetricTotalGraphiteGetArgs() + { + } + public static new SloObjectiveCountMetricTotalGraphiteGetArgs Empty => new SloObjectiveCountMetricTotalGraphiteGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInfluxdbArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInfluxdbArgs.cs new file mode 100644 index 0000000..6154730 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInfluxdbArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalInfluxdbArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricTotalInfluxdbArgs() + { + } + public static new SloObjectiveCountMetricTotalInfluxdbArgs Empty => new SloObjectiveCountMetricTotalInfluxdbArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInfluxdbGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInfluxdbGetArgs.cs new file mode 100644 index 0000000..4350581 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInfluxdbGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalInfluxdbGetArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricTotalInfluxdbGetArgs() + { + } + public static new SloObjectiveCountMetricTotalInfluxdbGetArgs Empty => new SloObjectiveCountMetricTotalInfluxdbGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaApplicationArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaApplicationArgs.cs new file mode 100644 index 0000000..24f3d3a --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaApplicationArgs.cs @@ -0,0 +1,43 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalInstanaApplicationArgs : global::Pulumi.ResourceArgs + { + [Input("aggregation", required: true)] + public Input Aggregation { get; set; } = null!; + + [Input("apiQuery", required: true)] + public Input ApiQuery { get; set; } = null!; + + [Input("groupBies", required: true)] + private InputList? _groupBies; + public InputList GroupBies + { + get => _groupBies ?? (_groupBies = new InputList()); + set => _groupBies = value; + } + + [Input("includeInternal")] + public Input? IncludeInternal { get; set; } + + [Input("includeSynthetic")] + public Input? IncludeSynthetic { get; set; } + + [Input("metricId", required: true)] + public Input MetricId { get; set; } = null!; + + public SloObjectiveCountMetricTotalInstanaApplicationArgs() + { + } + public static new SloObjectiveCountMetricTotalInstanaApplicationArgs Empty => new SloObjectiveCountMetricTotalInstanaApplicationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaApplicationGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaApplicationGetArgs.cs new file mode 100644 index 0000000..dbc3ff5 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaApplicationGetArgs.cs @@ -0,0 +1,43 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalInstanaApplicationGetArgs : global::Pulumi.ResourceArgs + { + [Input("aggregation", required: true)] + public Input Aggregation { get; set; } = null!; + + [Input("apiQuery", required: true)] + public Input ApiQuery { get; set; } = null!; + + [Input("groupBies", required: true)] + private InputList? _groupBies; + public InputList GroupBies + { + get => _groupBies ?? (_groupBies = new InputList()); + set => _groupBies = value; + } + + [Input("includeInternal")] + public Input? IncludeInternal { get; set; } + + [Input("includeSynthetic")] + public Input? IncludeSynthetic { get; set; } + + [Input("metricId", required: true)] + public Input MetricId { get; set; } = null!; + + public SloObjectiveCountMetricTotalInstanaApplicationGetArgs() + { + } + public static new SloObjectiveCountMetricTotalInstanaApplicationGetArgs Empty => new SloObjectiveCountMetricTotalInstanaApplicationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs.cs new file mode 100644 index 0000000..da0b90e --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs : global::Pulumi.ResourceArgs + { + [Input("tag", required: true)] + public Input Tag { get; set; } = null!; + + [Input("tagEntity", required: true)] + public Input TagEntity { get; set; } = null!; + + [Input("tagSecondLevelKey")] + public Input? TagSecondLevelKey { get; set; } + + public SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs() + { + } + public static new SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs Empty => new SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaApplicationGroupByGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaApplicationGroupByGetArgs.cs new file mode 100644 index 0000000..f564773 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaApplicationGroupByGetArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalInstanaApplicationGroupByGetArgs : global::Pulumi.ResourceArgs + { + [Input("tag", required: true)] + public Input Tag { get; set; } = null!; + + [Input("tagEntity", required: true)] + public Input TagEntity { get; set; } = null!; + + [Input("tagSecondLevelKey")] + public Input? TagSecondLevelKey { get; set; } + + public SloObjectiveCountMetricTotalInstanaApplicationGroupByGetArgs() + { + } + public static new SloObjectiveCountMetricTotalInstanaApplicationGroupByGetArgs Empty => new SloObjectiveCountMetricTotalInstanaApplicationGroupByGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaArgs.cs new file mode 100644 index 0000000..96eaaad --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalInstanaArgs : global::Pulumi.ResourceArgs + { + [Input("applications")] + private InputList? _applications; + public InputList Applications + { + get => _applications ?? (_applications = new InputList()); + set => _applications = value; + } + + [Input("infrastructures")] + private InputList? _infrastructures; + public InputList Infrastructures + { + get => _infrastructures ?? (_infrastructures = new InputList()); + set => _infrastructures = value; + } + + [Input("metricType", required: true)] + public Input MetricType { get; set; } = null!; + + public SloObjectiveCountMetricTotalInstanaArgs() + { + } + public static new SloObjectiveCountMetricTotalInstanaArgs Empty => new SloObjectiveCountMetricTotalInstanaArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaGetArgs.cs new file mode 100644 index 0000000..e2d064d --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalInstanaGetArgs : global::Pulumi.ResourceArgs + { + [Input("applications")] + private InputList? _applications; + public InputList Applications + { + get => _applications ?? (_applications = new InputList()); + set => _applications = value; + } + + [Input("infrastructures")] + private InputList? _infrastructures; + public InputList Infrastructures + { + get => _infrastructures ?? (_infrastructures = new InputList()); + set => _infrastructures = value; + } + + [Input("metricType", required: true)] + public Input MetricType { get; set; } = null!; + + public SloObjectiveCountMetricTotalInstanaGetArgs() + { + } + public static new SloObjectiveCountMetricTotalInstanaGetArgs Empty => new SloObjectiveCountMetricTotalInstanaGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaInfrastructureArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaInfrastructureArgs.cs new file mode 100644 index 0000000..cd92221 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaInfrastructureArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalInstanaInfrastructureArgs : global::Pulumi.ResourceArgs + { + [Input("metricId", required: true)] + public Input MetricId { get; set; } = null!; + + [Input("metricRetrievalMethod", required: true)] + public Input MetricRetrievalMethod { get; set; } = null!; + + [Input("pluginId", required: true)] + public Input PluginId { get; set; } = null!; + + [Input("query")] + public Input? Query { get; set; } + + [Input("snapshotId")] + public Input? SnapshotId { get; set; } + + public SloObjectiveCountMetricTotalInstanaInfrastructureArgs() + { + } + public static new SloObjectiveCountMetricTotalInstanaInfrastructureArgs Empty => new SloObjectiveCountMetricTotalInstanaInfrastructureArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaInfrastructureGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaInfrastructureGetArgs.cs new file mode 100644 index 0000000..e5c878d --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalInstanaInfrastructureGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalInstanaInfrastructureGetArgs : global::Pulumi.ResourceArgs + { + [Input("metricId", required: true)] + public Input MetricId { get; set; } = null!; + + [Input("metricRetrievalMethod", required: true)] + public Input MetricRetrievalMethod { get; set; } = null!; + + [Input("pluginId", required: true)] + public Input PluginId { get; set; } = null!; + + [Input("query")] + public Input? Query { get; set; } + + [Input("snapshotId")] + public Input? SnapshotId { get; set; } + + public SloObjectiveCountMetricTotalInstanaInfrastructureGetArgs() + { + } + public static new SloObjectiveCountMetricTotalInstanaInfrastructureGetArgs Empty => new SloObjectiveCountMetricTotalInstanaInfrastructureGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalLightstepArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalLightstepArgs.cs new file mode 100644 index 0000000..3849fe7 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalLightstepArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalLightstepArgs : global::Pulumi.ResourceArgs + { + [Input("percentile")] + public Input? Percentile { get; set; } + + [Input("streamId")] + public Input? StreamId { get; set; } + + [Input("typeOfData", required: true)] + public Input TypeOfData { get; set; } = null!; + + [Input("uql")] + public Input? Uql { get; set; } + + public SloObjectiveCountMetricTotalLightstepArgs() + { + } + public static new SloObjectiveCountMetricTotalLightstepArgs Empty => new SloObjectiveCountMetricTotalLightstepArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalLightstepGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalLightstepGetArgs.cs new file mode 100644 index 0000000..a492fbb --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalLightstepGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalLightstepGetArgs : global::Pulumi.ResourceArgs + { + [Input("percentile")] + public Input? Percentile { get; set; } + + [Input("streamId")] + public Input? StreamId { get; set; } + + [Input("typeOfData", required: true)] + public Input TypeOfData { get; set; } = null!; + + [Input("uql")] + public Input? Uql { get; set; } + + public SloObjectiveCountMetricTotalLightstepGetArgs() + { + } + public static new SloObjectiveCountMetricTotalLightstepGetArgs Empty => new SloObjectiveCountMetricTotalLightstepGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalNewrelicArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalNewrelicArgs.cs new file mode 100644 index 0000000..0d13a08 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalNewrelicArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalNewrelicArgs : global::Pulumi.ResourceArgs + { + [Input("nrql", required: true)] + public Input Nrql { get; set; } = null!; + + public SloObjectiveCountMetricTotalNewrelicArgs() + { + } + public static new SloObjectiveCountMetricTotalNewrelicArgs Empty => new SloObjectiveCountMetricTotalNewrelicArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalNewrelicGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalNewrelicGetArgs.cs new file mode 100644 index 0000000..f8a67ab --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalNewrelicGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalNewrelicGetArgs : global::Pulumi.ResourceArgs + { + [Input("nrql", required: true)] + public Input Nrql { get; set; } = null!; + + public SloObjectiveCountMetricTotalNewrelicGetArgs() + { + } + public static new SloObjectiveCountMetricTotalNewrelicGetArgs Empty => new SloObjectiveCountMetricTotalNewrelicGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalOpentsdbArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalOpentsdbArgs.cs new file mode 100644 index 0000000..704662e --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalOpentsdbArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalOpentsdbArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricTotalOpentsdbArgs() + { + } + public static new SloObjectiveCountMetricTotalOpentsdbArgs Empty => new SloObjectiveCountMetricTotalOpentsdbArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalOpentsdbGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalOpentsdbGetArgs.cs new file mode 100644 index 0000000..13da630 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalOpentsdbGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalOpentsdbGetArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricTotalOpentsdbGetArgs() + { + } + public static new SloObjectiveCountMetricTotalOpentsdbGetArgs Empty => new SloObjectiveCountMetricTotalOpentsdbGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalPingdomArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalPingdomArgs.cs new file mode 100644 index 0000000..062d2ea --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalPingdomArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalPingdomArgs : global::Pulumi.ResourceArgs + { + [Input("checkId", required: true)] + public Input CheckId { get; set; } = null!; + + [Input("checkType")] + public Input? CheckType { get; set; } + + [Input("status")] + public Input? Status { get; set; } + + public SloObjectiveCountMetricTotalPingdomArgs() + { + } + public static new SloObjectiveCountMetricTotalPingdomArgs Empty => new SloObjectiveCountMetricTotalPingdomArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalPingdomGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalPingdomGetArgs.cs new file mode 100644 index 0000000..1aaf1c5 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalPingdomGetArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalPingdomGetArgs : global::Pulumi.ResourceArgs + { + [Input("checkId", required: true)] + public Input CheckId { get; set; } = null!; + + [Input("checkType")] + public Input? CheckType { get; set; } + + [Input("status")] + public Input? Status { get; set; } + + public SloObjectiveCountMetricTotalPingdomGetArgs() + { + } + public static new SloObjectiveCountMetricTotalPingdomGetArgs Empty => new SloObjectiveCountMetricTotalPingdomGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalPrometheusArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalPrometheusArgs.cs new file mode 100644 index 0000000..70591a7 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalPrometheusArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalPrometheusArgs : global::Pulumi.ResourceArgs + { + [Input("promql", required: true)] + public Input Promql { get; set; } = null!; + + public SloObjectiveCountMetricTotalPrometheusArgs() + { + } + public static new SloObjectiveCountMetricTotalPrometheusArgs Empty => new SloObjectiveCountMetricTotalPrometheusArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalPrometheusGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalPrometheusGetArgs.cs new file mode 100644 index 0000000..5920cd3 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalPrometheusGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalPrometheusGetArgs : global::Pulumi.ResourceArgs + { + [Input("promql", required: true)] + public Input Promql { get; set; } = null!; + + public SloObjectiveCountMetricTotalPrometheusGetArgs() + { + } + public static new SloObjectiveCountMetricTotalPrometheusGetArgs Empty => new SloObjectiveCountMetricTotalPrometheusGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalRedshiftArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalRedshiftArgs.cs new file mode 100644 index 0000000..81a53b5 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalRedshiftArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalRedshiftArgs : global::Pulumi.ResourceArgs + { + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + [Input("databaseName", required: true)] + public Input DatabaseName { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + public SloObjectiveCountMetricTotalRedshiftArgs() + { + } + public static new SloObjectiveCountMetricTotalRedshiftArgs Empty => new SloObjectiveCountMetricTotalRedshiftArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalRedshiftGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalRedshiftGetArgs.cs new file mode 100644 index 0000000..1a5a284 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalRedshiftGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalRedshiftGetArgs : global::Pulumi.ResourceArgs + { + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + [Input("databaseName", required: true)] + public Input DatabaseName { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + public SloObjectiveCountMetricTotalRedshiftGetArgs() + { + } + public static new SloObjectiveCountMetricTotalRedshiftGetArgs Empty => new SloObjectiveCountMetricTotalRedshiftGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSplunkArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSplunkArgs.cs new file mode 100644 index 0000000..324a1bf --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSplunkArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalSplunkArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricTotalSplunkArgs() + { + } + public static new SloObjectiveCountMetricTotalSplunkArgs Empty => new SloObjectiveCountMetricTotalSplunkArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSplunkGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSplunkGetArgs.cs new file mode 100644 index 0000000..70ed581 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSplunkGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalSplunkGetArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveCountMetricTotalSplunkGetArgs() + { + } + public static new SloObjectiveCountMetricTotalSplunkGetArgs Empty => new SloObjectiveCountMetricTotalSplunkGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSplunkObservabilityArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSplunkObservabilityArgs.cs new file mode 100644 index 0000000..4d681cc --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSplunkObservabilityArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalSplunkObservabilityArgs : global::Pulumi.ResourceArgs + { + [Input("program", required: true)] + public Input Program { get; set; } = null!; + + public SloObjectiveCountMetricTotalSplunkObservabilityArgs() + { + } + public static new SloObjectiveCountMetricTotalSplunkObservabilityArgs Empty => new SloObjectiveCountMetricTotalSplunkObservabilityArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSplunkObservabilityGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSplunkObservabilityGetArgs.cs new file mode 100644 index 0000000..32d0a4d --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSplunkObservabilityGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalSplunkObservabilityGetArgs : global::Pulumi.ResourceArgs + { + [Input("program", required: true)] + public Input Program { get; set; } = null!; + + public SloObjectiveCountMetricTotalSplunkObservabilityGetArgs() + { + } + public static new SloObjectiveCountMetricTotalSplunkObservabilityGetArgs Empty => new SloObjectiveCountMetricTotalSplunkObservabilityGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSumologicArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSumologicArgs.cs new file mode 100644 index 0000000..55e2e91 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSumologicArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalSumologicArgs : global::Pulumi.ResourceArgs + { + [Input("quantization")] + public Input? Quantization { get; set; } + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + [Input("rollup")] + public Input? Rollup { get; set; } + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public SloObjectiveCountMetricTotalSumologicArgs() + { + } + public static new SloObjectiveCountMetricTotalSumologicArgs Empty => new SloObjectiveCountMetricTotalSumologicArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSumologicGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSumologicGetArgs.cs new file mode 100644 index 0000000..cf765ba --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalSumologicGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalSumologicGetArgs : global::Pulumi.ResourceArgs + { + [Input("quantization")] + public Input? Quantization { get; set; } + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + [Input("rollup")] + public Input? Rollup { get; set; } + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public SloObjectiveCountMetricTotalSumologicGetArgs() + { + } + public static new SloObjectiveCountMetricTotalSumologicGetArgs Empty => new SloObjectiveCountMetricTotalSumologicGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalThousandeyeArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalThousandeyeArgs.cs new file mode 100644 index 0000000..abdffba --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalThousandeyeArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalThousandeyeArgs : global::Pulumi.ResourceArgs + { + [Input("testId", required: true)] + public Input TestId { get; set; } = null!; + + public SloObjectiveCountMetricTotalThousandeyeArgs() + { + } + public static new SloObjectiveCountMetricTotalThousandeyeArgs Empty => new SloObjectiveCountMetricTotalThousandeyeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalThousandeyeGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalThousandeyeGetArgs.cs new file mode 100644 index 0000000..9dd56dc --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveCountMetricTotalThousandeyeGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveCountMetricTotalThousandeyeGetArgs : global::Pulumi.ResourceArgs + { + [Input("testId", required: true)] + public Input TestId { get; set; } = null!; + + public SloObjectiveCountMetricTotalThousandeyeGetArgs() + { + } + public static new SloObjectiveCountMetricTotalThousandeyeGetArgs Empty => new SloObjectiveCountMetricTotalThousandeyeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveGetArgs.cs new file mode 100644 index 0000000..cb71da5 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveGetArgs.cs @@ -0,0 +1,80 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveGetArgs : global::Pulumi.ResourceArgs + { + [Input("countMetrics")] + private InputList? _countMetrics; + + /// + /// Compares two time series, indicating the ratio of the count of good values to total values. + /// + public InputList CountMetrics + { + get => _countMetrics ?? (_countMetrics = new InputList()); + set => _countMetrics = value; + } + + /// + /// Name to be displayed + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + /// + /// Objective's name. This field is computed if not provided. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Type of logical operation + /// + [Input("op")] + public Input? Op { get; set; } + + [Input("rawMetrics")] + private InputList? _rawMetrics; + + /// + /// Raw data is used to compare objective values. + /// + public InputList RawMetrics + { + get => _rawMetrics ?? (_rawMetrics = new InputList()); + set => _rawMetrics = value; + } + + /// + /// Designated value + /// + [Input("target", required: true)] + public Input Target { get; set; } = null!; + + /// + /// Designated value for slice + /// + [Input("timeSliceTarget")] + public Input? TimeSliceTarget { get; set; } + + /// + /// Value + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public SloObjectiveGetArgs() + { + } + public static new SloObjectiveGetArgs Empty => new SloObjectiveGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricArgs.cs new file mode 100644 index 0000000..0871e71 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricArgs : global::Pulumi.ResourceArgs + { + [Input("queries")] + private InputList? _queries; + public InputList Queries + { + get => _queries ?? (_queries = new InputList()); + set => _queries = value; + } + + public SloObjectiveRawMetricArgs() + { + } + public static new SloObjectiveRawMetricArgs Empty => new SloObjectiveRawMetricArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricGetArgs.cs new file mode 100644 index 0000000..8b8a32c --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricGetArgs : global::Pulumi.ResourceArgs + { + [Input("queries")] + private InputList? _queries; + public InputList Queries + { + get => _queries ?? (_queries = new InputList()); + set => _queries = value; + } + + public SloObjectiveRawMetricGetArgs() + { + } + public static new SloObjectiveRawMetricGetArgs Empty => new SloObjectiveRawMetricGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryAmazonPrometheusArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryAmazonPrometheusArgs.cs new file mode 100644 index 0000000..5afbffe --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryAmazonPrometheusArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryAmazonPrometheusArgs : global::Pulumi.ResourceArgs + { + [Input("promql", required: true)] + public Input Promql { get; set; } = null!; + + public SloObjectiveRawMetricQueryAmazonPrometheusArgs() + { + } + public static new SloObjectiveRawMetricQueryAmazonPrometheusArgs Empty => new SloObjectiveRawMetricQueryAmazonPrometheusArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryAmazonPrometheusGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryAmazonPrometheusGetArgs.cs new file mode 100644 index 0000000..21970ee --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryAmazonPrometheusGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryAmazonPrometheusGetArgs : global::Pulumi.ResourceArgs + { + [Input("promql", required: true)] + public Input Promql { get; set; } = null!; + + public SloObjectiveRawMetricQueryAmazonPrometheusGetArgs() + { + } + public static new SloObjectiveRawMetricQueryAmazonPrometheusGetArgs Empty => new SloObjectiveRawMetricQueryAmazonPrometheusGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryAppdynamicArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryAppdynamicArgs.cs new file mode 100644 index 0000000..f17cbec --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryAppdynamicArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryAppdynamicArgs : global::Pulumi.ResourceArgs + { + [Input("applicationName", required: true)] + public Input ApplicationName { get; set; } = null!; + + [Input("metricPath", required: true)] + public Input MetricPath { get; set; } = null!; + + public SloObjectiveRawMetricQueryAppdynamicArgs() + { + } + public static new SloObjectiveRawMetricQueryAppdynamicArgs Empty => new SloObjectiveRawMetricQueryAppdynamicArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryAppdynamicGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryAppdynamicGetArgs.cs new file mode 100644 index 0000000..e470f65 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryAppdynamicGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryAppdynamicGetArgs : global::Pulumi.ResourceArgs + { + [Input("applicationName", required: true)] + public Input ApplicationName { get; set; } = null!; + + [Input("metricPath", required: true)] + public Input MetricPath { get; set; } = null!; + + public SloObjectiveRawMetricQueryAppdynamicGetArgs() + { + } + public static new SloObjectiveRawMetricQueryAppdynamicGetArgs Empty => new SloObjectiveRawMetricQueryAppdynamicGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryArgs.cs new file mode 100644 index 0000000..7b1dd58 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryArgs.cs @@ -0,0 +1,196 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryArgs : global::Pulumi.ResourceArgs + { + [Input("amazonPrometheuses")] + private InputList? _amazonPrometheuses; + public InputList AmazonPrometheuses + { + get => _amazonPrometheuses ?? (_amazonPrometheuses = new InputList()); + set => _amazonPrometheuses = value; + } + + [Input("appdynamics")] + private InputList? _appdynamics; + public InputList Appdynamics + { + get => _appdynamics ?? (_appdynamics = new InputList()); + set => _appdynamics = value; + } + + [Input("bigqueries")] + private InputList? _bigqueries; + public InputList Bigqueries + { + get => _bigqueries ?? (_bigqueries = new InputList()); + set => _bigqueries = value; + } + + [Input("cloudwatches")] + private InputList? _cloudwatches; + public InputList Cloudwatches + { + get => _cloudwatches ?? (_cloudwatches = new InputList()); + set => _cloudwatches = value; + } + + [Input("datadogs")] + private InputList? _datadogs; + public InputList Datadogs + { + get => _datadogs ?? (_datadogs = new InputList()); + set => _datadogs = value; + } + + [Input("dynatraces")] + private InputList? _dynatraces; + public InputList Dynatraces + { + get => _dynatraces ?? (_dynatraces = new InputList()); + set => _dynatraces = value; + } + + [Input("elasticsearches")] + private InputList? _elasticsearches; + public InputList Elasticsearches + { + get => _elasticsearches ?? (_elasticsearches = new InputList()); + set => _elasticsearches = value; + } + + [Input("gcms")] + private InputList? _gcms; + public InputList Gcms + { + get => _gcms ?? (_gcms = new InputList()); + set => _gcms = value; + } + + [Input("grafanaLokis")] + private InputList? _grafanaLokis; + public InputList GrafanaLokis + { + get => _grafanaLokis ?? (_grafanaLokis = new InputList()); + set => _grafanaLokis = value; + } + + [Input("graphites")] + private InputList? _graphites; + public InputList Graphites + { + get => _graphites ?? (_graphites = new InputList()); + set => _graphites = value; + } + + [Input("influxdbs")] + private InputList? _influxdbs; + public InputList Influxdbs + { + get => _influxdbs ?? (_influxdbs = new InputList()); + set => _influxdbs = value; + } + + [Input("instanas")] + private InputList? _instanas; + public InputList Instanas + { + get => _instanas ?? (_instanas = new InputList()); + set => _instanas = value; + } + + [Input("lightsteps")] + private InputList? _lightsteps; + public InputList Lightsteps + { + get => _lightsteps ?? (_lightsteps = new InputList()); + set => _lightsteps = value; + } + + [Input("newrelics")] + private InputList? _newrelics; + public InputList Newrelics + { + get => _newrelics ?? (_newrelics = new InputList()); + set => _newrelics = value; + } + + [Input("opentsdbs")] + private InputList? _opentsdbs; + public InputList Opentsdbs + { + get => _opentsdbs ?? (_opentsdbs = new InputList()); + set => _opentsdbs = value; + } + + [Input("pingdoms")] + private InputList? _pingdoms; + public InputList Pingdoms + { + get => _pingdoms ?? (_pingdoms = new InputList()); + set => _pingdoms = value; + } + + [Input("prometheuses")] + private InputList? _prometheuses; + public InputList Prometheuses + { + get => _prometheuses ?? (_prometheuses = new InputList()); + set => _prometheuses = value; + } + + [Input("redshifts")] + private InputList? _redshifts; + public InputList Redshifts + { + get => _redshifts ?? (_redshifts = new InputList()); + set => _redshifts = value; + } + + [Input("splunkObservabilities")] + private InputList? _splunkObservabilities; + public InputList SplunkObservabilities + { + get => _splunkObservabilities ?? (_splunkObservabilities = new InputList()); + set => _splunkObservabilities = value; + } + + [Input("splunks")] + private InputList? _splunks; + public InputList Splunks + { + get => _splunks ?? (_splunks = new InputList()); + set => _splunks = value; + } + + [Input("sumologics")] + private InputList? _sumologics; + public InputList Sumologics + { + get => _sumologics ?? (_sumologics = new InputList()); + set => _sumologics = value; + } + + [Input("thousandeyes")] + private InputList? _thousandeyes; + public InputList Thousandeyes + { + get => _thousandeyes ?? (_thousandeyes = new InputList()); + set => _thousandeyes = value; + } + + public SloObjectiveRawMetricQueryArgs() + { + } + public static new SloObjectiveRawMetricQueryArgs Empty => new SloObjectiveRawMetricQueryArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryBigqueryArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryBigqueryArgs.cs new file mode 100644 index 0000000..be98a0e --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryBigqueryArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryBigqueryArgs : global::Pulumi.ResourceArgs + { + [Input("location", required: true)] + public Input Location { get; set; } = null!; + + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveRawMetricQueryBigqueryArgs() + { + } + public static new SloObjectiveRawMetricQueryBigqueryArgs Empty => new SloObjectiveRawMetricQueryBigqueryArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryBigqueryGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryBigqueryGetArgs.cs new file mode 100644 index 0000000..e344c52 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryBigqueryGetArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryBigqueryGetArgs : global::Pulumi.ResourceArgs + { + [Input("location", required: true)] + public Input Location { get; set; } = null!; + + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveRawMetricQueryBigqueryGetArgs() + { + } + public static new SloObjectiveRawMetricQueryBigqueryGetArgs Empty => new SloObjectiveRawMetricQueryBigqueryGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryCloudwatchArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryCloudwatchArgs.cs new file mode 100644 index 0000000..caf35f8 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryCloudwatchArgs.cs @@ -0,0 +1,46 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryCloudwatchArgs : global::Pulumi.ResourceArgs + { + [Input("dimensions")] + private InputList? _dimensions; + public InputList Dimensions + { + get => _dimensions ?? (_dimensions = new InputList()); + set => _dimensions = value; + } + + [Input("json")] + public Input? Json { get; set; } + + [Input("metricName")] + public Input? MetricName { get; set; } + + [Input("namespace")] + public Input? Namespace { get; set; } + + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + [Input("sql")] + public Input? Sql { get; set; } + + [Input("stat")] + public Input? Stat { get; set; } + + public SloObjectiveRawMetricQueryCloudwatchArgs() + { + } + public static new SloObjectiveRawMetricQueryCloudwatchArgs Empty => new SloObjectiveRawMetricQueryCloudwatchArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryCloudwatchDimensionArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryCloudwatchDimensionArgs.cs new file mode 100644 index 0000000..e4a0713 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryCloudwatchDimensionArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryCloudwatchDimensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public SloObjectiveRawMetricQueryCloudwatchDimensionArgs() + { + } + public static new SloObjectiveRawMetricQueryCloudwatchDimensionArgs Empty => new SloObjectiveRawMetricQueryCloudwatchDimensionArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryCloudwatchDimensionGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryCloudwatchDimensionGetArgs.cs new file mode 100644 index 0000000..0a39f55 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryCloudwatchDimensionGetArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryCloudwatchDimensionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public SloObjectiveRawMetricQueryCloudwatchDimensionGetArgs() + { + } + public static new SloObjectiveRawMetricQueryCloudwatchDimensionGetArgs Empty => new SloObjectiveRawMetricQueryCloudwatchDimensionGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryCloudwatchGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryCloudwatchGetArgs.cs new file mode 100644 index 0000000..c1d041a --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryCloudwatchGetArgs.cs @@ -0,0 +1,46 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryCloudwatchGetArgs : global::Pulumi.ResourceArgs + { + [Input("dimensions")] + private InputList? _dimensions; + public InputList Dimensions + { + get => _dimensions ?? (_dimensions = new InputList()); + set => _dimensions = value; + } + + [Input("json")] + public Input? Json { get; set; } + + [Input("metricName")] + public Input? MetricName { get; set; } + + [Input("namespace")] + public Input? Namespace { get; set; } + + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + [Input("sql")] + public Input? Sql { get; set; } + + [Input("stat")] + public Input? Stat { get; set; } + + public SloObjectiveRawMetricQueryCloudwatchGetArgs() + { + } + public static new SloObjectiveRawMetricQueryCloudwatchGetArgs Empty => new SloObjectiveRawMetricQueryCloudwatchGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryDatadogArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryDatadogArgs.cs new file mode 100644 index 0000000..137df78 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryDatadogArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryDatadogArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveRawMetricQueryDatadogArgs() + { + } + public static new SloObjectiveRawMetricQueryDatadogArgs Empty => new SloObjectiveRawMetricQueryDatadogArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryDatadogGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryDatadogGetArgs.cs new file mode 100644 index 0000000..c0ddbef --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryDatadogGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryDatadogGetArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveRawMetricQueryDatadogGetArgs() + { + } + public static new SloObjectiveRawMetricQueryDatadogGetArgs Empty => new SloObjectiveRawMetricQueryDatadogGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryDynatraceArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryDynatraceArgs.cs new file mode 100644 index 0000000..575fc73 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryDynatraceArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryDynatraceArgs : global::Pulumi.ResourceArgs + { + [Input("metricSelector", required: true)] + public Input MetricSelector { get; set; } = null!; + + public SloObjectiveRawMetricQueryDynatraceArgs() + { + } + public static new SloObjectiveRawMetricQueryDynatraceArgs Empty => new SloObjectiveRawMetricQueryDynatraceArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryDynatraceGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryDynatraceGetArgs.cs new file mode 100644 index 0000000..208b945 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryDynatraceGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryDynatraceGetArgs : global::Pulumi.ResourceArgs + { + [Input("metricSelector", required: true)] + public Input MetricSelector { get; set; } = null!; + + public SloObjectiveRawMetricQueryDynatraceGetArgs() + { + } + public static new SloObjectiveRawMetricQueryDynatraceGetArgs Empty => new SloObjectiveRawMetricQueryDynatraceGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryElasticsearchArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryElasticsearchArgs.cs new file mode 100644 index 0000000..06c0cb7 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryElasticsearchArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryElasticsearchArgs : global::Pulumi.ResourceArgs + { + [Input("index", required: true)] + public Input Index { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveRawMetricQueryElasticsearchArgs() + { + } + public static new SloObjectiveRawMetricQueryElasticsearchArgs Empty => new SloObjectiveRawMetricQueryElasticsearchArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryElasticsearchGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryElasticsearchGetArgs.cs new file mode 100644 index 0000000..032d1c5 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryElasticsearchGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryElasticsearchGetArgs : global::Pulumi.ResourceArgs + { + [Input("index", required: true)] + public Input Index { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveRawMetricQueryElasticsearchGetArgs() + { + } + public static new SloObjectiveRawMetricQueryElasticsearchGetArgs Empty => new SloObjectiveRawMetricQueryElasticsearchGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGcmArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGcmArgs.cs new file mode 100644 index 0000000..4ff42dc --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGcmArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryGcmArgs : global::Pulumi.ResourceArgs + { + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveRawMetricQueryGcmArgs() + { + } + public static new SloObjectiveRawMetricQueryGcmArgs Empty => new SloObjectiveRawMetricQueryGcmArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGcmGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGcmGetArgs.cs new file mode 100644 index 0000000..95ca50b --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGcmGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryGcmGetArgs : global::Pulumi.ResourceArgs + { + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveRawMetricQueryGcmGetArgs() + { + } + public static new SloObjectiveRawMetricQueryGcmGetArgs Empty => new SloObjectiveRawMetricQueryGcmGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGetArgs.cs new file mode 100644 index 0000000..080d6c1 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGetArgs.cs @@ -0,0 +1,196 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryGetArgs : global::Pulumi.ResourceArgs + { + [Input("amazonPrometheuses")] + private InputList? _amazonPrometheuses; + public InputList AmazonPrometheuses + { + get => _amazonPrometheuses ?? (_amazonPrometheuses = new InputList()); + set => _amazonPrometheuses = value; + } + + [Input("appdynamics")] + private InputList? _appdynamics; + public InputList Appdynamics + { + get => _appdynamics ?? (_appdynamics = new InputList()); + set => _appdynamics = value; + } + + [Input("bigqueries")] + private InputList? _bigqueries; + public InputList Bigqueries + { + get => _bigqueries ?? (_bigqueries = new InputList()); + set => _bigqueries = value; + } + + [Input("cloudwatches")] + private InputList? _cloudwatches; + public InputList Cloudwatches + { + get => _cloudwatches ?? (_cloudwatches = new InputList()); + set => _cloudwatches = value; + } + + [Input("datadogs")] + private InputList? _datadogs; + public InputList Datadogs + { + get => _datadogs ?? (_datadogs = new InputList()); + set => _datadogs = value; + } + + [Input("dynatraces")] + private InputList? _dynatraces; + public InputList Dynatraces + { + get => _dynatraces ?? (_dynatraces = new InputList()); + set => _dynatraces = value; + } + + [Input("elasticsearches")] + private InputList? _elasticsearches; + public InputList Elasticsearches + { + get => _elasticsearches ?? (_elasticsearches = new InputList()); + set => _elasticsearches = value; + } + + [Input("gcms")] + private InputList? _gcms; + public InputList Gcms + { + get => _gcms ?? (_gcms = new InputList()); + set => _gcms = value; + } + + [Input("grafanaLokis")] + private InputList? _grafanaLokis; + public InputList GrafanaLokis + { + get => _grafanaLokis ?? (_grafanaLokis = new InputList()); + set => _grafanaLokis = value; + } + + [Input("graphites")] + private InputList? _graphites; + public InputList Graphites + { + get => _graphites ?? (_graphites = new InputList()); + set => _graphites = value; + } + + [Input("influxdbs")] + private InputList? _influxdbs; + public InputList Influxdbs + { + get => _influxdbs ?? (_influxdbs = new InputList()); + set => _influxdbs = value; + } + + [Input("instanas")] + private InputList? _instanas; + public InputList Instanas + { + get => _instanas ?? (_instanas = new InputList()); + set => _instanas = value; + } + + [Input("lightsteps")] + private InputList? _lightsteps; + public InputList Lightsteps + { + get => _lightsteps ?? (_lightsteps = new InputList()); + set => _lightsteps = value; + } + + [Input("newrelics")] + private InputList? _newrelics; + public InputList Newrelics + { + get => _newrelics ?? (_newrelics = new InputList()); + set => _newrelics = value; + } + + [Input("opentsdbs")] + private InputList? _opentsdbs; + public InputList Opentsdbs + { + get => _opentsdbs ?? (_opentsdbs = new InputList()); + set => _opentsdbs = value; + } + + [Input("pingdoms")] + private InputList? _pingdoms; + public InputList Pingdoms + { + get => _pingdoms ?? (_pingdoms = new InputList()); + set => _pingdoms = value; + } + + [Input("prometheuses")] + private InputList? _prometheuses; + public InputList Prometheuses + { + get => _prometheuses ?? (_prometheuses = new InputList()); + set => _prometheuses = value; + } + + [Input("redshifts")] + private InputList? _redshifts; + public InputList Redshifts + { + get => _redshifts ?? (_redshifts = new InputList()); + set => _redshifts = value; + } + + [Input("splunkObservabilities")] + private InputList? _splunkObservabilities; + public InputList SplunkObservabilities + { + get => _splunkObservabilities ?? (_splunkObservabilities = new InputList()); + set => _splunkObservabilities = value; + } + + [Input("splunks")] + private InputList? _splunks; + public InputList Splunks + { + get => _splunks ?? (_splunks = new InputList()); + set => _splunks = value; + } + + [Input("sumologics")] + private InputList? _sumologics; + public InputList Sumologics + { + get => _sumologics ?? (_sumologics = new InputList()); + set => _sumologics = value; + } + + [Input("thousandeyes")] + private InputList? _thousandeyes; + public InputList Thousandeyes + { + get => _thousandeyes ?? (_thousandeyes = new InputList()); + set => _thousandeyes = value; + } + + public SloObjectiveRawMetricQueryGetArgs() + { + } + public static new SloObjectiveRawMetricQueryGetArgs Empty => new SloObjectiveRawMetricQueryGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGrafanaLokiArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGrafanaLokiArgs.cs new file mode 100644 index 0000000..1ffe272 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGrafanaLokiArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryGrafanaLokiArgs : global::Pulumi.ResourceArgs + { + [Input("logql", required: true)] + public Input Logql { get; set; } = null!; + + public SloObjectiveRawMetricQueryGrafanaLokiArgs() + { + } + public static new SloObjectiveRawMetricQueryGrafanaLokiArgs Empty => new SloObjectiveRawMetricQueryGrafanaLokiArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGrafanaLokiGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGrafanaLokiGetArgs.cs new file mode 100644 index 0000000..faa9e68 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGrafanaLokiGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryGrafanaLokiGetArgs : global::Pulumi.ResourceArgs + { + [Input("logql", required: true)] + public Input Logql { get; set; } = null!; + + public SloObjectiveRawMetricQueryGrafanaLokiGetArgs() + { + } + public static new SloObjectiveRawMetricQueryGrafanaLokiGetArgs Empty => new SloObjectiveRawMetricQueryGrafanaLokiGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGraphiteArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGraphiteArgs.cs new file mode 100644 index 0000000..aaad81b --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGraphiteArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryGraphiteArgs : global::Pulumi.ResourceArgs + { + [Input("metricPath", required: true)] + public Input MetricPath { get; set; } = null!; + + public SloObjectiveRawMetricQueryGraphiteArgs() + { + } + public static new SloObjectiveRawMetricQueryGraphiteArgs Empty => new SloObjectiveRawMetricQueryGraphiteArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGraphiteGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGraphiteGetArgs.cs new file mode 100644 index 0000000..1c493a6 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryGraphiteGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryGraphiteGetArgs : global::Pulumi.ResourceArgs + { + [Input("metricPath", required: true)] + public Input MetricPath { get; set; } = null!; + + public SloObjectiveRawMetricQueryGraphiteGetArgs() + { + } + public static new SloObjectiveRawMetricQueryGraphiteGetArgs Empty => new SloObjectiveRawMetricQueryGraphiteGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInfluxdbArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInfluxdbArgs.cs new file mode 100644 index 0000000..934c19e --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInfluxdbArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryInfluxdbArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveRawMetricQueryInfluxdbArgs() + { + } + public static new SloObjectiveRawMetricQueryInfluxdbArgs Empty => new SloObjectiveRawMetricQueryInfluxdbArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInfluxdbGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInfluxdbGetArgs.cs new file mode 100644 index 0000000..88b2a22 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInfluxdbGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryInfluxdbGetArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveRawMetricQueryInfluxdbGetArgs() + { + } + public static new SloObjectiveRawMetricQueryInfluxdbGetArgs Empty => new SloObjectiveRawMetricQueryInfluxdbGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaApplicationArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaApplicationArgs.cs new file mode 100644 index 0000000..2d1d70c --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaApplicationArgs.cs @@ -0,0 +1,43 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryInstanaApplicationArgs : global::Pulumi.ResourceArgs + { + [Input("aggregation", required: true)] + public Input Aggregation { get; set; } = null!; + + [Input("apiQuery", required: true)] + public Input ApiQuery { get; set; } = null!; + + [Input("groupBies", required: true)] + private InputList? _groupBies; + public InputList GroupBies + { + get => _groupBies ?? (_groupBies = new InputList()); + set => _groupBies = value; + } + + [Input("includeInternal")] + public Input? IncludeInternal { get; set; } + + [Input("includeSynthetic")] + public Input? IncludeSynthetic { get; set; } + + [Input("metricId", required: true)] + public Input MetricId { get; set; } = null!; + + public SloObjectiveRawMetricQueryInstanaApplicationArgs() + { + } + public static new SloObjectiveRawMetricQueryInstanaApplicationArgs Empty => new SloObjectiveRawMetricQueryInstanaApplicationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaApplicationGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaApplicationGetArgs.cs new file mode 100644 index 0000000..20efc21 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaApplicationGetArgs.cs @@ -0,0 +1,43 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryInstanaApplicationGetArgs : global::Pulumi.ResourceArgs + { + [Input("aggregation", required: true)] + public Input Aggregation { get; set; } = null!; + + [Input("apiQuery", required: true)] + public Input ApiQuery { get; set; } = null!; + + [Input("groupBies", required: true)] + private InputList? _groupBies; + public InputList GroupBies + { + get => _groupBies ?? (_groupBies = new InputList()); + set => _groupBies = value; + } + + [Input("includeInternal")] + public Input? IncludeInternal { get; set; } + + [Input("includeSynthetic")] + public Input? IncludeSynthetic { get; set; } + + [Input("metricId", required: true)] + public Input MetricId { get; set; } = null!; + + public SloObjectiveRawMetricQueryInstanaApplicationGetArgs() + { + } + public static new SloObjectiveRawMetricQueryInstanaApplicationGetArgs Empty => new SloObjectiveRawMetricQueryInstanaApplicationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs.cs new file mode 100644 index 0000000..34f913b --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs : global::Pulumi.ResourceArgs + { + [Input("tag", required: true)] + public Input Tag { get; set; } = null!; + + [Input("tagEntity", required: true)] + public Input TagEntity { get; set; } = null!; + + [Input("tagSecondLevelKey")] + public Input? TagSecondLevelKey { get; set; } + + public SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs() + { + } + public static new SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs Empty => new SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaApplicationGroupByGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaApplicationGroupByGetArgs.cs new file mode 100644 index 0000000..c6c9f66 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaApplicationGroupByGetArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryInstanaApplicationGroupByGetArgs : global::Pulumi.ResourceArgs + { + [Input("tag", required: true)] + public Input Tag { get; set; } = null!; + + [Input("tagEntity", required: true)] + public Input TagEntity { get; set; } = null!; + + [Input("tagSecondLevelKey")] + public Input? TagSecondLevelKey { get; set; } + + public SloObjectiveRawMetricQueryInstanaApplicationGroupByGetArgs() + { + } + public static new SloObjectiveRawMetricQueryInstanaApplicationGroupByGetArgs Empty => new SloObjectiveRawMetricQueryInstanaApplicationGroupByGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaArgs.cs new file mode 100644 index 0000000..449d17b --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryInstanaArgs : global::Pulumi.ResourceArgs + { + [Input("applications")] + private InputList? _applications; + public InputList Applications + { + get => _applications ?? (_applications = new InputList()); + set => _applications = value; + } + + [Input("infrastructures")] + private InputList? _infrastructures; + public InputList Infrastructures + { + get => _infrastructures ?? (_infrastructures = new InputList()); + set => _infrastructures = value; + } + + [Input("metricType", required: true)] + public Input MetricType { get; set; } = null!; + + public SloObjectiveRawMetricQueryInstanaArgs() + { + } + public static new SloObjectiveRawMetricQueryInstanaArgs Empty => new SloObjectiveRawMetricQueryInstanaArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaGetArgs.cs new file mode 100644 index 0000000..5400046 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryInstanaGetArgs : global::Pulumi.ResourceArgs + { + [Input("applications")] + private InputList? _applications; + public InputList Applications + { + get => _applications ?? (_applications = new InputList()); + set => _applications = value; + } + + [Input("infrastructures")] + private InputList? _infrastructures; + public InputList Infrastructures + { + get => _infrastructures ?? (_infrastructures = new InputList()); + set => _infrastructures = value; + } + + [Input("metricType", required: true)] + public Input MetricType { get; set; } = null!; + + public SloObjectiveRawMetricQueryInstanaGetArgs() + { + } + public static new SloObjectiveRawMetricQueryInstanaGetArgs Empty => new SloObjectiveRawMetricQueryInstanaGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaInfrastructureArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaInfrastructureArgs.cs new file mode 100644 index 0000000..7f8f29e --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaInfrastructureArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryInstanaInfrastructureArgs : global::Pulumi.ResourceArgs + { + [Input("metricId", required: true)] + public Input MetricId { get; set; } = null!; + + [Input("metricRetrievalMethod", required: true)] + public Input MetricRetrievalMethod { get; set; } = null!; + + [Input("pluginId", required: true)] + public Input PluginId { get; set; } = null!; + + [Input("query")] + public Input? Query { get; set; } + + [Input("snapshotId")] + public Input? SnapshotId { get; set; } + + public SloObjectiveRawMetricQueryInstanaInfrastructureArgs() + { + } + public static new SloObjectiveRawMetricQueryInstanaInfrastructureArgs Empty => new SloObjectiveRawMetricQueryInstanaInfrastructureArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaInfrastructureGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaInfrastructureGetArgs.cs new file mode 100644 index 0000000..b277c1a --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryInstanaInfrastructureGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryInstanaInfrastructureGetArgs : global::Pulumi.ResourceArgs + { + [Input("metricId", required: true)] + public Input MetricId { get; set; } = null!; + + [Input("metricRetrievalMethod", required: true)] + public Input MetricRetrievalMethod { get; set; } = null!; + + [Input("pluginId", required: true)] + public Input PluginId { get; set; } = null!; + + [Input("query")] + public Input? Query { get; set; } + + [Input("snapshotId")] + public Input? SnapshotId { get; set; } + + public SloObjectiveRawMetricQueryInstanaInfrastructureGetArgs() + { + } + public static new SloObjectiveRawMetricQueryInstanaInfrastructureGetArgs Empty => new SloObjectiveRawMetricQueryInstanaInfrastructureGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryLightstepArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryLightstepArgs.cs new file mode 100644 index 0000000..84d77ee --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryLightstepArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryLightstepArgs : global::Pulumi.ResourceArgs + { + [Input("percentile")] + public Input? Percentile { get; set; } + + [Input("streamId")] + public Input? StreamId { get; set; } + + [Input("typeOfData", required: true)] + public Input TypeOfData { get; set; } = null!; + + [Input("uql")] + public Input? Uql { get; set; } + + public SloObjectiveRawMetricQueryLightstepArgs() + { + } + public static new SloObjectiveRawMetricQueryLightstepArgs Empty => new SloObjectiveRawMetricQueryLightstepArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryLightstepGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryLightstepGetArgs.cs new file mode 100644 index 0000000..6135709 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryLightstepGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryLightstepGetArgs : global::Pulumi.ResourceArgs + { + [Input("percentile")] + public Input? Percentile { get; set; } + + [Input("streamId")] + public Input? StreamId { get; set; } + + [Input("typeOfData", required: true)] + public Input TypeOfData { get; set; } = null!; + + [Input("uql")] + public Input? Uql { get; set; } + + public SloObjectiveRawMetricQueryLightstepGetArgs() + { + } + public static new SloObjectiveRawMetricQueryLightstepGetArgs Empty => new SloObjectiveRawMetricQueryLightstepGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryNewrelicArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryNewrelicArgs.cs new file mode 100644 index 0000000..4f8f412 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryNewrelicArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryNewrelicArgs : global::Pulumi.ResourceArgs + { + [Input("nrql", required: true)] + public Input Nrql { get; set; } = null!; + + public SloObjectiveRawMetricQueryNewrelicArgs() + { + } + public static new SloObjectiveRawMetricQueryNewrelicArgs Empty => new SloObjectiveRawMetricQueryNewrelicArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryNewrelicGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryNewrelicGetArgs.cs new file mode 100644 index 0000000..850ccf9 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryNewrelicGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryNewrelicGetArgs : global::Pulumi.ResourceArgs + { + [Input("nrql", required: true)] + public Input Nrql { get; set; } = null!; + + public SloObjectiveRawMetricQueryNewrelicGetArgs() + { + } + public static new SloObjectiveRawMetricQueryNewrelicGetArgs Empty => new SloObjectiveRawMetricQueryNewrelicGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryOpentsdbArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryOpentsdbArgs.cs new file mode 100644 index 0000000..d8a3eec --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryOpentsdbArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryOpentsdbArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveRawMetricQueryOpentsdbArgs() + { + } + public static new SloObjectiveRawMetricQueryOpentsdbArgs Empty => new SloObjectiveRawMetricQueryOpentsdbArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryOpentsdbGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryOpentsdbGetArgs.cs new file mode 100644 index 0000000..76c56d3 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryOpentsdbGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryOpentsdbGetArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveRawMetricQueryOpentsdbGetArgs() + { + } + public static new SloObjectiveRawMetricQueryOpentsdbGetArgs Empty => new SloObjectiveRawMetricQueryOpentsdbGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryPingdomArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryPingdomArgs.cs new file mode 100644 index 0000000..dffbb54 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryPingdomArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryPingdomArgs : global::Pulumi.ResourceArgs + { + [Input("checkId", required: true)] + public Input CheckId { get; set; } = null!; + + [Input("checkType")] + public Input? CheckType { get; set; } + + [Input("status")] + public Input? Status { get; set; } + + public SloObjectiveRawMetricQueryPingdomArgs() + { + } + public static new SloObjectiveRawMetricQueryPingdomArgs Empty => new SloObjectiveRawMetricQueryPingdomArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryPingdomGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryPingdomGetArgs.cs new file mode 100644 index 0000000..6680ca1 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryPingdomGetArgs.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryPingdomGetArgs : global::Pulumi.ResourceArgs + { + [Input("checkId", required: true)] + public Input CheckId { get; set; } = null!; + + [Input("checkType")] + public Input? CheckType { get; set; } + + [Input("status")] + public Input? Status { get; set; } + + public SloObjectiveRawMetricQueryPingdomGetArgs() + { + } + public static new SloObjectiveRawMetricQueryPingdomGetArgs Empty => new SloObjectiveRawMetricQueryPingdomGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryPrometheusArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryPrometheusArgs.cs new file mode 100644 index 0000000..3cf9f85 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryPrometheusArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryPrometheusArgs : global::Pulumi.ResourceArgs + { + [Input("promql", required: true)] + public Input Promql { get; set; } = null!; + + public SloObjectiveRawMetricQueryPrometheusArgs() + { + } + public static new SloObjectiveRawMetricQueryPrometheusArgs Empty => new SloObjectiveRawMetricQueryPrometheusArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryPrometheusGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryPrometheusGetArgs.cs new file mode 100644 index 0000000..480e646 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryPrometheusGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryPrometheusGetArgs : global::Pulumi.ResourceArgs + { + [Input("promql", required: true)] + public Input Promql { get; set; } = null!; + + public SloObjectiveRawMetricQueryPrometheusGetArgs() + { + } + public static new SloObjectiveRawMetricQueryPrometheusGetArgs Empty => new SloObjectiveRawMetricQueryPrometheusGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryRedshiftArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryRedshiftArgs.cs new file mode 100644 index 0000000..12157f9 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryRedshiftArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryRedshiftArgs : global::Pulumi.ResourceArgs + { + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + [Input("databaseName", required: true)] + public Input DatabaseName { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + public SloObjectiveRawMetricQueryRedshiftArgs() + { + } + public static new SloObjectiveRawMetricQueryRedshiftArgs Empty => new SloObjectiveRawMetricQueryRedshiftArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryRedshiftGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryRedshiftGetArgs.cs new file mode 100644 index 0000000..5a27070 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryRedshiftGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryRedshiftGetArgs : global::Pulumi.ResourceArgs + { + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + [Input("databaseName", required: true)] + public Input DatabaseName { get; set; } = null!; + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + public SloObjectiveRawMetricQueryRedshiftGetArgs() + { + } + public static new SloObjectiveRawMetricQueryRedshiftGetArgs Empty => new SloObjectiveRawMetricQueryRedshiftGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySplunkArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySplunkArgs.cs new file mode 100644 index 0000000..1d05b1a --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySplunkArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQuerySplunkArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveRawMetricQuerySplunkArgs() + { + } + public static new SloObjectiveRawMetricQuerySplunkArgs Empty => new SloObjectiveRawMetricQuerySplunkArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySplunkGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySplunkGetArgs.cs new file mode 100644 index 0000000..8c15a3b --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySplunkGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQuerySplunkGetArgs : global::Pulumi.ResourceArgs + { + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public SloObjectiveRawMetricQuerySplunkGetArgs() + { + } + public static new SloObjectiveRawMetricQuerySplunkGetArgs Empty => new SloObjectiveRawMetricQuerySplunkGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySplunkObservabilityArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySplunkObservabilityArgs.cs new file mode 100644 index 0000000..d248a0e --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySplunkObservabilityArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQuerySplunkObservabilityArgs : global::Pulumi.ResourceArgs + { + [Input("program", required: true)] + public Input Program { get; set; } = null!; + + public SloObjectiveRawMetricQuerySplunkObservabilityArgs() + { + } + public static new SloObjectiveRawMetricQuerySplunkObservabilityArgs Empty => new SloObjectiveRawMetricQuerySplunkObservabilityArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySplunkObservabilityGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySplunkObservabilityGetArgs.cs new file mode 100644 index 0000000..9975b0e --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySplunkObservabilityGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQuerySplunkObservabilityGetArgs : global::Pulumi.ResourceArgs + { + [Input("program", required: true)] + public Input Program { get; set; } = null!; + + public SloObjectiveRawMetricQuerySplunkObservabilityGetArgs() + { + } + public static new SloObjectiveRawMetricQuerySplunkObservabilityGetArgs Empty => new SloObjectiveRawMetricQuerySplunkObservabilityGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySumologicArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySumologicArgs.cs new file mode 100644 index 0000000..8cb50f6 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySumologicArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQuerySumologicArgs : global::Pulumi.ResourceArgs + { + [Input("quantization")] + public Input? Quantization { get; set; } + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + [Input("rollup")] + public Input? Rollup { get; set; } + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public SloObjectiveRawMetricQuerySumologicArgs() + { + } + public static new SloObjectiveRawMetricQuerySumologicArgs Empty => new SloObjectiveRawMetricQuerySumologicArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySumologicGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySumologicGetArgs.cs new file mode 100644 index 0000000..131382d --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQuerySumologicGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQuerySumologicGetArgs : global::Pulumi.ResourceArgs + { + [Input("quantization")] + public Input? Quantization { get; set; } + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + [Input("rollup")] + public Input? Rollup { get; set; } + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public SloObjectiveRawMetricQuerySumologicGetArgs() + { + } + public static new SloObjectiveRawMetricQuerySumologicGetArgs Empty => new SloObjectiveRawMetricQuerySumologicGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryThousandeyeArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryThousandeyeArgs.cs new file mode 100644 index 0000000..698b856 --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryThousandeyeArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryThousandeyeArgs : global::Pulumi.ResourceArgs + { + [Input("testId", required: true)] + public Input TestId { get; set; } = null!; + + public SloObjectiveRawMetricQueryThousandeyeArgs() + { + } + public static new SloObjectiveRawMetricQueryThousandeyeArgs Empty => new SloObjectiveRawMetricQueryThousandeyeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryThousandeyeGetArgs.cs b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryThousandeyeGetArgs.cs new file mode 100644 index 0000000..b7afd1a --- /dev/null +++ b/sdk/dotnet/Inputs/SloObjectiveRawMetricQueryThousandeyeGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloObjectiveRawMetricQueryThousandeyeGetArgs : global::Pulumi.ResourceArgs + { + [Input("testId", required: true)] + public Input TestId { get; set; } = null!; + + public SloObjectiveRawMetricQueryThousandeyeGetArgs() + { + } + public static new SloObjectiveRawMetricQueryThousandeyeGetArgs Empty => new SloObjectiveRawMetricQueryThousandeyeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloTimeWindowArgs.cs b/sdk/dotnet/Inputs/SloTimeWindowArgs.cs new file mode 100644 index 0000000..c51d39a --- /dev/null +++ b/sdk/dotnet/Inputs/SloTimeWindowArgs.cs @@ -0,0 +1,62 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloTimeWindowArgs : global::Pulumi.ResourceArgs + { + [Input("calendars")] + private InputList? _calendars; + + /// + /// Alert Policies attached to SLO + /// + public InputList Calendars + { + get => _calendars ?? (_calendars = new InputList()); + set => _calendars = value; + } + + /// + /// Count of the time unit + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + /// + /// Is the window moving or not + /// + [Input("isRolling")] + public Input? IsRolling { get; set; } + + [Input("period")] + private InputMap? _period; + + /// + /// Period between start time and added count + /// + public InputMap Period + { + get => _period ?? (_period = new InputMap()); + set => _period = value; + } + + /// + /// Unit of time + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + public SloTimeWindowArgs() + { + } + public static new SloTimeWindowArgs Empty => new SloTimeWindowArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloTimeWindowCalendarArgs.cs b/sdk/dotnet/Inputs/SloTimeWindowCalendarArgs.cs new file mode 100644 index 0000000..902fbef --- /dev/null +++ b/sdk/dotnet/Inputs/SloTimeWindowCalendarArgs.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.Nobl9.Inputs +{ + + public sealed class SloTimeWindowCalendarArgs : global::Pulumi.ResourceArgs + { + [Input("startTime", required: true)] + public Input StartTime { get; set; } = null!; + + [Input("timeZone", required: true)] + public Input TimeZone { get; set; } = null!; + + public SloTimeWindowCalendarArgs() + { + } + public static new SloTimeWindowCalendarArgs Empty => new SloTimeWindowCalendarArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloTimeWindowCalendarGetArgs.cs b/sdk/dotnet/Inputs/SloTimeWindowCalendarGetArgs.cs new file mode 100644 index 0000000..b9c875f --- /dev/null +++ b/sdk/dotnet/Inputs/SloTimeWindowCalendarGetArgs.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.Nobl9.Inputs +{ + + public sealed class SloTimeWindowCalendarGetArgs : global::Pulumi.ResourceArgs + { + [Input("startTime", required: true)] + public Input StartTime { get; set; } = null!; + + [Input("timeZone", required: true)] + public Input TimeZone { get; set; } = null!; + + public SloTimeWindowCalendarGetArgs() + { + } + public static new SloTimeWindowCalendarGetArgs Empty => new SloTimeWindowCalendarGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SloTimeWindowGetArgs.cs b/sdk/dotnet/Inputs/SloTimeWindowGetArgs.cs new file mode 100644 index 0000000..282e5ca --- /dev/null +++ b/sdk/dotnet/Inputs/SloTimeWindowGetArgs.cs @@ -0,0 +1,62 @@ +// *** 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.Nobl9.Inputs +{ + + public sealed class SloTimeWindowGetArgs : global::Pulumi.ResourceArgs + { + [Input("calendars")] + private InputList? _calendars; + + /// + /// Alert Policies attached to SLO + /// + public InputList Calendars + { + get => _calendars ?? (_calendars = new InputList()); + set => _calendars = value; + } + + /// + /// Count of the time unit + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + /// + /// Is the window moving or not + /// + [Input("isRolling")] + public Input? IsRolling { get; set; } + + [Input("period")] + private InputMap? _period; + + /// + /// Period between start time and added count + /// + public InputMap Period + { + get => _period ?? (_period = new InputMap()); + set => _period = value; + } + + /// + /// Unit of time + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + public SloTimeWindowGetArgs() + { + } + public static new SloTimeWindowGetArgs Empty => new SloTimeWindowGetArgs(); + } +} diff --git a/sdk/dotnet/Outputs/AgentAmazonPrometheusConfig.cs b/sdk/dotnet/Outputs/AgentAmazonPrometheusConfig.cs new file mode 100644 index 0000000..b4c04a1 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentAmazonPrometheusConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentAmazonPrometheusConfig + { + /// + /// AWS region e.g., eu-central-1 + /// + public readonly string Region; + /// + /// Base URL to Amazon Prometheus server. + /// + public readonly string Url; + + [OutputConstructor] + private AgentAmazonPrometheusConfig( + string region, + + string url) + { + Region = region; + Url = url; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentAppdynamicsConfig.cs b/sdk/dotnet/Outputs/AgentAppdynamicsConfig.cs new file mode 100644 index 0000000..3db0319 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentAppdynamicsConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentAppdynamicsConfig + { + /// + /// Base URL to the AppDynamics Controller. + /// + public readonly string Url; + + [OutputConstructor] + private AgentAppdynamicsConfig(string url) + { + Url = url; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentBigqueryConfig.cs b/sdk/dotnet/Outputs/AgentBigqueryConfig.cs new file mode 100644 index 0000000..5b751f8 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentBigqueryConfig.cs @@ -0,0 +1,21 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentBigqueryConfig + { + [OutputConstructor] + private AgentBigqueryConfig() + { + } + } +} diff --git a/sdk/dotnet/Outputs/AgentCloudwatchConfig.cs b/sdk/dotnet/Outputs/AgentCloudwatchConfig.cs new file mode 100644 index 0000000..33f5027 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentCloudwatchConfig.cs @@ -0,0 +1,21 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentCloudwatchConfig + { + [OutputConstructor] + private AgentCloudwatchConfig() + { + } + } +} diff --git a/sdk/dotnet/Outputs/AgentDatadogConfig.cs b/sdk/dotnet/Outputs/AgentDatadogConfig.cs new file mode 100644 index 0000000..393f61e --- /dev/null +++ b/sdk/dotnet/Outputs/AgentDatadogConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentDatadogConfig + { + /// + /// `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union) + /// + public readonly string Site; + + [OutputConstructor] + private AgentDatadogConfig(string site) + { + Site = site; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentDynatraceConfig.cs b/sdk/dotnet/Outputs/AgentDynatraceConfig.cs new file mode 100644 index 0000000..90b0cfe --- /dev/null +++ b/sdk/dotnet/Outputs/AgentDynatraceConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentDynatraceConfig + { + /// + /// Dynatrace API URL. + /// + public readonly string Url; + + [OutputConstructor] + private AgentDynatraceConfig(string url) + { + Url = url; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentElasticsearchConfig.cs b/sdk/dotnet/Outputs/AgentElasticsearchConfig.cs new file mode 100644 index 0000000..75f135e --- /dev/null +++ b/sdk/dotnet/Outputs/AgentElasticsearchConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentElasticsearchConfig + { + /// + /// API URL endpoint to the Elasticsearch's instance. + /// + public readonly string Url; + + [OutputConstructor] + private AgentElasticsearchConfig(string url) + { + Url = url; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentGcmConfig.cs b/sdk/dotnet/Outputs/AgentGcmConfig.cs new file mode 100644 index 0000000..634d1c3 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentGcmConfig.cs @@ -0,0 +1,21 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentGcmConfig + { + [OutputConstructor] + private AgentGcmConfig() + { + } + } +} diff --git a/sdk/dotnet/Outputs/AgentGrafanaLokiConfig.cs b/sdk/dotnet/Outputs/AgentGrafanaLokiConfig.cs new file mode 100644 index 0000000..6aab699 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentGrafanaLokiConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentGrafanaLokiConfig + { + /// + /// API URL endpoint to the Grafana Loki instance. + /// + public readonly string Url; + + [OutputConstructor] + private AgentGrafanaLokiConfig(string url) + { + Url = url; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentGraphiteConfig.cs b/sdk/dotnet/Outputs/AgentGraphiteConfig.cs new file mode 100644 index 0000000..e805775 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentGraphiteConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentGraphiteConfig + { + /// + /// API URL endpoint to the Graphite's instance. + /// + public readonly string Url; + + [OutputConstructor] + private AgentGraphiteConfig(string url) + { + Url = url; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentInfluxdbConfig.cs b/sdk/dotnet/Outputs/AgentInfluxdbConfig.cs new file mode 100644 index 0000000..f01f504 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentInfluxdbConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentInfluxdbConfig + { + /// + /// API URL endpoint to the InfluxDB's instance. + /// + public readonly string Url; + + [OutputConstructor] + private AgentInfluxdbConfig(string url) + { + Url = url; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentInstanaConfig.cs b/sdk/dotnet/Outputs/AgentInstanaConfig.cs new file mode 100644 index 0000000..e579110 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentInstanaConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentInstanaConfig + { + /// + /// API URL endpoint to the InfluxDB's instance. + /// + public readonly string Url; + + [OutputConstructor] + private AgentInstanaConfig(string url) + { + Url = url; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentLightstepConfig.cs b/sdk/dotnet/Outputs/AgentLightstepConfig.cs new file mode 100644 index 0000000..a54f1c3 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentLightstepConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentLightstepConfig + { + /// + /// Organization name registered in Lightstep. + /// + public readonly string Organization; + /// + /// Name of the Lightstep project. + /// + public readonly string Project; + + [OutputConstructor] + private AgentLightstepConfig( + string organization, + + string project) + { + Organization = organization; + Project = project; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentNewrelicConfig.cs b/sdk/dotnet/Outputs/AgentNewrelicConfig.cs new file mode 100644 index 0000000..bcbbc57 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentNewrelicConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentNewrelicConfig + { + /// + /// ID number assigned to the New Relic user account. + /// + public readonly string AccountId; + + [OutputConstructor] + private AgentNewrelicConfig(string accountId) + { + AccountId = accountId; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentOpentsdbConfig.cs b/sdk/dotnet/Outputs/AgentOpentsdbConfig.cs new file mode 100644 index 0000000..dba6262 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentOpentsdbConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentOpentsdbConfig + { + /// + /// OpenTSDB cluster URL. + /// + public readonly string Url; + + [OutputConstructor] + private AgentOpentsdbConfig(string url) + { + Url = url; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentPingdomConfig.cs b/sdk/dotnet/Outputs/AgentPingdomConfig.cs new file mode 100644 index 0000000..c3f49a4 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentPingdomConfig.cs @@ -0,0 +1,21 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentPingdomConfig + { + [OutputConstructor] + private AgentPingdomConfig() + { + } + } +} diff --git a/sdk/dotnet/Outputs/AgentPrometheusConfig.cs b/sdk/dotnet/Outputs/AgentPrometheusConfig.cs new file mode 100644 index 0000000..cc16fca --- /dev/null +++ b/sdk/dotnet/Outputs/AgentPrometheusConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentPrometheusConfig + { + /// + /// Base URL to Prometheus server. + /// + public readonly string Url; + + [OutputConstructor] + private AgentPrometheusConfig(string url) + { + Url = url; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentQueryDelay.cs b/sdk/dotnet/Outputs/AgentQueryDelay.cs new file mode 100644 index 0000000..484cc6e --- /dev/null +++ b/sdk/dotnet/Outputs/AgentQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private AgentQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentRedshiftConfig.cs b/sdk/dotnet/Outputs/AgentRedshiftConfig.cs new file mode 100644 index 0000000..f504bcf --- /dev/null +++ b/sdk/dotnet/Outputs/AgentRedshiftConfig.cs @@ -0,0 +1,21 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentRedshiftConfig + { + [OutputConstructor] + private AgentRedshiftConfig() + { + } + } +} diff --git a/sdk/dotnet/Outputs/AgentSplunkConfig.cs b/sdk/dotnet/Outputs/AgentSplunkConfig.cs new file mode 100644 index 0000000..b6f97a0 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentSplunkConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentSplunkConfig + { + /// + /// Base API URL to the Splunk Search app. + /// + public readonly string Url; + + [OutputConstructor] + private AgentSplunkConfig(string url) + { + Url = url; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentSplunkObservabilityConfig.cs b/sdk/dotnet/Outputs/AgentSplunkObservabilityConfig.cs new file mode 100644 index 0000000..02fb6a5 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentSplunkObservabilityConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentSplunkObservabilityConfig + { + /// + /// SplunkObservability Realm. + /// + public readonly string Realm; + + [OutputConstructor] + private AgentSplunkObservabilityConfig(string realm) + { + Realm = realm; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentSumologicConfig.cs b/sdk/dotnet/Outputs/AgentSumologicConfig.cs new file mode 100644 index 0000000..691ebf7 --- /dev/null +++ b/sdk/dotnet/Outputs/AgentSumologicConfig.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentSumologicConfig + { + /// + /// Sumo Logic API URL. + /// + public readonly string Url; + + [OutputConstructor] + private AgentSumologicConfig(string url) + { + Url = url; + } + } +} diff --git a/sdk/dotnet/Outputs/AgentThousandeyesConfig.cs b/sdk/dotnet/Outputs/AgentThousandeyesConfig.cs new file mode 100644 index 0000000..84a318f --- /dev/null +++ b/sdk/dotnet/Outputs/AgentThousandeyesConfig.cs @@ -0,0 +1,21 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AgentThousandeyesConfig + { + [OutputConstructor] + private AgentThousandeyesConfig() + { + } + } +} diff --git a/sdk/dotnet/Outputs/AlertPolicyAlertMethod.cs b/sdk/dotnet/Outputs/AlertPolicyAlertMethod.cs new file mode 100644 index 0000000..b5c0da8 --- /dev/null +++ b/sdk/dotnet/Outputs/AlertPolicyAlertMethod.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AlertPolicyAlertMethod + { + /// + /// The name of the previously defined alert method. + /// + public readonly string Name; + /// + /// Project name the Alert Method is in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). If not defined, Nobl9 returns a default value for this field. + /// + public readonly string? Project; + + [OutputConstructor] + private AlertPolicyAlertMethod( + string name, + + string? project) + { + Name = name; + Project = project; + } + } +} diff --git a/sdk/dotnet/Outputs/AlertPolicyCondition.cs b/sdk/dotnet/Outputs/AlertPolicyCondition.cs new file mode 100644 index 0000000..0a53fe7 --- /dev/null +++ b/sdk/dotnet/Outputs/AlertPolicyCondition.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class AlertPolicyCondition + { + /// + /// Indicates how long a given condition needs to be valid to mark the condition as true. + /// + public readonly string? LastsFor; + /// + /// One of `timeToBurnBudget` | `burnRate` | `burnedBudget`. + /// + public readonly string Measurement; + /// + /// For `averageBurnRate`, it indicates how fast the error budget is burning. For `burnedBudget`, it tells how much error budget is already burned. + /// + public readonly double? Value; + /// + /// Used with `timeToBurnBudget`, indicates when the budget would be exhausted. The expected value is a string in time duration string format. + /// + public readonly string? ValueString; + + [OutputConstructor] + private AlertPolicyCondition( + string? lastsFor, + + string measurement, + + double? value, + + string? valueString) + { + LastsFor = lastsFor; + Measurement = measurement; + Value = value; + ValueString = valueString; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectAppdynamicsQueryDelay.cs b/sdk/dotnet/Outputs/DirectAppdynamicsQueryDelay.cs new file mode 100644 index 0000000..48b611c --- /dev/null +++ b/sdk/dotnet/Outputs/DirectAppdynamicsQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectAppdynamicsQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectAppdynamicsQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectBigqueryQueryDelay.cs b/sdk/dotnet/Outputs/DirectBigqueryQueryDelay.cs new file mode 100644 index 0000000..af36b62 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectBigqueryQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectBigqueryQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectBigqueryQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectCloudwatchHistoricalDataRetrieval.cs b/sdk/dotnet/Outputs/DirectCloudwatchHistoricalDataRetrieval.cs new file mode 100644 index 0000000..55ce275 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectCloudwatchHistoricalDataRetrieval.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectCloudwatchHistoricalDataRetrieval + { + /// + /// Used by default for any SLOs connected to this data source. + /// + public readonly ImmutableArray DefaultDurations; + /// + /// Defines the maximum period for which data can be retrieved. + /// + public readonly ImmutableArray MaxDurations; + + [OutputConstructor] + private DirectCloudwatchHistoricalDataRetrieval( + ImmutableArray defaultDurations, + + ImmutableArray maxDurations) + { + DefaultDurations = defaultDurations; + MaxDurations = maxDurations; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectCloudwatchHistoricalDataRetrievalDefaultDuration.cs b/sdk/dotnet/Outputs/DirectCloudwatchHistoricalDataRetrievalDefaultDuration.cs new file mode 100644 index 0000000..be56201 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectCloudwatchHistoricalDataRetrievalDefaultDuration.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectCloudwatchHistoricalDataRetrievalDefaultDuration + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private DirectCloudwatchHistoricalDataRetrievalDefaultDuration( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectCloudwatchHistoricalDataRetrievalMaxDuration.cs b/sdk/dotnet/Outputs/DirectCloudwatchHistoricalDataRetrievalMaxDuration.cs new file mode 100644 index 0000000..e1aed3d --- /dev/null +++ b/sdk/dotnet/Outputs/DirectCloudwatchHistoricalDataRetrievalMaxDuration.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectCloudwatchHistoricalDataRetrievalMaxDuration + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private DirectCloudwatchHistoricalDataRetrievalMaxDuration( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectCloudwatchQueryDelay.cs b/sdk/dotnet/Outputs/DirectCloudwatchQueryDelay.cs new file mode 100644 index 0000000..a131ccd --- /dev/null +++ b/sdk/dotnet/Outputs/DirectCloudwatchQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectCloudwatchQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectCloudwatchQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectDatadogHistoricalDataRetrieval.cs b/sdk/dotnet/Outputs/DirectDatadogHistoricalDataRetrieval.cs new file mode 100644 index 0000000..d9cf5e3 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectDatadogHistoricalDataRetrieval.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectDatadogHistoricalDataRetrieval + { + /// + /// Used by default for any SLOs connected to this data source. + /// + public readonly ImmutableArray DefaultDurations; + /// + /// Defines the maximum period for which data can be retrieved. + /// + public readonly ImmutableArray MaxDurations; + + [OutputConstructor] + private DirectDatadogHistoricalDataRetrieval( + ImmutableArray defaultDurations, + + ImmutableArray maxDurations) + { + DefaultDurations = defaultDurations; + MaxDurations = maxDurations; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectDatadogHistoricalDataRetrievalDefaultDuration.cs b/sdk/dotnet/Outputs/DirectDatadogHistoricalDataRetrievalDefaultDuration.cs new file mode 100644 index 0000000..08480cd --- /dev/null +++ b/sdk/dotnet/Outputs/DirectDatadogHistoricalDataRetrievalDefaultDuration.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectDatadogHistoricalDataRetrievalDefaultDuration + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private DirectDatadogHistoricalDataRetrievalDefaultDuration( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectDatadogHistoricalDataRetrievalMaxDuration.cs b/sdk/dotnet/Outputs/DirectDatadogHistoricalDataRetrievalMaxDuration.cs new file mode 100644 index 0000000..19b352f --- /dev/null +++ b/sdk/dotnet/Outputs/DirectDatadogHistoricalDataRetrievalMaxDuration.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectDatadogHistoricalDataRetrievalMaxDuration + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private DirectDatadogHistoricalDataRetrievalMaxDuration( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectDatadogQueryDelay.cs b/sdk/dotnet/Outputs/DirectDatadogQueryDelay.cs new file mode 100644 index 0000000..68aef80 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectDatadogQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectDatadogQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectDatadogQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectDynatraceHistoricalDataRetrieval.cs b/sdk/dotnet/Outputs/DirectDynatraceHistoricalDataRetrieval.cs new file mode 100644 index 0000000..9f5ccc9 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectDynatraceHistoricalDataRetrieval.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectDynatraceHistoricalDataRetrieval + { + /// + /// Used by default for any SLOs connected to this data source. + /// + public readonly ImmutableArray DefaultDurations; + /// + /// Defines the maximum period for which data can be retrieved. + /// + public readonly ImmutableArray MaxDurations; + + [OutputConstructor] + private DirectDynatraceHistoricalDataRetrieval( + ImmutableArray defaultDurations, + + ImmutableArray maxDurations) + { + DefaultDurations = defaultDurations; + MaxDurations = maxDurations; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectDynatraceHistoricalDataRetrievalDefaultDuration.cs b/sdk/dotnet/Outputs/DirectDynatraceHistoricalDataRetrievalDefaultDuration.cs new file mode 100644 index 0000000..de4cafc --- /dev/null +++ b/sdk/dotnet/Outputs/DirectDynatraceHistoricalDataRetrievalDefaultDuration.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectDynatraceHistoricalDataRetrievalDefaultDuration + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private DirectDynatraceHistoricalDataRetrievalDefaultDuration( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectDynatraceHistoricalDataRetrievalMaxDuration.cs b/sdk/dotnet/Outputs/DirectDynatraceHistoricalDataRetrievalMaxDuration.cs new file mode 100644 index 0000000..e4fd60b --- /dev/null +++ b/sdk/dotnet/Outputs/DirectDynatraceHistoricalDataRetrievalMaxDuration.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectDynatraceHistoricalDataRetrievalMaxDuration + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private DirectDynatraceHistoricalDataRetrievalMaxDuration( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectDynatraceQueryDelay.cs b/sdk/dotnet/Outputs/DirectDynatraceQueryDelay.cs new file mode 100644 index 0000000..00f35f3 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectDynatraceQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectDynatraceQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectDynatraceQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectGcmQueryDelay.cs b/sdk/dotnet/Outputs/DirectGcmQueryDelay.cs new file mode 100644 index 0000000..5f10f13 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectGcmQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectGcmQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectGcmQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectInfluxdbQueryDelay.cs b/sdk/dotnet/Outputs/DirectInfluxdbQueryDelay.cs new file mode 100644 index 0000000..46d592c --- /dev/null +++ b/sdk/dotnet/Outputs/DirectInfluxdbQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectInfluxdbQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectInfluxdbQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectInstanaQueryDelay.cs b/sdk/dotnet/Outputs/DirectInstanaQueryDelay.cs new file mode 100644 index 0000000..a72491d --- /dev/null +++ b/sdk/dotnet/Outputs/DirectInstanaQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectInstanaQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectInstanaQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectLightstepHistoricalDataRetrieval.cs b/sdk/dotnet/Outputs/DirectLightstepHistoricalDataRetrieval.cs new file mode 100644 index 0000000..3cb76e0 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectLightstepHistoricalDataRetrieval.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectLightstepHistoricalDataRetrieval + { + /// + /// Used by default for any SLOs connected to this data source. + /// + public readonly ImmutableArray DefaultDurations; + /// + /// Defines the maximum period for which data can be retrieved. + /// + public readonly ImmutableArray MaxDurations; + + [OutputConstructor] + private DirectLightstepHistoricalDataRetrieval( + ImmutableArray defaultDurations, + + ImmutableArray maxDurations) + { + DefaultDurations = defaultDurations; + MaxDurations = maxDurations; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectLightstepHistoricalDataRetrievalDefaultDuration.cs b/sdk/dotnet/Outputs/DirectLightstepHistoricalDataRetrievalDefaultDuration.cs new file mode 100644 index 0000000..102d438 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectLightstepHistoricalDataRetrievalDefaultDuration.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectLightstepHistoricalDataRetrievalDefaultDuration + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private DirectLightstepHistoricalDataRetrievalDefaultDuration( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectLightstepHistoricalDataRetrievalMaxDuration.cs b/sdk/dotnet/Outputs/DirectLightstepHistoricalDataRetrievalMaxDuration.cs new file mode 100644 index 0000000..43fcc2c --- /dev/null +++ b/sdk/dotnet/Outputs/DirectLightstepHistoricalDataRetrievalMaxDuration.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectLightstepHistoricalDataRetrievalMaxDuration + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private DirectLightstepHistoricalDataRetrievalMaxDuration( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectLightstepQueryDelay.cs b/sdk/dotnet/Outputs/DirectLightstepQueryDelay.cs new file mode 100644 index 0000000..9c2dfce --- /dev/null +++ b/sdk/dotnet/Outputs/DirectLightstepQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectLightstepQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectLightstepQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectNewrelicHistoricalDataRetrieval.cs b/sdk/dotnet/Outputs/DirectNewrelicHistoricalDataRetrieval.cs new file mode 100644 index 0000000..8881119 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectNewrelicHistoricalDataRetrieval.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectNewrelicHistoricalDataRetrieval + { + /// + /// Used by default for any SLOs connected to this data source. + /// + public readonly ImmutableArray DefaultDurations; + /// + /// Defines the maximum period for which data can be retrieved. + /// + public readonly ImmutableArray MaxDurations; + + [OutputConstructor] + private DirectNewrelicHistoricalDataRetrieval( + ImmutableArray defaultDurations, + + ImmutableArray maxDurations) + { + DefaultDurations = defaultDurations; + MaxDurations = maxDurations; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectNewrelicHistoricalDataRetrievalDefaultDuration.cs b/sdk/dotnet/Outputs/DirectNewrelicHistoricalDataRetrievalDefaultDuration.cs new file mode 100644 index 0000000..1ed7faf --- /dev/null +++ b/sdk/dotnet/Outputs/DirectNewrelicHistoricalDataRetrievalDefaultDuration.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectNewrelicHistoricalDataRetrievalDefaultDuration + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private DirectNewrelicHistoricalDataRetrievalDefaultDuration( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectNewrelicHistoricalDataRetrievalMaxDuration.cs b/sdk/dotnet/Outputs/DirectNewrelicHistoricalDataRetrievalMaxDuration.cs new file mode 100644 index 0000000..c47f969 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectNewrelicHistoricalDataRetrievalMaxDuration.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectNewrelicHistoricalDataRetrievalMaxDuration + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private DirectNewrelicHistoricalDataRetrievalMaxDuration( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectNewrelicQueryDelay.cs b/sdk/dotnet/Outputs/DirectNewrelicQueryDelay.cs new file mode 100644 index 0000000..5ec10a4 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectNewrelicQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectNewrelicQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectNewrelicQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectPingdomQueryDelay.cs b/sdk/dotnet/Outputs/DirectPingdomQueryDelay.cs new file mode 100644 index 0000000..c2c948b --- /dev/null +++ b/sdk/dotnet/Outputs/DirectPingdomQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectPingdomQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectPingdomQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectRedshiftQueryDelay.cs b/sdk/dotnet/Outputs/DirectRedshiftQueryDelay.cs new file mode 100644 index 0000000..802e37f --- /dev/null +++ b/sdk/dotnet/Outputs/DirectRedshiftQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectRedshiftQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectRedshiftQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectSplunkHistoricalDataRetrieval.cs b/sdk/dotnet/Outputs/DirectSplunkHistoricalDataRetrieval.cs new file mode 100644 index 0000000..83eec83 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectSplunkHistoricalDataRetrieval.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectSplunkHistoricalDataRetrieval + { + /// + /// Used by default for any SLOs connected to this data source. + /// + public readonly ImmutableArray DefaultDurations; + /// + /// Defines the maximum period for which data can be retrieved. + /// + public readonly ImmutableArray MaxDurations; + + [OutputConstructor] + private DirectSplunkHistoricalDataRetrieval( + ImmutableArray defaultDurations, + + ImmutableArray maxDurations) + { + DefaultDurations = defaultDurations; + MaxDurations = maxDurations; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectSplunkHistoricalDataRetrievalDefaultDuration.cs b/sdk/dotnet/Outputs/DirectSplunkHistoricalDataRetrievalDefaultDuration.cs new file mode 100644 index 0000000..3005daf --- /dev/null +++ b/sdk/dotnet/Outputs/DirectSplunkHistoricalDataRetrievalDefaultDuration.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectSplunkHistoricalDataRetrievalDefaultDuration + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private DirectSplunkHistoricalDataRetrievalDefaultDuration( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectSplunkHistoricalDataRetrievalMaxDuration.cs b/sdk/dotnet/Outputs/DirectSplunkHistoricalDataRetrievalMaxDuration.cs new file mode 100644 index 0000000..572f552 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectSplunkHistoricalDataRetrievalMaxDuration.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectSplunkHistoricalDataRetrievalMaxDuration + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private DirectSplunkHistoricalDataRetrievalMaxDuration( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectSplunkObservabilityQueryDelay.cs b/sdk/dotnet/Outputs/DirectSplunkObservabilityQueryDelay.cs new file mode 100644 index 0000000..02949e5 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectSplunkObservabilityQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectSplunkObservabilityQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectSplunkObservabilityQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectSplunkQueryDelay.cs b/sdk/dotnet/Outputs/DirectSplunkQueryDelay.cs new file mode 100644 index 0000000..718a592 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectSplunkQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectSplunkQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectSplunkQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectSumologicQueryDelay.cs b/sdk/dotnet/Outputs/DirectSumologicQueryDelay.cs new file mode 100644 index 0000000..693fda6 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectSumologicQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectSumologicQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectSumologicQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DirectThousandeyesQueryDelay.cs b/sdk/dotnet/Outputs/DirectThousandeyesQueryDelay.cs new file mode 100644 index 0000000..117c158 --- /dev/null +++ b/sdk/dotnet/Outputs/DirectThousandeyesQueryDelay.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class DirectThousandeyesQueryDelay + { + /// + /// Must be one of Minute or Second. + /// + public readonly string Unit; + /// + /// Must be an integer greater than or equal to 0. + /// + public readonly int Value; + + [OutputConstructor] + private DirectThousandeyesQueryDelay( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/ProjectLabel.cs b/sdk/dotnet/Outputs/ProjectLabel.cs new file mode 100644 index 0000000..90f5f0a --- /dev/null +++ b/sdk/dotnet/Outputs/ProjectLabel.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class ProjectLabel + { + /// + /// A key for the label, unique within the associated resource. + /// + public readonly string Key; + /// + /// A list of unique values for a single key. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private ProjectLabel( + string key, + + ImmutableArray values) + { + Key = key; + Values = values; + } + } +} diff --git a/sdk/dotnet/Outputs/ServiceLabel.cs b/sdk/dotnet/Outputs/ServiceLabel.cs new file mode 100644 index 0000000..78596f7 --- /dev/null +++ b/sdk/dotnet/Outputs/ServiceLabel.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class ServiceLabel + { + /// + /// A key for the label, unique within the associated resource. + /// + public readonly string Key; + /// + /// A list of unique values for a single key. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private ServiceLabel( + string key, + + ImmutableArray values) + { + Key = key; + Values = values; + } + } +} diff --git a/sdk/dotnet/Outputs/SloAttachment.cs b/sdk/dotnet/Outputs/SloAttachment.cs new file mode 100644 index 0000000..37d2ea1 --- /dev/null +++ b/sdk/dotnet/Outputs/SloAttachment.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloAttachment + { + /// + /// Name displayed for the attachment. Max. length: 63 characters. + /// + public readonly string? DisplayName; + /// + /// URL to the attachment + /// + public readonly string Url; + + [OutputConstructor] + private SloAttachment( + string? displayName, + + string url) + { + DisplayName = displayName; + Url = url; + } + } +} diff --git a/sdk/dotnet/Outputs/SloComposite.cs b/sdk/dotnet/Outputs/SloComposite.cs new file mode 100644 index 0000000..6bcbf80 --- /dev/null +++ b/sdk/dotnet/Outputs/SloComposite.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloComposite + { + /// + /// Condition when the Composite SLO’s error budget is burning. + /// + public readonly ImmutableArray BurnRateConditions; + /// + /// Designated value + /// + public readonly double Target; + + [OutputConstructor] + private SloComposite( + ImmutableArray burnRateConditions, + + double target) + { + BurnRateConditions = burnRateConditions; + Target = target; + } + } +} diff --git a/sdk/dotnet/Outputs/SloCompositeBurnRateCondition.cs b/sdk/dotnet/Outputs/SloCompositeBurnRateCondition.cs new file mode 100644 index 0000000..58a62ad --- /dev/null +++ b/sdk/dotnet/Outputs/SloCompositeBurnRateCondition.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloCompositeBurnRateCondition + { + public readonly string Op; + public readonly double Value; + + [OutputConstructor] + private SloCompositeBurnRateCondition( + string op, + + double value) + { + Op = op; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/SloIndicator.cs b/sdk/dotnet/Outputs/SloIndicator.cs new file mode 100644 index 0000000..197d89f --- /dev/null +++ b/sdk/dotnet/Outputs/SloIndicator.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloIndicator + { + /// + /// Kind of the metric source. One of {Agent, Direct}. + /// + public readonly string? Kind; + /// + /// Name of the metric source (agent). + /// + public readonly string Name; + /// + /// Name of the metric source project. + /// + public readonly string? Project; + + [OutputConstructor] + private SloIndicator( + string? kind, + + string name, + + string? project) + { + Kind = kind; + Name = name; + Project = project; + } + } +} diff --git a/sdk/dotnet/Outputs/SloLabel.cs b/sdk/dotnet/Outputs/SloLabel.cs new file mode 100644 index 0000000..44db5e9 --- /dev/null +++ b/sdk/dotnet/Outputs/SloLabel.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloLabel + { + /// + /// A key for the label, unique within the associated resource. + /// + public readonly string Key; + /// + /// A list of unique values for a single key. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private SloLabel( + string key, + + ImmutableArray values) + { + Key = key; + Values = values; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjective.cs b/sdk/dotnet/Outputs/SloObjective.cs new file mode 100644 index 0000000..ac0592c --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjective.cs @@ -0,0 +1,77 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjective + { + /// + /// Compares two time series, indicating the ratio of the count of good values to total values. + /// + public readonly ImmutableArray CountMetrics; + /// + /// Name to be displayed + /// + public readonly string DisplayName; + /// + /// Objective's name. This field is computed if not provided. + /// + public readonly string? Name; + /// + /// Type of logical operation + /// + public readonly string? Op; + /// + /// Raw data is used to compare objective values. + /// + public readonly ImmutableArray RawMetrics; + /// + /// Designated value + /// + public readonly double Target; + /// + /// Designated value for slice + /// + public readonly double? TimeSliceTarget; + /// + /// Value + /// + public readonly double Value; + + [OutputConstructor] + private SloObjective( + ImmutableArray countMetrics, + + string displayName, + + string? name, + + string? op, + + ImmutableArray rawMetrics, + + double target, + + double? timeSliceTarget, + + double value) + { + CountMetrics = countMetrics; + DisplayName = displayName; + Name = name; + Op = op; + RawMetrics = rawMetrics; + Target = target; + TimeSliceTarget = timeSliceTarget; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetric.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetric.cs new file mode 100644 index 0000000..be822b1 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetric.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetric + { + public readonly ImmutableArray Goods; + public readonly bool Incremental; + public readonly ImmutableArray Totals; + + [OutputConstructor] + private SloObjectiveCountMetric( + ImmutableArray goods, + + bool incremental, + + ImmutableArray totals) + { + Goods = goods; + Incremental = incremental; + Totals = totals; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGood.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGood.cs new file mode 100644 index 0000000..fa0fbeb --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGood.cs @@ -0,0 +1,109 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGood + { + public readonly ImmutableArray AmazonPrometheuses; + public readonly ImmutableArray Appdynamics; + public readonly ImmutableArray Bigqueries; + public readonly ImmutableArray Cloudwatches; + public readonly ImmutableArray Datadogs; + public readonly ImmutableArray Dynatraces; + public readonly ImmutableArray Elasticsearches; + public readonly ImmutableArray Gcms; + public readonly ImmutableArray GrafanaLokis; + public readonly ImmutableArray Graphites; + public readonly ImmutableArray Influxdbs; + public readonly ImmutableArray Instanas; + public readonly ImmutableArray Lightsteps; + public readonly ImmutableArray Newrelics; + public readonly ImmutableArray Opentsdbs; + public readonly ImmutableArray Pingdoms; + public readonly ImmutableArray Prometheuses; + public readonly ImmutableArray Redshifts; + public readonly ImmutableArray SplunkObservabilities; + public readonly ImmutableArray Splunks; + public readonly ImmutableArray Sumologics; + public readonly ImmutableArray Thousandeyes; + + [OutputConstructor] + private SloObjectiveCountMetricGood( + ImmutableArray amazonPrometheuses, + + ImmutableArray appdynamics, + + ImmutableArray bigqueries, + + ImmutableArray cloudwatches, + + ImmutableArray datadogs, + + ImmutableArray dynatraces, + + ImmutableArray elasticsearches, + + ImmutableArray gcms, + + ImmutableArray grafanaLokis, + + ImmutableArray graphites, + + ImmutableArray influxdbs, + + ImmutableArray instanas, + + ImmutableArray lightsteps, + + ImmutableArray newrelics, + + ImmutableArray opentsdbs, + + ImmutableArray pingdoms, + + ImmutableArray prometheuses, + + ImmutableArray redshifts, + + ImmutableArray splunkObservabilities, + + ImmutableArray splunks, + + ImmutableArray sumologics, + + ImmutableArray thousandeyes) + { + AmazonPrometheuses = amazonPrometheuses; + Appdynamics = appdynamics; + Bigqueries = bigqueries; + Cloudwatches = cloudwatches; + Datadogs = datadogs; + Dynatraces = dynatraces; + Elasticsearches = elasticsearches; + Gcms = gcms; + GrafanaLokis = grafanaLokis; + Graphites = graphites; + Influxdbs = influxdbs; + Instanas = instanas; + Lightsteps = lightsteps; + Newrelics = newrelics; + Opentsdbs = opentsdbs; + Pingdoms = pingdoms; + Prometheuses = prometheuses; + Redshifts = redshifts; + SplunkObservabilities = splunkObservabilities; + Splunks = splunks; + Sumologics = sumologics; + Thousandeyes = thousandeyes; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodAmazonPrometheus.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodAmazonPrometheus.cs new file mode 100644 index 0000000..d6ee3cd --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodAmazonPrometheus.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodAmazonPrometheus + { + public readonly string Promql; + + [OutputConstructor] + private SloObjectiveCountMetricGoodAmazonPrometheus(string promql) + { + Promql = promql; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodAppdynamic.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodAppdynamic.cs new file mode 100644 index 0000000..0d99603 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodAppdynamic.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodAppdynamic + { + public readonly string ApplicationName; + public readonly string MetricPath; + + [OutputConstructor] + private SloObjectiveCountMetricGoodAppdynamic( + string applicationName, + + string metricPath) + { + ApplicationName = applicationName; + MetricPath = metricPath; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodBigquery.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodBigquery.cs new file mode 100644 index 0000000..b9577f0 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodBigquery.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodBigquery + { + public readonly string Location; + public readonly string ProjectId; + public readonly string Query; + + [OutputConstructor] + private SloObjectiveCountMetricGoodBigquery( + string location, + + string projectId, + + string query) + { + Location = location; + ProjectId = projectId; + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodCloudwatch.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodCloudwatch.cs new file mode 100644 index 0000000..b98a50e --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodCloudwatch.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodCloudwatch + { + public readonly ImmutableArray Dimensions; + public readonly string? Json; + public readonly string? MetricName; + public readonly string? Namespace; + public readonly string Region; + public readonly string? Sql; + public readonly string? Stat; + + [OutputConstructor] + private SloObjectiveCountMetricGoodCloudwatch( + ImmutableArray dimensions, + + string? json, + + string? metricName, + + string? @namespace, + + string region, + + string? sql, + + string? stat) + { + Dimensions = dimensions; + Json = json; + MetricName = metricName; + Namespace = @namespace; + Region = region; + Sql = sql; + Stat = stat; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodCloudwatchDimension.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodCloudwatchDimension.cs new file mode 100644 index 0000000..3948d3e --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodCloudwatchDimension.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodCloudwatchDimension + { + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + public readonly string Name; + public readonly string Value; + + [OutputConstructor] + private SloObjectiveCountMetricGoodCloudwatchDimension( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodDatadog.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodDatadog.cs new file mode 100644 index 0000000..8d9a6dd --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodDatadog.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodDatadog + { + public readonly string Query; + + [OutputConstructor] + private SloObjectiveCountMetricGoodDatadog(string query) + { + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodDynatrace.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodDynatrace.cs new file mode 100644 index 0000000..61a5e48 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodDynatrace.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodDynatrace + { + public readonly string MetricSelector; + + [OutputConstructor] + private SloObjectiveCountMetricGoodDynatrace(string metricSelector) + { + MetricSelector = metricSelector; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodElasticsearch.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodElasticsearch.cs new file mode 100644 index 0000000..bd48e79 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodElasticsearch.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodElasticsearch + { + public readonly string Index; + public readonly string Query; + + [OutputConstructor] + private SloObjectiveCountMetricGoodElasticsearch( + string index, + + string query) + { + Index = index; + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodGcm.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodGcm.cs new file mode 100644 index 0000000..49b6a8e --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodGcm.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodGcm + { + public readonly string ProjectId; + public readonly string Query; + + [OutputConstructor] + private SloObjectiveCountMetricGoodGcm( + string projectId, + + string query) + { + ProjectId = projectId; + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodGrafanaLoki.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodGrafanaLoki.cs new file mode 100644 index 0000000..168385c --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodGrafanaLoki.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodGrafanaLoki + { + public readonly string Logql; + + [OutputConstructor] + private SloObjectiveCountMetricGoodGrafanaLoki(string logql) + { + Logql = logql; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodGraphite.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodGraphite.cs new file mode 100644 index 0000000..7cd22bc --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodGraphite.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodGraphite + { + public readonly string MetricPath; + + [OutputConstructor] + private SloObjectiveCountMetricGoodGraphite(string metricPath) + { + MetricPath = metricPath; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodInfluxdb.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodInfluxdb.cs new file mode 100644 index 0000000..2d28e3d --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodInfluxdb.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodInfluxdb + { + public readonly string Query; + + [OutputConstructor] + private SloObjectiveCountMetricGoodInfluxdb(string query) + { + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodInstana.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodInstana.cs new file mode 100644 index 0000000..19fae7d --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodInstana.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodInstana + { + public readonly ImmutableArray Applications; + public readonly ImmutableArray Infrastructures; + public readonly string MetricType; + + [OutputConstructor] + private SloObjectiveCountMetricGoodInstana( + ImmutableArray applications, + + ImmutableArray infrastructures, + + string metricType) + { + Applications = applications; + Infrastructures = infrastructures; + MetricType = metricType; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodInstanaApplication.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodInstanaApplication.cs new file mode 100644 index 0000000..a15ef45 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodInstanaApplication.cs @@ -0,0 +1,45 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodInstanaApplication + { + public readonly string Aggregation; + public readonly string ApiQuery; + public readonly ImmutableArray GroupBies; + public readonly bool? IncludeInternal; + public readonly bool? IncludeSynthetic; + public readonly string MetricId; + + [OutputConstructor] + private SloObjectiveCountMetricGoodInstanaApplication( + string aggregation, + + string apiQuery, + + ImmutableArray groupBies, + + bool? includeInternal, + + bool? includeSynthetic, + + string metricId) + { + Aggregation = aggregation; + ApiQuery = apiQuery; + GroupBies = groupBies; + IncludeInternal = includeInternal; + IncludeSynthetic = includeSynthetic; + MetricId = metricId; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodInstanaApplicationGroupBy.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodInstanaApplicationGroupBy.cs new file mode 100644 index 0000000..feaf30e --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodInstanaApplicationGroupBy.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodInstanaApplicationGroupBy + { + public readonly string Tag; + public readonly string TagEntity; + public readonly string? TagSecondLevelKey; + + [OutputConstructor] + private SloObjectiveCountMetricGoodInstanaApplicationGroupBy( + string tag, + + string tagEntity, + + string? tagSecondLevelKey) + { + Tag = tag; + TagEntity = tagEntity; + TagSecondLevelKey = tagSecondLevelKey; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodInstanaInfrastructure.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodInstanaInfrastructure.cs new file mode 100644 index 0000000..36d4c27 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodInstanaInfrastructure.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodInstanaInfrastructure + { + public readonly string MetricId; + public readonly string MetricRetrievalMethod; + public readonly string PluginId; + public readonly string? Query; + public readonly string? SnapshotId; + + [OutputConstructor] + private SloObjectiveCountMetricGoodInstanaInfrastructure( + string metricId, + + string metricRetrievalMethod, + + string pluginId, + + string? query, + + string? snapshotId) + { + MetricId = metricId; + MetricRetrievalMethod = metricRetrievalMethod; + PluginId = pluginId; + Query = query; + SnapshotId = snapshotId; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodLightstep.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodLightstep.cs new file mode 100644 index 0000000..2022948 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodLightstep.cs @@ -0,0 +1,37 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodLightstep + { + public readonly double? Percentile; + public readonly string? StreamId; + public readonly string TypeOfData; + public readonly string? Uql; + + [OutputConstructor] + private SloObjectiveCountMetricGoodLightstep( + double? percentile, + + string? streamId, + + string typeOfData, + + string? uql) + { + Percentile = percentile; + StreamId = streamId; + TypeOfData = typeOfData; + Uql = uql; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodNewrelic.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodNewrelic.cs new file mode 100644 index 0000000..8968e6c --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodNewrelic.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodNewrelic + { + public readonly string Nrql; + + [OutputConstructor] + private SloObjectiveCountMetricGoodNewrelic(string nrql) + { + Nrql = nrql; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodOpentsdb.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodOpentsdb.cs new file mode 100644 index 0000000..945cf92 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodOpentsdb.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodOpentsdb + { + public readonly string Query; + + [OutputConstructor] + private SloObjectiveCountMetricGoodOpentsdb(string query) + { + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodPingdom.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodPingdom.cs new file mode 100644 index 0000000..75a269a --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodPingdom.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodPingdom + { + public readonly string CheckId; + public readonly string? CheckType; + public readonly string? Status; + + [OutputConstructor] + private SloObjectiveCountMetricGoodPingdom( + string checkId, + + string? checkType, + + string? status) + { + CheckId = checkId; + CheckType = checkType; + Status = status; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodPrometheus.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodPrometheus.cs new file mode 100644 index 0000000..b0d916c --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodPrometheus.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodPrometheus + { + public readonly string Promql; + + [OutputConstructor] + private SloObjectiveCountMetricGoodPrometheus(string promql) + { + Promql = promql; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodRedshift.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodRedshift.cs new file mode 100644 index 0000000..232fcd2 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodRedshift.cs @@ -0,0 +1,37 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodRedshift + { + public readonly string ClusterId; + public readonly string DatabaseName; + public readonly string Query; + public readonly string Region; + + [OutputConstructor] + private SloObjectiveCountMetricGoodRedshift( + string clusterId, + + string databaseName, + + string query, + + string region) + { + ClusterId = clusterId; + DatabaseName = databaseName; + Query = query; + Region = region; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodSplunk.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodSplunk.cs new file mode 100644 index 0000000..cea0553 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodSplunk.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodSplunk + { + public readonly string Query; + + [OutputConstructor] + private SloObjectiveCountMetricGoodSplunk(string query) + { + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodSplunkObservability.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodSplunkObservability.cs new file mode 100644 index 0000000..48cd877 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodSplunkObservability.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodSplunkObservability + { + public readonly string Program; + + [OutputConstructor] + private SloObjectiveCountMetricGoodSplunkObservability(string program) + { + Program = program; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodSumologic.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodSumologic.cs new file mode 100644 index 0000000..9f3b73d --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodSumologic.cs @@ -0,0 +1,37 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodSumologic + { + public readonly string? Quantization; + public readonly string Query; + public readonly string? Rollup; + public readonly string Type; + + [OutputConstructor] + private SloObjectiveCountMetricGoodSumologic( + string? quantization, + + string query, + + string? rollup, + + string type) + { + Quantization = quantization; + Query = query; + Rollup = rollup; + Type = type; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodThousandeye.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodThousandeye.cs new file mode 100644 index 0000000..9408eb8 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricGoodThousandeye.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricGoodThousandeye + { + public readonly int TestId; + + [OutputConstructor] + private SloObjectiveCountMetricGoodThousandeye(int testId) + { + TestId = testId; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotal.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotal.cs new file mode 100644 index 0000000..e541e10 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotal.cs @@ -0,0 +1,109 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotal + { + public readonly ImmutableArray AmazonPrometheuses; + public readonly ImmutableArray Appdynamics; + public readonly ImmutableArray Bigqueries; + public readonly ImmutableArray Cloudwatches; + public readonly ImmutableArray Datadogs; + public readonly ImmutableArray Dynatraces; + public readonly ImmutableArray Elasticsearches; + public readonly ImmutableArray Gcms; + public readonly ImmutableArray GrafanaLokis; + public readonly ImmutableArray Graphites; + public readonly ImmutableArray Influxdbs; + public readonly ImmutableArray Instanas; + public readonly ImmutableArray Lightsteps; + public readonly ImmutableArray Newrelics; + public readonly ImmutableArray Opentsdbs; + public readonly ImmutableArray Pingdoms; + public readonly ImmutableArray Prometheuses; + public readonly ImmutableArray Redshifts; + public readonly ImmutableArray SplunkObservabilities; + public readonly ImmutableArray Splunks; + public readonly ImmutableArray Sumologics; + public readonly ImmutableArray Thousandeyes; + + [OutputConstructor] + private SloObjectiveCountMetricTotal( + ImmutableArray amazonPrometheuses, + + ImmutableArray appdynamics, + + ImmutableArray bigqueries, + + ImmutableArray cloudwatches, + + ImmutableArray datadogs, + + ImmutableArray dynatraces, + + ImmutableArray elasticsearches, + + ImmutableArray gcms, + + ImmutableArray grafanaLokis, + + ImmutableArray graphites, + + ImmutableArray influxdbs, + + ImmutableArray instanas, + + ImmutableArray lightsteps, + + ImmutableArray newrelics, + + ImmutableArray opentsdbs, + + ImmutableArray pingdoms, + + ImmutableArray prometheuses, + + ImmutableArray redshifts, + + ImmutableArray splunkObservabilities, + + ImmutableArray splunks, + + ImmutableArray sumologics, + + ImmutableArray thousandeyes) + { + AmazonPrometheuses = amazonPrometheuses; + Appdynamics = appdynamics; + Bigqueries = bigqueries; + Cloudwatches = cloudwatches; + Datadogs = datadogs; + Dynatraces = dynatraces; + Elasticsearches = elasticsearches; + Gcms = gcms; + GrafanaLokis = grafanaLokis; + Graphites = graphites; + Influxdbs = influxdbs; + Instanas = instanas; + Lightsteps = lightsteps; + Newrelics = newrelics; + Opentsdbs = opentsdbs; + Pingdoms = pingdoms; + Prometheuses = prometheuses; + Redshifts = redshifts; + SplunkObservabilities = splunkObservabilities; + Splunks = splunks; + Sumologics = sumologics; + Thousandeyes = thousandeyes; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalAmazonPrometheus.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalAmazonPrometheus.cs new file mode 100644 index 0000000..6c3c338 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalAmazonPrometheus.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalAmazonPrometheus + { + public readonly string Promql; + + [OutputConstructor] + private SloObjectiveCountMetricTotalAmazonPrometheus(string promql) + { + Promql = promql; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalAppdynamic.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalAppdynamic.cs new file mode 100644 index 0000000..c8470e2 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalAppdynamic.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalAppdynamic + { + public readonly string ApplicationName; + public readonly string MetricPath; + + [OutputConstructor] + private SloObjectiveCountMetricTotalAppdynamic( + string applicationName, + + string metricPath) + { + ApplicationName = applicationName; + MetricPath = metricPath; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalBigquery.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalBigquery.cs new file mode 100644 index 0000000..54ca097 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalBigquery.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalBigquery + { + public readonly string Location; + public readonly string ProjectId; + public readonly string Query; + + [OutputConstructor] + private SloObjectiveCountMetricTotalBigquery( + string location, + + string projectId, + + string query) + { + Location = location; + ProjectId = projectId; + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalCloudwatch.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalCloudwatch.cs new file mode 100644 index 0000000..7c7d5a4 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalCloudwatch.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalCloudwatch + { + public readonly ImmutableArray Dimensions; + public readonly string? Json; + public readonly string? MetricName; + public readonly string? Namespace; + public readonly string Region; + public readonly string? Sql; + public readonly string? Stat; + + [OutputConstructor] + private SloObjectiveCountMetricTotalCloudwatch( + ImmutableArray dimensions, + + string? json, + + string? metricName, + + string? @namespace, + + string region, + + string? sql, + + string? stat) + { + Dimensions = dimensions; + Json = json; + MetricName = metricName; + Namespace = @namespace; + Region = region; + Sql = sql; + Stat = stat; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalCloudwatchDimension.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalCloudwatchDimension.cs new file mode 100644 index 0000000..9cf486f --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalCloudwatchDimension.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalCloudwatchDimension + { + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + public readonly string Name; + public readonly string Value; + + [OutputConstructor] + private SloObjectiveCountMetricTotalCloudwatchDimension( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalDatadog.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalDatadog.cs new file mode 100644 index 0000000..d58ad8d --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalDatadog.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalDatadog + { + public readonly string Query; + + [OutputConstructor] + private SloObjectiveCountMetricTotalDatadog(string query) + { + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalDynatrace.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalDynatrace.cs new file mode 100644 index 0000000..a76b1b4 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalDynatrace.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalDynatrace + { + public readonly string MetricSelector; + + [OutputConstructor] + private SloObjectiveCountMetricTotalDynatrace(string metricSelector) + { + MetricSelector = metricSelector; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalElasticsearch.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalElasticsearch.cs new file mode 100644 index 0000000..399582a --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalElasticsearch.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalElasticsearch + { + public readonly string Index; + public readonly string Query; + + [OutputConstructor] + private SloObjectiveCountMetricTotalElasticsearch( + string index, + + string query) + { + Index = index; + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalGcm.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalGcm.cs new file mode 100644 index 0000000..ffe53cb --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalGcm.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalGcm + { + public readonly string ProjectId; + public readonly string Query; + + [OutputConstructor] + private SloObjectiveCountMetricTotalGcm( + string projectId, + + string query) + { + ProjectId = projectId; + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalGrafanaLoki.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalGrafanaLoki.cs new file mode 100644 index 0000000..6c77855 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalGrafanaLoki.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalGrafanaLoki + { + public readonly string Logql; + + [OutputConstructor] + private SloObjectiveCountMetricTotalGrafanaLoki(string logql) + { + Logql = logql; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalGraphite.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalGraphite.cs new file mode 100644 index 0000000..ebbc60d --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalGraphite.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalGraphite + { + public readonly string MetricPath; + + [OutputConstructor] + private SloObjectiveCountMetricTotalGraphite(string metricPath) + { + MetricPath = metricPath; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalInfluxdb.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalInfluxdb.cs new file mode 100644 index 0000000..ee5cf77 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalInfluxdb.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalInfluxdb + { + public readonly string Query; + + [OutputConstructor] + private SloObjectiveCountMetricTotalInfluxdb(string query) + { + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalInstana.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalInstana.cs new file mode 100644 index 0000000..4649ddd --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalInstana.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalInstana + { + public readonly ImmutableArray Applications; + public readonly ImmutableArray Infrastructures; + public readonly string MetricType; + + [OutputConstructor] + private SloObjectiveCountMetricTotalInstana( + ImmutableArray applications, + + ImmutableArray infrastructures, + + string metricType) + { + Applications = applications; + Infrastructures = infrastructures; + MetricType = metricType; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalInstanaApplication.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalInstanaApplication.cs new file mode 100644 index 0000000..03449fd --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalInstanaApplication.cs @@ -0,0 +1,45 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalInstanaApplication + { + public readonly string Aggregation; + public readonly string ApiQuery; + public readonly ImmutableArray GroupBies; + public readonly bool? IncludeInternal; + public readonly bool? IncludeSynthetic; + public readonly string MetricId; + + [OutputConstructor] + private SloObjectiveCountMetricTotalInstanaApplication( + string aggregation, + + string apiQuery, + + ImmutableArray groupBies, + + bool? includeInternal, + + bool? includeSynthetic, + + string metricId) + { + Aggregation = aggregation; + ApiQuery = apiQuery; + GroupBies = groupBies; + IncludeInternal = includeInternal; + IncludeSynthetic = includeSynthetic; + MetricId = metricId; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalInstanaApplicationGroupBy.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalInstanaApplicationGroupBy.cs new file mode 100644 index 0000000..6491121 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalInstanaApplicationGroupBy.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalInstanaApplicationGroupBy + { + public readonly string Tag; + public readonly string TagEntity; + public readonly string? TagSecondLevelKey; + + [OutputConstructor] + private SloObjectiveCountMetricTotalInstanaApplicationGroupBy( + string tag, + + string tagEntity, + + string? tagSecondLevelKey) + { + Tag = tag; + TagEntity = tagEntity; + TagSecondLevelKey = tagSecondLevelKey; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalInstanaInfrastructure.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalInstanaInfrastructure.cs new file mode 100644 index 0000000..0ce3366 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalInstanaInfrastructure.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalInstanaInfrastructure + { + public readonly string MetricId; + public readonly string MetricRetrievalMethod; + public readonly string PluginId; + public readonly string? Query; + public readonly string? SnapshotId; + + [OutputConstructor] + private SloObjectiveCountMetricTotalInstanaInfrastructure( + string metricId, + + string metricRetrievalMethod, + + string pluginId, + + string? query, + + string? snapshotId) + { + MetricId = metricId; + MetricRetrievalMethod = metricRetrievalMethod; + PluginId = pluginId; + Query = query; + SnapshotId = snapshotId; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalLightstep.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalLightstep.cs new file mode 100644 index 0000000..1d4ad65 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalLightstep.cs @@ -0,0 +1,37 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalLightstep + { + public readonly double? Percentile; + public readonly string? StreamId; + public readonly string TypeOfData; + public readonly string? Uql; + + [OutputConstructor] + private SloObjectiveCountMetricTotalLightstep( + double? percentile, + + string? streamId, + + string typeOfData, + + string? uql) + { + Percentile = percentile; + StreamId = streamId; + TypeOfData = typeOfData; + Uql = uql; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalNewrelic.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalNewrelic.cs new file mode 100644 index 0000000..dc80029 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalNewrelic.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalNewrelic + { + public readonly string Nrql; + + [OutputConstructor] + private SloObjectiveCountMetricTotalNewrelic(string nrql) + { + Nrql = nrql; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalOpentsdb.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalOpentsdb.cs new file mode 100644 index 0000000..f30003d --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalOpentsdb.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalOpentsdb + { + public readonly string Query; + + [OutputConstructor] + private SloObjectiveCountMetricTotalOpentsdb(string query) + { + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalPingdom.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalPingdom.cs new file mode 100644 index 0000000..a745e35 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalPingdom.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalPingdom + { + public readonly string CheckId; + public readonly string? CheckType; + public readonly string? Status; + + [OutputConstructor] + private SloObjectiveCountMetricTotalPingdom( + string checkId, + + string? checkType, + + string? status) + { + CheckId = checkId; + CheckType = checkType; + Status = status; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalPrometheus.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalPrometheus.cs new file mode 100644 index 0000000..af94114 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalPrometheus.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalPrometheus + { + public readonly string Promql; + + [OutputConstructor] + private SloObjectiveCountMetricTotalPrometheus(string promql) + { + Promql = promql; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalRedshift.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalRedshift.cs new file mode 100644 index 0000000..c586334 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalRedshift.cs @@ -0,0 +1,37 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalRedshift + { + public readonly string ClusterId; + public readonly string DatabaseName; + public readonly string Query; + public readonly string Region; + + [OutputConstructor] + private SloObjectiveCountMetricTotalRedshift( + string clusterId, + + string databaseName, + + string query, + + string region) + { + ClusterId = clusterId; + DatabaseName = databaseName; + Query = query; + Region = region; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalSplunk.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalSplunk.cs new file mode 100644 index 0000000..0434361 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalSplunk.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalSplunk + { + public readonly string Query; + + [OutputConstructor] + private SloObjectiveCountMetricTotalSplunk(string query) + { + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalSplunkObservability.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalSplunkObservability.cs new file mode 100644 index 0000000..e1c723d --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalSplunkObservability.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalSplunkObservability + { + public readonly string Program; + + [OutputConstructor] + private SloObjectiveCountMetricTotalSplunkObservability(string program) + { + Program = program; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalSumologic.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalSumologic.cs new file mode 100644 index 0000000..7f04be2 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalSumologic.cs @@ -0,0 +1,37 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalSumologic + { + public readonly string? Quantization; + public readonly string Query; + public readonly string? Rollup; + public readonly string Type; + + [OutputConstructor] + private SloObjectiveCountMetricTotalSumologic( + string? quantization, + + string query, + + string? rollup, + + string type) + { + Quantization = quantization; + Query = query; + Rollup = rollup; + Type = type; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalThousandeye.cs b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalThousandeye.cs new file mode 100644 index 0000000..018a08f --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveCountMetricTotalThousandeye.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveCountMetricTotalThousandeye + { + public readonly int TestId; + + [OutputConstructor] + private SloObjectiveCountMetricTotalThousandeye(int testId) + { + TestId = testId; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetric.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetric.cs new file mode 100644 index 0000000..f25e5d0 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetric.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetric + { + public readonly ImmutableArray Queries; + + [OutputConstructor] + private SloObjectiveRawMetric(ImmutableArray queries) + { + Queries = queries; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQuery.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQuery.cs new file mode 100644 index 0000000..6d37dc7 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQuery.cs @@ -0,0 +1,109 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQuery + { + public readonly ImmutableArray AmazonPrometheuses; + public readonly ImmutableArray Appdynamics; + public readonly ImmutableArray Bigqueries; + public readonly ImmutableArray Cloudwatches; + public readonly ImmutableArray Datadogs; + public readonly ImmutableArray Dynatraces; + public readonly ImmutableArray Elasticsearches; + public readonly ImmutableArray Gcms; + public readonly ImmutableArray GrafanaLokis; + public readonly ImmutableArray Graphites; + public readonly ImmutableArray Influxdbs; + public readonly ImmutableArray Instanas; + public readonly ImmutableArray Lightsteps; + public readonly ImmutableArray Newrelics; + public readonly ImmutableArray Opentsdbs; + public readonly ImmutableArray Pingdoms; + public readonly ImmutableArray Prometheuses; + public readonly ImmutableArray Redshifts; + public readonly ImmutableArray SplunkObservabilities; + public readonly ImmutableArray Splunks; + public readonly ImmutableArray Sumologics; + public readonly ImmutableArray Thousandeyes; + + [OutputConstructor] + private SloObjectiveRawMetricQuery( + ImmutableArray amazonPrometheuses, + + ImmutableArray appdynamics, + + ImmutableArray bigqueries, + + ImmutableArray cloudwatches, + + ImmutableArray datadogs, + + ImmutableArray dynatraces, + + ImmutableArray elasticsearches, + + ImmutableArray gcms, + + ImmutableArray grafanaLokis, + + ImmutableArray graphites, + + ImmutableArray influxdbs, + + ImmutableArray instanas, + + ImmutableArray lightsteps, + + ImmutableArray newrelics, + + ImmutableArray opentsdbs, + + ImmutableArray pingdoms, + + ImmutableArray prometheuses, + + ImmutableArray redshifts, + + ImmutableArray splunkObservabilities, + + ImmutableArray splunks, + + ImmutableArray sumologics, + + ImmutableArray thousandeyes) + { + AmazonPrometheuses = amazonPrometheuses; + Appdynamics = appdynamics; + Bigqueries = bigqueries; + Cloudwatches = cloudwatches; + Datadogs = datadogs; + Dynatraces = dynatraces; + Elasticsearches = elasticsearches; + Gcms = gcms; + GrafanaLokis = grafanaLokis; + Graphites = graphites; + Influxdbs = influxdbs; + Instanas = instanas; + Lightsteps = lightsteps; + Newrelics = newrelics; + Opentsdbs = opentsdbs; + Pingdoms = pingdoms; + Prometheuses = prometheuses; + Redshifts = redshifts; + SplunkObservabilities = splunkObservabilities; + Splunks = splunks; + Sumologics = sumologics; + Thousandeyes = thousandeyes; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryAmazonPrometheus.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryAmazonPrometheus.cs new file mode 100644 index 0000000..395d522 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryAmazonPrometheus.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryAmazonPrometheus + { + public readonly string Promql; + + [OutputConstructor] + private SloObjectiveRawMetricQueryAmazonPrometheus(string promql) + { + Promql = promql; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryAppdynamic.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryAppdynamic.cs new file mode 100644 index 0000000..3ffa998 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryAppdynamic.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryAppdynamic + { + public readonly string ApplicationName; + public readonly string MetricPath; + + [OutputConstructor] + private SloObjectiveRawMetricQueryAppdynamic( + string applicationName, + + string metricPath) + { + ApplicationName = applicationName; + MetricPath = metricPath; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryBigquery.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryBigquery.cs new file mode 100644 index 0000000..cb833fe --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryBigquery.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryBigquery + { + public readonly string Location; + public readonly string ProjectId; + public readonly string Query; + + [OutputConstructor] + private SloObjectiveRawMetricQueryBigquery( + string location, + + string projectId, + + string query) + { + Location = location; + ProjectId = projectId; + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryCloudwatch.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryCloudwatch.cs new file mode 100644 index 0000000..7a73325 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryCloudwatch.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryCloudwatch + { + public readonly ImmutableArray Dimensions; + public readonly string? Json; + public readonly string? MetricName; + public readonly string? Namespace; + public readonly string Region; + public readonly string? Sql; + public readonly string? Stat; + + [OutputConstructor] + private SloObjectiveRawMetricQueryCloudwatch( + ImmutableArray dimensions, + + string? json, + + string? metricName, + + string? @namespace, + + string region, + + string? sql, + + string? stat) + { + Dimensions = dimensions; + Json = json; + MetricName = metricName; + Namespace = @namespace; + Region = region; + Sql = sql; + Stat = stat; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryCloudwatchDimension.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryCloudwatchDimension.cs new file mode 100644 index 0000000..e854e64 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryCloudwatchDimension.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryCloudwatchDimension + { + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + public readonly string Name; + public readonly string Value; + + [OutputConstructor] + private SloObjectiveRawMetricQueryCloudwatchDimension( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryDatadog.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryDatadog.cs new file mode 100644 index 0000000..43d39a9 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryDatadog.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryDatadog + { + public readonly string Query; + + [OutputConstructor] + private SloObjectiveRawMetricQueryDatadog(string query) + { + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryDynatrace.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryDynatrace.cs new file mode 100644 index 0000000..fd441ae --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryDynatrace.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryDynatrace + { + public readonly string MetricSelector; + + [OutputConstructor] + private SloObjectiveRawMetricQueryDynatrace(string metricSelector) + { + MetricSelector = metricSelector; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryElasticsearch.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryElasticsearch.cs new file mode 100644 index 0000000..a166be8 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryElasticsearch.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryElasticsearch + { + public readonly string Index; + public readonly string Query; + + [OutputConstructor] + private SloObjectiveRawMetricQueryElasticsearch( + string index, + + string query) + { + Index = index; + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryGcm.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryGcm.cs new file mode 100644 index 0000000..370b513 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryGcm.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryGcm + { + public readonly string ProjectId; + public readonly string Query; + + [OutputConstructor] + private SloObjectiveRawMetricQueryGcm( + string projectId, + + string query) + { + ProjectId = projectId; + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryGrafanaLoki.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryGrafanaLoki.cs new file mode 100644 index 0000000..6c5da22 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryGrafanaLoki.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryGrafanaLoki + { + public readonly string Logql; + + [OutputConstructor] + private SloObjectiveRawMetricQueryGrafanaLoki(string logql) + { + Logql = logql; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryGraphite.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryGraphite.cs new file mode 100644 index 0000000..f582090 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryGraphite.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryGraphite + { + public readonly string MetricPath; + + [OutputConstructor] + private SloObjectiveRawMetricQueryGraphite(string metricPath) + { + MetricPath = metricPath; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryInfluxdb.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryInfluxdb.cs new file mode 100644 index 0000000..14aa48d --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryInfluxdb.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryInfluxdb + { + public readonly string Query; + + [OutputConstructor] + private SloObjectiveRawMetricQueryInfluxdb(string query) + { + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryInstana.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryInstana.cs new file mode 100644 index 0000000..f3724d9 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryInstana.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryInstana + { + public readonly ImmutableArray Applications; + public readonly ImmutableArray Infrastructures; + public readonly string MetricType; + + [OutputConstructor] + private SloObjectiveRawMetricQueryInstana( + ImmutableArray applications, + + ImmutableArray infrastructures, + + string metricType) + { + Applications = applications; + Infrastructures = infrastructures; + MetricType = metricType; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryInstanaApplication.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryInstanaApplication.cs new file mode 100644 index 0000000..6f845a7 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryInstanaApplication.cs @@ -0,0 +1,45 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryInstanaApplication + { + public readonly string Aggregation; + public readonly string ApiQuery; + public readonly ImmutableArray GroupBies; + public readonly bool? IncludeInternal; + public readonly bool? IncludeSynthetic; + public readonly string MetricId; + + [OutputConstructor] + private SloObjectiveRawMetricQueryInstanaApplication( + string aggregation, + + string apiQuery, + + ImmutableArray groupBies, + + bool? includeInternal, + + bool? includeSynthetic, + + string metricId) + { + Aggregation = aggregation; + ApiQuery = apiQuery; + GroupBies = groupBies; + IncludeInternal = includeInternal; + IncludeSynthetic = includeSynthetic; + MetricId = metricId; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryInstanaApplicationGroupBy.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryInstanaApplicationGroupBy.cs new file mode 100644 index 0000000..dc219e6 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryInstanaApplicationGroupBy.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryInstanaApplicationGroupBy + { + public readonly string Tag; + public readonly string TagEntity; + public readonly string? TagSecondLevelKey; + + [OutputConstructor] + private SloObjectiveRawMetricQueryInstanaApplicationGroupBy( + string tag, + + string tagEntity, + + string? tagSecondLevelKey) + { + Tag = tag; + TagEntity = tagEntity; + TagSecondLevelKey = tagSecondLevelKey; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryInstanaInfrastructure.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryInstanaInfrastructure.cs new file mode 100644 index 0000000..0186dd1 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryInstanaInfrastructure.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryInstanaInfrastructure + { + public readonly string MetricId; + public readonly string MetricRetrievalMethod; + public readonly string PluginId; + public readonly string? Query; + public readonly string? SnapshotId; + + [OutputConstructor] + private SloObjectiveRawMetricQueryInstanaInfrastructure( + string metricId, + + string metricRetrievalMethod, + + string pluginId, + + string? query, + + string? snapshotId) + { + MetricId = metricId; + MetricRetrievalMethod = metricRetrievalMethod; + PluginId = pluginId; + Query = query; + SnapshotId = snapshotId; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryLightstep.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryLightstep.cs new file mode 100644 index 0000000..2c1097a --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryLightstep.cs @@ -0,0 +1,37 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryLightstep + { + public readonly double? Percentile; + public readonly string? StreamId; + public readonly string TypeOfData; + public readonly string? Uql; + + [OutputConstructor] + private SloObjectiveRawMetricQueryLightstep( + double? percentile, + + string? streamId, + + string typeOfData, + + string? uql) + { + Percentile = percentile; + StreamId = streamId; + TypeOfData = typeOfData; + Uql = uql; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryNewrelic.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryNewrelic.cs new file mode 100644 index 0000000..633b555 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryNewrelic.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryNewrelic + { + public readonly string Nrql; + + [OutputConstructor] + private SloObjectiveRawMetricQueryNewrelic(string nrql) + { + Nrql = nrql; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryOpentsdb.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryOpentsdb.cs new file mode 100644 index 0000000..4d9510a --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryOpentsdb.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryOpentsdb + { + public readonly string Query; + + [OutputConstructor] + private SloObjectiveRawMetricQueryOpentsdb(string query) + { + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryPingdom.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryPingdom.cs new file mode 100644 index 0000000..b0e63c2 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryPingdom.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryPingdom + { + public readonly string CheckId; + public readonly string? CheckType; + public readonly string? Status; + + [OutputConstructor] + private SloObjectiveRawMetricQueryPingdom( + string checkId, + + string? checkType, + + string? status) + { + CheckId = checkId; + CheckType = checkType; + Status = status; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryPrometheus.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryPrometheus.cs new file mode 100644 index 0000000..452ab15 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryPrometheus.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryPrometheus + { + public readonly string Promql; + + [OutputConstructor] + private SloObjectiveRawMetricQueryPrometheus(string promql) + { + Promql = promql; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryRedshift.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryRedshift.cs new file mode 100644 index 0000000..576b337 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryRedshift.cs @@ -0,0 +1,37 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryRedshift + { + public readonly string ClusterId; + public readonly string DatabaseName; + public readonly string Query; + public readonly string Region; + + [OutputConstructor] + private SloObjectiveRawMetricQueryRedshift( + string clusterId, + + string databaseName, + + string query, + + string region) + { + ClusterId = clusterId; + DatabaseName = databaseName; + Query = query; + Region = region; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQuerySplunk.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQuerySplunk.cs new file mode 100644 index 0000000..15c6e23 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQuerySplunk.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQuerySplunk + { + public readonly string Query; + + [OutputConstructor] + private SloObjectiveRawMetricQuerySplunk(string query) + { + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQuerySplunkObservability.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQuerySplunkObservability.cs new file mode 100644 index 0000000..49f6004 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQuerySplunkObservability.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQuerySplunkObservability + { + public readonly string Program; + + [OutputConstructor] + private SloObjectiveRawMetricQuerySplunkObservability(string program) + { + Program = program; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQuerySumologic.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQuerySumologic.cs new file mode 100644 index 0000000..32fc56d --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQuerySumologic.cs @@ -0,0 +1,37 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQuerySumologic + { + public readonly string? Quantization; + public readonly string Query; + public readonly string? Rollup; + public readonly string Type; + + [OutputConstructor] + private SloObjectiveRawMetricQuerySumologic( + string? quantization, + + string query, + + string? rollup, + + string type) + { + Quantization = quantization; + Query = query; + Rollup = rollup; + Type = type; + } + } +} diff --git a/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryThousandeye.cs b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryThousandeye.cs new file mode 100644 index 0000000..0b5bf60 --- /dev/null +++ b/sdk/dotnet/Outputs/SloObjectiveRawMetricQueryThousandeye.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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloObjectiveRawMetricQueryThousandeye + { + public readonly int TestId; + + [OutputConstructor] + private SloObjectiveRawMetricQueryThousandeye(int testId) + { + TestId = testId; + } + } +} diff --git a/sdk/dotnet/Outputs/SloTimeWindow.cs b/sdk/dotnet/Outputs/SloTimeWindow.cs new file mode 100644 index 0000000..b3e18a6 --- /dev/null +++ b/sdk/dotnet/Outputs/SloTimeWindow.cs @@ -0,0 +1,56 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloTimeWindow + { + /// + /// Alert Policies attached to SLO + /// + public readonly ImmutableArray Calendars; + /// + /// Count of the time unit + /// + public readonly int Count; + /// + /// Is the window moving or not + /// + public readonly bool? IsRolling; + /// + /// Period between start time and added count + /// + public readonly ImmutableDictionary? Period; + /// + /// Unit of time + /// + public readonly string Unit; + + [OutputConstructor] + private SloTimeWindow( + ImmutableArray calendars, + + int count, + + bool? isRolling, + + ImmutableDictionary? period, + + string unit) + { + Calendars = calendars; + Count = count; + IsRolling = isRolling; + Period = period; + Unit = unit; + } + } +} diff --git a/sdk/dotnet/Outputs/SloTimeWindowCalendar.cs b/sdk/dotnet/Outputs/SloTimeWindowCalendar.cs new file mode 100644 index 0000000..be445d3 --- /dev/null +++ b/sdk/dotnet/Outputs/SloTimeWindowCalendar.cs @@ -0,0 +1,29 @@ +// *** 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.Nobl9.Outputs +{ + + [OutputType] + public sealed class SloTimeWindowCalendar + { + public readonly string StartTime; + public readonly string TimeZone; + + [OutputConstructor] + private SloTimeWindowCalendar( + string startTime, + + string timeZone) + { + StartTime = startTime; + TimeZone = timeZone; + } + } +} diff --git a/sdk/dotnet/Project.cs b/sdk/dotnet/Project.cs new file mode 100644 index 0000000..957eb20 --- /dev/null +++ b/sdk/dotnet/Project.cs @@ -0,0 +1,211 @@ +// *** 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.Nobl9 +{ + /// + /// **Projects** are the primary logical grouping of resources in the Nobl9 platform. All Nobl9 resources, such as data sources, SLOs, and alerts, are created within a project. + /// + /// Access controls at the project level enable users to control who can see and change these resources. For example, you can allow all of your users to view the SLOs in a given project, but only a few users to make changes. + /// + /// For more details, refer to [Project configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#project). + /// + /// ## Example Usage + /// + /// Here's an example of Project resource configuration: + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @this = new Nobl9.Project("this", new() + /// { + /// Description = "An example N9 Terraform project", + /// DisplayName = "My Project", + /// Labels = new[] + /// { + /// new Nobl9.Inputs.ProjectLabelArgs + /// { + /// Key = "env", + /// Values = new[] + /// { + /// "dev", + /// "prod", + /// }, + /// }, + /// new Nobl9.Inputs.ProjectLabelArgs + /// { + /// Key = "team", + /// Values = new[] + /// { + /// "red", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Useful Links + /// + /// [Projects in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/#projects) + /// + /// [Projects YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#project) + /// + [Nobl9ResourceType("nobl9:index/project:Project")] + public partial class Project : global::Pulumi.CustomResource + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + /// + [Output("labels")] + public Output> Labels { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + + /// + /// Create a Project 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 Project(string name, ProjectArgs? args = null, CustomResourceOptions? options = null) + : base("nobl9:index/project:Project", name, args ?? new ProjectArgs(), MakeResourceOptions(options, "")) + { + } + + private Project(string name, Input id, ProjectState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/project:Project", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 Project 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 Project Get(string name, Input id, ProjectState? state = null, CustomResourceOptions? options = null) + { + return new Project(name, id, state, options); + } + } + + public sealed class ProjectArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + [Input("labels")] + private InputList? _labels; + + /// + /// [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + /// + public InputList Labels + { + get => _labels ?? (_labels = new InputList()); + set => _labels = value; + } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + public ProjectArgs() + { + } + public static new ProjectArgs Empty => new ProjectArgs(); + } + + public sealed class ProjectState : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + [Input("labels")] + private InputList? _labels; + + /// + /// [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + /// + public InputList Labels + { + get => _labels ?? (_labels = new InputList()); + set => _labels = value; + } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + public ProjectState() + { + } + public static new ProjectState Empty => new ProjectState(); + } +} diff --git a/sdk/dotnet/Provider.cs b/sdk/dotnet/Provider.cs new file mode 100644 index 0000000..4ea208c --- /dev/null +++ b/sdk/dotnet/Provider.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.Nobl9 +{ + /// + /// The provider type for the nobl9 package. By default, resources use package-wide configuration + /// settings, however an explicit `Provider` instance may be created and passed during resource + /// construction to achieve fine-grained programmatic control over provider settings. See the + /// [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information. + /// + [Nobl9ResourceType("pulumi:providers:nobl9")] + public partial class Provider : global::Pulumi.ProviderResource + { + /// + /// the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to + /// Nobl9. + /// + [Output("clientId")] + public Output ClientId { get; private set; } = null!; + + /// + /// the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect + /// to Nobl9. + /// + [Output("clientSecret")] + public Output ClientSecret { get; private set; } = null!; + + /// + /// Nobl9 API URL. + /// + [Output("ingestUrl")] + public Output IngestUrl { get; private set; } = null!; + + /// + /// Authorization service configuration. + /// + [Output("oktaAuthServer")] + public Output OktaAuthServer { get; private set; } = null!; + + /// + /// Authorization service URL. + /// + [Output("oktaOrgUrl")] + public Output OktaOrgUrl { get; private set; } = null!; + + /// + /// Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that + /// contains resources managed by the Nobl9 Terraform provider. + /// + [Output("organization")] + public Output Organization { get; private set; } = null!; + + /// + /// Nobl9 project used when importing resources. + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + + /// + /// Create a Provider 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 Provider(string name, ProviderArgs args, CustomResourceOptions? options = null) + : base("nobl9", name, args ?? new ProviderArgs(), MakeResourceOptions(options, "")) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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; + } + } + + public sealed class ProviderArgs : global::Pulumi.ResourceArgs + { + /// + /// the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to + /// Nobl9. + /// + [Input("clientId", required: true)] + public Input ClientId { get; set; } = null!; + + /// + /// the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect + /// to Nobl9. + /// + [Input("clientSecret", required: true)] + public Input ClientSecret { get; set; } = null!; + + /// + /// Nobl9 API URL. + /// + [Input("ingestUrl")] + public Input? IngestUrl { get; set; } + + /// + /// Authorization service configuration. + /// + [Input("oktaAuthServer")] + public Input? OktaAuthServer { get; set; } + + /// + /// Authorization service URL. + /// + [Input("oktaOrgUrl")] + public Input? OktaOrgUrl { get; set; } + + /// + /// Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that + /// contains resources managed by the Nobl9 Terraform provider. + /// + [Input("organization", required: true)] + public Input Organization { get; set; } = null!; + + /// + /// Nobl9 project used when importing resources. + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + public ProviderArgs() + { + } + public static new ProviderArgs Empty => new ProviderArgs(); + } +} diff --git a/sdk/dotnet/Pulumi.Nobl9.csproj b/sdk/dotnet/Pulumi.Nobl9.csproj new file mode 100644 index 0000000..567ebca --- /dev/null +++ b/sdk/dotnet/Pulumi.Nobl9.csproj @@ -0,0 +1,61 @@ + + + + true + piclemx + piclemx + A Pulumi package for creating and managing Nobl9 cloud resources. + Apache-2.0 + https://www.pulumi.com + https://github.com/piclemx/pulumi-nobl9 + logo.png + + netcoreapp3.1 + enable + false + + + + true + 1701;1702;1591 + + + + $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb + true + true + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + True + + + + + diff --git a/sdk/dotnet/Pulumi.yaml b/sdk/dotnet/Pulumi.yaml new file mode 100644 index 0000000..e69de29 diff --git a/sdk/dotnet/README.md b/sdk/dotnet/README.md new file mode 100644 index 0000000..80dd4d7 --- /dev/null +++ b/sdk/dotnet/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Nobl9 cloud resources. diff --git a/sdk/dotnet/RoleBinding.cs b/sdk/dotnet/RoleBinding.cs new file mode 100644 index 0000000..68f7b91 --- /dev/null +++ b/sdk/dotnet/RoleBinding.cs @@ -0,0 +1,192 @@ +// *** 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.Nobl9 +{ + /// + /// ## Example Usage + /// + /// Here's an example of RBAC resource configuration: + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @this = new Nobl9.RoleBinding("this", new() + /// { + /// ProjectRef = "1234567890asdfghjkl", + /// RoleRef = "project-owner", + /// User = "1234567890asdfghjkl", + /// }); + /// + /// }); + /// ``` + /// ## Useful Links + /// + /// [Role Based Access Control in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/Getting_Started/RBAC/) + /// + /// [Role Binding YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/Getting_Started/RBAC/role-binding-yaml) + /// + [Nobl9ResourceType("nobl9:index/roleBinding:RoleBinding")] + public partial class RoleBinding : global::Pulumi.CustomResource + { + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Project name, the project in which we want the user to assume the specified role. When `project_ref` is empty, `role_ref` must contain an Organization Role. + /// + [Output("projectRef")] + public Output ProjectRef { get; private set; } = null!; + + /// + /// Role name; the role that you want the user to assume. + /// + [Output("roleRef")] + public Output RoleRef { get; private set; } = null!; + + /// + /// Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + /// + [Output("user")] + public Output User { get; private set; } = null!; + + + /// + /// Create a RoleBinding 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 RoleBinding(string name, RoleBindingArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/roleBinding:RoleBinding", name, args ?? new RoleBindingArgs(), MakeResourceOptions(options, "")) + { + } + + private RoleBinding(string name, Input id, RoleBindingState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/roleBinding:RoleBinding", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 RoleBinding 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 RoleBinding Get(string name, Input id, RoleBindingState? state = null, CustomResourceOptions? options = null) + { + return new RoleBinding(name, id, state, options); + } + } + + public sealed class RoleBindingArgs : global::Pulumi.ResourceArgs + { + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Project name, the project in which we want the user to assume the specified role. When `project_ref` is empty, `role_ref` must contain an Organization Role. + /// + [Input("projectRef")] + public Input? ProjectRef { get; set; } + + /// + /// Role name; the role that you want the user to assume. + /// + [Input("roleRef", required: true)] + public Input RoleRef { get; set; } = null!; + + /// + /// Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + /// + [Input("user", required: true)] + public Input User { get; set; } = null!; + + public RoleBindingArgs() + { + } + public static new RoleBindingArgs Empty => new RoleBindingArgs(); + } + + public sealed class RoleBindingState : global::Pulumi.ResourceArgs + { + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Project name, the project in which we want the user to assume the specified role. When `project_ref` is empty, `role_ref` must contain an Organization Role. + /// + [Input("projectRef")] + public Input? ProjectRef { get; set; } + + /// + /// Role name; the role that you want the user to assume. + /// + [Input("roleRef")] + public Input? RoleRef { get; set; } + + /// + /// Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + /// + [Input("user")] + public Input? User { get; set; } + + public RoleBindingState() + { + } + public static new RoleBindingState Empty => new RoleBindingState(); + } +} diff --git a/sdk/dotnet/Service.cs b/sdk/dotnet/Service.cs new file mode 100644 index 0000000..77f3be8 --- /dev/null +++ b/sdk/dotnet/Service.cs @@ -0,0 +1,252 @@ +// *** 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.Nobl9 +{ + /// + /// A **service** in Nobl9 is a high-level grouping of Service Level Objectives (SLOs). A service can represent a logical service endpoint like an API, a database, an application, or anything else you care about setting an SLO for. Every SLO in Nobl9 is tied to a service, and the service can have one or more SLOs. + /// + /// For more details, refer to the [Service configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#service). + /// + /// ## Example Usage + /// + /// Here's an example of Service resource configuration: + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Nobl9 = Pulumi.Nobl9; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var thisProject = new Nobl9.Project("thisProject", new() + /// { + /// DisplayName = "My Project", + /// Description = "An example N9 Terraform project", + /// }); + /// + /// var thisService = new Nobl9.Service("thisService", new() + /// { + /// Project = thisProject.Name, + /// DisplayName = thisProject.DisplayName.Apply(displayName => $"{displayName} Front Page"), + /// Description = "Front page service", + /// Labels = new[] + /// { + /// new Nobl9.Inputs.ServiceLabelArgs + /// { + /// Key = "env", + /// Values = new[] + /// { + /// "dev", + /// "prod", + /// }, + /// }, + /// new Nobl9.Inputs.ServiceLabelArgs + /// { + /// Key = "team", + /// Values = new[] + /// { + /// "red", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Useful Links + /// + /// [Services in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/#services) + /// + /// [Service YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide/#service) + /// + [Nobl9ResourceType("nobl9:index/service:Service")] + public partial class Service : global::Pulumi.CustomResource + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + /// + [Output("labels")] + public Output> Labels { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// Status of created service. + /// + [Output("status")] + public Output> Status { get; private set; } = null!; + + + /// + /// Create a Service 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 Service(string name, ServiceArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/service:Service", name, args ?? new ServiceArgs(), MakeResourceOptions(options, "")) + { + } + + private Service(string name, Input id, ServiceState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/service:Service", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 Service 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 Service Get(string name, Input id, ServiceState? state = null, CustomResourceOptions? options = null) + { + return new Service(name, id, state, options); + } + } + + public sealed class ServiceArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + [Input("labels")] + private InputList? _labels; + + /// + /// [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + /// + public InputList Labels + { + get => _labels ?? (_labels = new InputList()); + set => _labels = value; + } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + public ServiceArgs() + { + } + public static new ServiceArgs Empty => new ServiceArgs(); + } + + public sealed class ServiceState : global::Pulumi.ResourceArgs + { + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + [Input("labels")] + private InputList? _labels; + + /// + /// [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + /// + public InputList Labels + { + get => _labels ?? (_labels = new InputList()); + set => _labels = value; + } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + [Input("status")] + private InputMap? _status; + + /// + /// Status of created service. + /// + public InputMap Status + { + get => _status ?? (_status = new InputMap()); + set => _status = value; + } + + public ServiceState() + { + } + public static new ServiceState Empty => new ServiceState(); + } +} diff --git a/sdk/dotnet/Slo.cs b/sdk/dotnet/Slo.cs new file mode 100644 index 0000000..b09f592 --- /dev/null +++ b/sdk/dotnet/Slo.cs @@ -0,0 +1,339 @@ +// *** 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.Nobl9 +{ + /// + /// An SLO is a target value or range of values for a service that is measured by a service level indicator (SLI). SLOs allows you to define the reliability of your products and services in terms of customer expectations. You can create SLOs for user journeys, internal services, or even infrastructure. + /// + /// For more information, refer to [SLO configuration documentation](https://docs.nobl9.com/yaml-guide#slo) + /// + /// ## Nobl9 Official Documentation + /// + /// https://docs.nobl9.com/SLOs_as_code/?_highlight=slo + /// + [Nobl9ResourceType("nobl9:index/slo:Slo")] + public partial class Slo : global::Pulumi.CustomResource + { + /// + /// Alert Policies attached to SLO + /// + [Output("alertPolicies")] + public Output> AlertPolicies { get; private set; } = null!; + + [Output("attachments")] + public Output> Attachments { get; private set; } = null!; + + /// + /// Method which will be use to calculate budget + /// + [Output("budgetingMethod")] + public Output BudgetingMethod { get; private set; } = null!; + + /// + /// [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + /// + [Output("composite")] + public Output Composite { get; private set; } = null!; + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// User-friendly display name of the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + [Output("indicator")] + public Output Indicator { get; private set; } = null!; + + /// + /// [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + /// + [Output("labels")] + public Output> Labels { get; private set; } = null!; + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + /// + [Output("objectives")] + public Output> Objectives { get; private set; } = null!; + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// Name of the service + /// + [Output("service")] + public Output Service { get; private set; } = null!; + + [Output("timeWindow")] + public Output TimeWindow { get; private set; } = null!; + + + /// + /// Create a Slo 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 Slo(string name, SloArgs args, CustomResourceOptions? options = null) + : base("nobl9:index/slo:Slo", name, args ?? new SloArgs(), MakeResourceOptions(options, "")) + { + } + + private Slo(string name, Input id, SloState? state = null, CustomResourceOptions? options = null) + : base("nobl9:index/slo:Slo", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "https://github.com/piclemx/pulumi-nobl9/releases/", + }; + 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 Slo 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 Slo Get(string name, Input id, SloState? state = null, CustomResourceOptions? options = null) + { + return new Slo(name, id, state, options); + } + } + + public sealed class SloArgs : global::Pulumi.ResourceArgs + { + [Input("alertPolicies")] + private InputList? _alertPolicies; + + /// + /// Alert Policies attached to SLO + /// + public InputList AlertPolicies + { + get => _alertPolicies ?? (_alertPolicies = new InputList()); + set => _alertPolicies = value; + } + + [Input("attachments")] + private InputList? _attachments; + [Obsolete(@"""attachments"" argument is deprecated use ""attachment"" instead")] + public InputList Attachments + { + get => _attachments ?? (_attachments = new InputList()); + set => _attachments = value; + } + + /// + /// Method which will be use to calculate budget + /// + [Input("budgetingMethod", required: true)] + public Input BudgetingMethod { get; set; } = null!; + + /// + /// [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + /// + [Input("composite")] + public Input? Composite { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + [Input("indicator", required: true)] + public Input Indicator { get; set; } = null!; + + [Input("labels")] + private InputList? _labels; + + /// + /// [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + /// + public InputList Labels + { + get => _labels ?? (_labels = new InputList()); + set => _labels = value; + } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("objectives", required: true)] + private InputList? _objectives; + + /// + /// [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + /// + public InputList Objectives + { + get => _objectives ?? (_objectives = new InputList()); + set => _objectives = value; + } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// Name of the service + /// + [Input("service", required: true)] + public Input Service { get; set; } = null!; + + [Input("timeWindow", required: true)] + public Input TimeWindow { get; set; } = null!; + + public SloArgs() + { + } + public static new SloArgs Empty => new SloArgs(); + } + + public sealed class SloState : global::Pulumi.ResourceArgs + { + [Input("alertPolicies")] + private InputList? _alertPolicies; + + /// + /// Alert Policies attached to SLO + /// + public InputList AlertPolicies + { + get => _alertPolicies ?? (_alertPolicies = new InputList()); + set => _alertPolicies = value; + } + + [Input("attachments")] + private InputList? _attachments; + [Obsolete(@"""attachments"" argument is deprecated use ""attachment"" instead")] + public InputList Attachments + { + get => _attachments ?? (_attachments = new InputList()); + set => _attachments = value; + } + + /// + /// Method which will be use to calculate budget + /// + [Input("budgetingMethod")] + public Input? BudgetingMethod { get; set; } + + /// + /// [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + /// + [Input("composite")] + public Input? Composite { get; set; } + + /// + /// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User-friendly display name of the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + [Input("indicator")] + public Input? Indicator { get; set; } + + [Input("labels")] + private InputList? _labels; + + /// + /// [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + /// + public InputList Labels + { + get => _labels ?? (_labels = new InputList()); + set => _labels = value; + } + + /// + /// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("objectives")] + private InputList? _objectives; + + /// + /// [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + /// + public InputList Objectives + { + get => _objectives ?? (_objectives = new InputList()); + set => _objectives = value; + } + + /// + /// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// Name of the service + /// + [Input("service")] + public Input? Service { get; set; } + + [Input("timeWindow")] + public Input? TimeWindow { get; set; } + + public SloState() + { + } + public static new SloState Empty => new SloState(); + } +} diff --git a/sdk/dotnet/Utilities.cs b/sdk/dotnet/Utilities.cs new file mode 100644 index 0000000..b512474 --- /dev/null +++ b/sdk/dotnet/Utilities.cs @@ -0,0 +1,84 @@ +// *** 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! *** + +namespace Pulumi.Nobl9 +{ + static class Utilities + { + public static string? GetEnv(params string[] names) + { + foreach (var n in names) + { + var value = global::System.Environment.GetEnvironmentVariable(n); + if (value != null) + { + return value; + } + } + return null; + } + + static string[] trueValues = { "1", "t", "T", "true", "TRUE", "True" }; + static string[] falseValues = { "0", "f", "F", "false", "FALSE", "False" }; + public static bool? GetEnvBoolean(params string[] names) + { + var s = GetEnv(names); + if (s != null) + { + if (global::System.Array.IndexOf(trueValues, s) != -1) + { + return true; + } + if (global::System.Array.IndexOf(falseValues, s) != -1) + { + return false; + } + } + return null; + } + + public static int? GetEnvInt32(params string[] names) => int.TryParse(GetEnv(names), out int v) ? (int?)v : null; + + public static double? GetEnvDouble(params string[] names) => double.TryParse(GetEnv(names), out double v) ? (double?)v : null; + + [global::System.Obsolete("Please use WithDefaults instead")] + public static global::Pulumi.InvokeOptions WithVersion(this global::Pulumi.InvokeOptions? options) + { + var dst = options ?? new global::Pulumi.InvokeOptions{}; + dst.Version = options?.Version ?? Version; + return dst; + } + + public static global::Pulumi.InvokeOptions WithDefaults(this global::Pulumi.InvokeOptions? src) + { + var dst = src ?? new global::Pulumi.InvokeOptions{}; + dst.Version = src?.Version ?? Version; + dst.PluginDownloadURL = src?.PluginDownloadURL ?? "https://github.com/piclemx/pulumi-nobl9/releases/"; + return dst; + } + + private readonly static string version; + public static string Version => version; + + static Utilities() + { + var assembly = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(Utilities)).Assembly; + using var stream = assembly.GetManifestResourceStream("Pulumi.Nobl9.version.txt"); + using var reader = new global::System.IO.StreamReader(stream ?? throw new global::System.NotSupportedException("Missing embedded version.txt file")); + version = reader.ReadToEnd().Trim(); + var parts = version.Split("\n"); + if (parts.Length == 2) + { + // The first part is the provider name. + version = parts[1].Trim(); + } + } + } + + internal sealed class Nobl9ResourceTypeAttribute : global::Pulumi.ResourceTypeAttribute + { + public Nobl9ResourceTypeAttribute(string type) : base(type, Utilities.Version) + { + } + } +} diff --git a/sdk/dotnet/logo.png b/sdk/dotnet/logo.png new file mode 100644 index 0000000..181f421 Binary files /dev/null and b/sdk/dotnet/logo.png differ diff --git a/sdk/dotnet/pulumi-plugin.json b/sdk/dotnet/pulumi-plugin.json new file mode 100644 index 0000000..44404ee --- /dev/null +++ b/sdk/dotnet/pulumi-plugin.json @@ -0,0 +1,5 @@ +{ + "resource": true, + "name": "nobl9", + "server": "https://github.com/piclemx/pulumi-nobl9/releases/" +} diff --git a/sdk/go.mod b/sdk/go.mod index f120490..e24ee62 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -1,5 +1,3 @@ -module github.com/pulumi/pulumi-xyz/sdk +module github.com/piclemx/pulumi-nobl9/sdk go 1.17 - -require github.com/pulumi/pulumi/sdk/v3 v3.38.0 diff --git a/sdk/go/Pulumi.yaml b/sdk/go/Pulumi.yaml new file mode 100644 index 0000000..e69de29 diff --git a/sdk/go/nobl9/agent.go b/sdk/go/nobl9/agent.go new file mode 100644 index 0000000..45e616d --- /dev/null +++ b/sdk/go/nobl9/agent.go @@ -0,0 +1,723 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The Agent is a lightweight application that executes the queries defined for your Nobl9 SLOs. Queries are written in the language supported by the data source in question and executed via native APIs. +// +// The Agent then sends your SLI metrics back to Nobl9 for processing and error budget calculation. +// +// For more information, refer to [Agent configuration | Nobl9 Documentation](https://docs.nobl9.com/nobl9_agent) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// thisProject, err := nobl9.NewProject(ctx, "thisProject", &nobl9.ProjectArgs{ +// DisplayName: pulumi.String("Test N9 Terraform"), +// Description: pulumi.String("An example N9 Terraform project"), +// }) +// if err != nil { +// return err +// } +// _, err = nobl9.NewAgent(ctx, "thisAgent", &nobl9.AgentArgs{ +// Project: thisProject.Name, +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// AgentType: pulumi.String("prometheus"), +// PrometheusConfig: &AgentPrometheusConfigArgs{ +// Url: pulumi.String("http://web.net"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type Agent struct { + pulumi.CustomResourceState + + // The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + AgentType pulumi.StringOutput `pulumi:"agentType"` + // [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + AmazonPrometheusConfig AgentAmazonPrometheusConfigPtrOutput `pulumi:"amazonPrometheusConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + AppdynamicsConfig AgentAppdynamicsConfigPtrOutput `pulumi:"appdynamicsConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + BigqueryConfig AgentBigqueryConfigPtrOutput `pulumi:"bigqueryConfig"` + // client_id of created agent. + ClientId pulumi.StringOutput `pulumi:"clientId"` + // client_secret of created agent. + ClientSecret pulumi.StringOutput `pulumi:"clientSecret"` + // [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + CloudwatchConfig AgentCloudwatchConfigPtrOutput `pulumi:"cloudwatchConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + DatadogConfig AgentDatadogConfigPtrOutput `pulumi:"datadogConfig"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + DynatraceConfig AgentDynatraceConfigPtrOutput `pulumi:"dynatraceConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + ElasticsearchConfig AgentElasticsearchConfigPtrOutput `pulumi:"elasticsearchConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + GcmConfig AgentGcmConfigPtrOutput `pulumi:"gcmConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + GrafanaLokiConfig AgentGrafanaLokiConfigPtrOutput `pulumi:"grafanaLokiConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + GraphiteConfig AgentGraphiteConfigPtrOutput `pulumi:"graphiteConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + InfluxdbConfig AgentInfluxdbConfigPtrOutput `pulumi:"influxdbConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + InstanaConfig AgentInstanaConfigPtrOutput `pulumi:"instanaConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + LightstepConfig AgentLightstepConfigPtrOutput `pulumi:"lightstepConfig"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + NewrelicConfig AgentNewrelicConfigPtrOutput `pulumi:"newrelicConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + OpentsdbConfig AgentOpentsdbConfigPtrOutput `pulumi:"opentsdbConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + PingdomConfig AgentPingdomConfigPtrOutput `pulumi:"pingdomConfig"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + PrometheusConfig AgentPrometheusConfigPtrOutput `pulumi:"prometheusConfig"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay AgentQueryDelayPtrOutput `pulumi:"queryDelay"` + // [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + RedshiftConfig AgentRedshiftConfigPtrOutput `pulumi:"redshiftConfig"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + SplunkConfig AgentSplunkConfigPtrOutput `pulumi:"splunkConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + SplunkObservabilityConfig AgentSplunkObservabilityConfigPtrOutput `pulumi:"splunkObservabilityConfig"` + // Status of the created agent. + Status pulumi.MapOutput `pulumi:"status"` + // [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + SumologicConfig AgentSumologicConfigPtrOutput `pulumi:"sumologicConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + ThousandeyesConfig AgentThousandeyesConfigPtrOutput `pulumi:"thousandeyesConfig"` +} + +// NewAgent registers a new resource with the given unique name, arguments, and options. +func NewAgent(ctx *pulumi.Context, + name string, args *AgentArgs, opts ...pulumi.ResourceOption) (*Agent, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AgentType == nil { + return nil, errors.New("invalid value for required argument 'AgentType'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + opts = pkgResourceDefaultOpts(opts) + var resource Agent + err := ctx.RegisterResource("nobl9:index/agent:Agent", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAgent gets an existing Agent 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 GetAgent(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AgentState, opts ...pulumi.ResourceOption) (*Agent, error) { + var resource Agent + err := ctx.ReadResource("nobl9:index/agent:Agent", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Agent resources. +type agentState struct { + // The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + AgentType *string `pulumi:"agentType"` + // [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + AmazonPrometheusConfig *AgentAmazonPrometheusConfig `pulumi:"amazonPrometheusConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + AppdynamicsConfig *AgentAppdynamicsConfig `pulumi:"appdynamicsConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + BigqueryConfig *AgentBigqueryConfig `pulumi:"bigqueryConfig"` + // client_id of created agent. + ClientId *string `pulumi:"clientId"` + // client_secret of created agent. + ClientSecret *string `pulumi:"clientSecret"` + // [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + CloudwatchConfig *AgentCloudwatchConfig `pulumi:"cloudwatchConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + DatadogConfig *AgentDatadogConfig `pulumi:"datadogConfig"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + DynatraceConfig *AgentDynatraceConfig `pulumi:"dynatraceConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + ElasticsearchConfig *AgentElasticsearchConfig `pulumi:"elasticsearchConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + GcmConfig *AgentGcmConfig `pulumi:"gcmConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + GrafanaLokiConfig *AgentGrafanaLokiConfig `pulumi:"grafanaLokiConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + GraphiteConfig *AgentGraphiteConfig `pulumi:"graphiteConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + InfluxdbConfig *AgentInfluxdbConfig `pulumi:"influxdbConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + InstanaConfig *AgentInstanaConfig `pulumi:"instanaConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + LightstepConfig *AgentLightstepConfig `pulumi:"lightstepConfig"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + NewrelicConfig *AgentNewrelicConfig `pulumi:"newrelicConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + OpentsdbConfig *AgentOpentsdbConfig `pulumi:"opentsdbConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + PingdomConfig *AgentPingdomConfig `pulumi:"pingdomConfig"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + PrometheusConfig *AgentPrometheusConfig `pulumi:"prometheusConfig"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *AgentQueryDelay `pulumi:"queryDelay"` + // [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + RedshiftConfig *AgentRedshiftConfig `pulumi:"redshiftConfig"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + SplunkConfig *AgentSplunkConfig `pulumi:"splunkConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + SplunkObservabilityConfig *AgentSplunkObservabilityConfig `pulumi:"splunkObservabilityConfig"` + // Status of the created agent. + Status map[string]interface{} `pulumi:"status"` + // [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + SumologicConfig *AgentSumologicConfig `pulumi:"sumologicConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + ThousandeyesConfig *AgentThousandeyesConfig `pulumi:"thousandeyesConfig"` +} + +type AgentState struct { + // The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + AgentType pulumi.StringPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + AmazonPrometheusConfig AgentAmazonPrometheusConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + AppdynamicsConfig AgentAppdynamicsConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + BigqueryConfig AgentBigqueryConfigPtrInput + // client_id of created agent. + ClientId pulumi.StringPtrInput + // client_secret of created agent. + ClientSecret pulumi.StringPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + CloudwatchConfig AgentCloudwatchConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + DatadogConfig AgentDatadogConfigPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + DynatraceConfig AgentDynatraceConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + ElasticsearchConfig AgentElasticsearchConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + GcmConfig AgentGcmConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + GrafanaLokiConfig AgentGrafanaLokiConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + GraphiteConfig AgentGraphiteConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + InfluxdbConfig AgentInfluxdbConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + InstanaConfig AgentInstanaConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + LightstepConfig AgentLightstepConfigPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + NewrelicConfig AgentNewrelicConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + OpentsdbConfig AgentOpentsdbConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + PingdomConfig AgentPingdomConfigPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + PrometheusConfig AgentPrometheusConfigPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay AgentQueryDelayPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + RedshiftConfig AgentRedshiftConfigPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + SplunkConfig AgentSplunkConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + SplunkObservabilityConfig AgentSplunkObservabilityConfigPtrInput + // Status of the created agent. + Status pulumi.MapInput + // [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + SumologicConfig AgentSumologicConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + ThousandeyesConfig AgentThousandeyesConfigPtrInput +} + +func (AgentState) ElementType() reflect.Type { + return reflect.TypeOf((*agentState)(nil)).Elem() +} + +type agentArgs struct { + // The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + AgentType string `pulumi:"agentType"` + // [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + AmazonPrometheusConfig *AgentAmazonPrometheusConfig `pulumi:"amazonPrometheusConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + AppdynamicsConfig *AgentAppdynamicsConfig `pulumi:"appdynamicsConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + BigqueryConfig *AgentBigqueryConfig `pulumi:"bigqueryConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + CloudwatchConfig *AgentCloudwatchConfig `pulumi:"cloudwatchConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + DatadogConfig *AgentDatadogConfig `pulumi:"datadogConfig"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + DynatraceConfig *AgentDynatraceConfig `pulumi:"dynatraceConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + ElasticsearchConfig *AgentElasticsearchConfig `pulumi:"elasticsearchConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + GcmConfig *AgentGcmConfig `pulumi:"gcmConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + GrafanaLokiConfig *AgentGrafanaLokiConfig `pulumi:"grafanaLokiConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + GraphiteConfig *AgentGraphiteConfig `pulumi:"graphiteConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + InfluxdbConfig *AgentInfluxdbConfig `pulumi:"influxdbConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + InstanaConfig *AgentInstanaConfig `pulumi:"instanaConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + LightstepConfig *AgentLightstepConfig `pulumi:"lightstepConfig"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + NewrelicConfig *AgentNewrelicConfig `pulumi:"newrelicConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + OpentsdbConfig *AgentOpentsdbConfig `pulumi:"opentsdbConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + PingdomConfig *AgentPingdomConfig `pulumi:"pingdomConfig"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + PrometheusConfig *AgentPrometheusConfig `pulumi:"prometheusConfig"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *AgentQueryDelay `pulumi:"queryDelay"` + // [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + RedshiftConfig *AgentRedshiftConfig `pulumi:"redshiftConfig"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + SplunkConfig *AgentSplunkConfig `pulumi:"splunkConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + SplunkObservabilityConfig *AgentSplunkObservabilityConfig `pulumi:"splunkObservabilityConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + SumologicConfig *AgentSumologicConfig `pulumi:"sumologicConfig"` + // [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + ThousandeyesConfig *AgentThousandeyesConfig `pulumi:"thousandeyesConfig"` +} + +// The set of arguments for constructing a Agent resource. +type AgentArgs struct { + // The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + AgentType pulumi.StringInput + // [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + AmazonPrometheusConfig AgentAmazonPrometheusConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + AppdynamicsConfig AgentAppdynamicsConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + BigqueryConfig AgentBigqueryConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + CloudwatchConfig AgentCloudwatchConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + DatadogConfig AgentDatadogConfigPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + DynatraceConfig AgentDynatraceConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + ElasticsearchConfig AgentElasticsearchConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + GcmConfig AgentGcmConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + GrafanaLokiConfig AgentGrafanaLokiConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + GraphiteConfig AgentGraphiteConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + InfluxdbConfig AgentInfluxdbConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + InstanaConfig AgentInstanaConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + LightstepConfig AgentLightstepConfigPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + NewrelicConfig AgentNewrelicConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + OpentsdbConfig AgentOpentsdbConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + PingdomConfig AgentPingdomConfigPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + PrometheusConfig AgentPrometheusConfigPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay AgentQueryDelayPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + RedshiftConfig AgentRedshiftConfigPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + SplunkConfig AgentSplunkConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + SplunkObservabilityConfig AgentSplunkObservabilityConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + SumologicConfig AgentSumologicConfigPtrInput + // [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + ThousandeyesConfig AgentThousandeyesConfigPtrInput +} + +func (AgentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*agentArgs)(nil)).Elem() +} + +type AgentInput interface { + pulumi.Input + + ToAgentOutput() AgentOutput + ToAgentOutputWithContext(ctx context.Context) AgentOutput +} + +func (*Agent) ElementType() reflect.Type { + return reflect.TypeOf((**Agent)(nil)).Elem() +} + +func (i *Agent) ToAgentOutput() AgentOutput { + return i.ToAgentOutputWithContext(context.Background()) +} + +func (i *Agent) ToAgentOutputWithContext(ctx context.Context) AgentOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentOutput) +} + +// AgentArrayInput is an input type that accepts AgentArray and AgentArrayOutput values. +// You can construct a concrete instance of `AgentArrayInput` via: +// +// AgentArray{ AgentArgs{...} } +type AgentArrayInput interface { + pulumi.Input + + ToAgentArrayOutput() AgentArrayOutput + ToAgentArrayOutputWithContext(context.Context) AgentArrayOutput +} + +type AgentArray []AgentInput + +func (AgentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Agent)(nil)).Elem() +} + +func (i AgentArray) ToAgentArrayOutput() AgentArrayOutput { + return i.ToAgentArrayOutputWithContext(context.Background()) +} + +func (i AgentArray) ToAgentArrayOutputWithContext(ctx context.Context) AgentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentArrayOutput) +} + +// AgentMapInput is an input type that accepts AgentMap and AgentMapOutput values. +// You can construct a concrete instance of `AgentMapInput` via: +// +// AgentMap{ "key": AgentArgs{...} } +type AgentMapInput interface { + pulumi.Input + + ToAgentMapOutput() AgentMapOutput + ToAgentMapOutputWithContext(context.Context) AgentMapOutput +} + +type AgentMap map[string]AgentInput + +func (AgentMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Agent)(nil)).Elem() +} + +func (i AgentMap) ToAgentMapOutput() AgentMapOutput { + return i.ToAgentMapOutputWithContext(context.Background()) +} + +func (i AgentMap) ToAgentMapOutputWithContext(ctx context.Context) AgentMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentMapOutput) +} + +type AgentOutput struct{ *pulumi.OutputState } + +func (AgentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Agent)(nil)).Elem() +} + +func (o AgentOutput) ToAgentOutput() AgentOutput { + return o +} + +func (o AgentOutput) ToAgentOutputWithContext(ctx context.Context) AgentOutput { + return o +} + +// The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) +func (o AgentOutput) AgentType() pulumi.StringOutput { + return o.ApplyT(func(v *Agent) pulumi.StringOutput { return v.AgentType }).(pulumi.StringOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) +func (o AgentOutput) AmazonPrometheusConfig() AgentAmazonPrometheusConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentAmazonPrometheusConfigPtrOutput { return v.AmazonPrometheusConfig }).(AgentAmazonPrometheusConfigPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) +func (o AgentOutput) AppdynamicsConfig() AgentAppdynamicsConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentAppdynamicsConfigPtrOutput { return v.AppdynamicsConfig }).(AgentAppdynamicsConfigPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) +func (o AgentOutput) BigqueryConfig() AgentBigqueryConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentBigqueryConfigPtrOutput { return v.BigqueryConfig }).(AgentBigqueryConfigPtrOutput) +} + +// client_id of created agent. +func (o AgentOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v *Agent) pulumi.StringOutput { return v.ClientId }).(pulumi.StringOutput) +} + +// client_secret of created agent. +func (o AgentOutput) ClientSecret() pulumi.StringOutput { + return o.ApplyT(func(v *Agent) pulumi.StringOutput { return v.ClientSecret }).(pulumi.StringOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) +func (o AgentOutput) CloudwatchConfig() AgentCloudwatchConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentCloudwatchConfigPtrOutput { return v.CloudwatchConfig }).(AgentCloudwatchConfigPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) +func (o AgentOutput) DatadogConfig() AgentDatadogConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentDatadogConfigPtrOutput { return v.DatadogConfig }).(AgentDatadogConfigPtrOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o AgentOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Agent) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o AgentOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Agent) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) +func (o AgentOutput) DynatraceConfig() AgentDynatraceConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentDynatraceConfigPtrOutput { return v.DynatraceConfig }).(AgentDynatraceConfigPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) +func (o AgentOutput) ElasticsearchConfig() AgentElasticsearchConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentElasticsearchConfigPtrOutput { return v.ElasticsearchConfig }).(AgentElasticsearchConfigPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) +func (o AgentOutput) GcmConfig() AgentGcmConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentGcmConfigPtrOutput { return v.GcmConfig }).(AgentGcmConfigPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) +func (o AgentOutput) GrafanaLokiConfig() AgentGrafanaLokiConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentGrafanaLokiConfigPtrOutput { return v.GrafanaLokiConfig }).(AgentGrafanaLokiConfigPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) +func (o AgentOutput) GraphiteConfig() AgentGraphiteConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentGraphiteConfigPtrOutput { return v.GraphiteConfig }).(AgentGraphiteConfigPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) +func (o AgentOutput) InfluxdbConfig() AgentInfluxdbConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentInfluxdbConfigPtrOutput { return v.InfluxdbConfig }).(AgentInfluxdbConfigPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) +func (o AgentOutput) InstanaConfig() AgentInstanaConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentInstanaConfigPtrOutput { return v.InstanaConfig }).(AgentInstanaConfigPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) +func (o AgentOutput) LightstepConfig() AgentLightstepConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentLightstepConfigPtrOutput { return v.LightstepConfig }).(AgentLightstepConfigPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AgentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Agent) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) +func (o AgentOutput) NewrelicConfig() AgentNewrelicConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentNewrelicConfigPtrOutput { return v.NewrelicConfig }).(AgentNewrelicConfigPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) +func (o AgentOutput) OpentsdbConfig() AgentOpentsdbConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentOpentsdbConfigPtrOutput { return v.OpentsdbConfig }).(AgentOpentsdbConfigPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) +func (o AgentOutput) PingdomConfig() AgentPingdomConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentPingdomConfigPtrOutput { return v.PingdomConfig }).(AgentPingdomConfigPtrOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AgentOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *Agent) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) +func (o AgentOutput) PrometheusConfig() AgentPrometheusConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentPrometheusConfigPtrOutput { return v.PrometheusConfig }).(AgentPrometheusConfigPtrOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o AgentOutput) QueryDelay() AgentQueryDelayPtrOutput { + return o.ApplyT(func(v *Agent) AgentQueryDelayPtrOutput { return v.QueryDelay }).(AgentQueryDelayPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) +func (o AgentOutput) RedshiftConfig() AgentRedshiftConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentRedshiftConfigPtrOutput { return v.RedshiftConfig }).(AgentRedshiftConfigPtrOutput) +} + +// Source of Metrics and/or Services. +func (o AgentOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Agent) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) +func (o AgentOutput) SplunkConfig() AgentSplunkConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentSplunkConfigPtrOutput { return v.SplunkConfig }).(AgentSplunkConfigPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) +func (o AgentOutput) SplunkObservabilityConfig() AgentSplunkObservabilityConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentSplunkObservabilityConfigPtrOutput { return v.SplunkObservabilityConfig }).(AgentSplunkObservabilityConfigPtrOutput) +} + +// Status of the created agent. +func (o AgentOutput) Status() pulumi.MapOutput { + return o.ApplyT(func(v *Agent) pulumi.MapOutput { return v.Status }).(pulumi.MapOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) +func (o AgentOutput) SumologicConfig() AgentSumologicConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentSumologicConfigPtrOutput { return v.SumologicConfig }).(AgentSumologicConfigPtrOutput) +} + +// [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) +func (o AgentOutput) ThousandeyesConfig() AgentThousandeyesConfigPtrOutput { + return o.ApplyT(func(v *Agent) AgentThousandeyesConfigPtrOutput { return v.ThousandeyesConfig }).(AgentThousandeyesConfigPtrOutput) +} + +type AgentArrayOutput struct{ *pulumi.OutputState } + +func (AgentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Agent)(nil)).Elem() +} + +func (o AgentArrayOutput) ToAgentArrayOutput() AgentArrayOutput { + return o +} + +func (o AgentArrayOutput) ToAgentArrayOutputWithContext(ctx context.Context) AgentArrayOutput { + return o +} + +func (o AgentArrayOutput) Index(i pulumi.IntInput) AgentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Agent { + return vs[0].([]*Agent)[vs[1].(int)] + }).(AgentOutput) +} + +type AgentMapOutput struct{ *pulumi.OutputState } + +func (AgentMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Agent)(nil)).Elem() +} + +func (o AgentMapOutput) ToAgentMapOutput() AgentMapOutput { + return o +} + +func (o AgentMapOutput) ToAgentMapOutputWithContext(ctx context.Context) AgentMapOutput { + return o +} + +func (o AgentMapOutput) MapIndex(k pulumi.StringInput) AgentOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Agent { + return vs[0].(map[string]*Agent)[vs[1].(string)] + }).(AgentOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AgentInput)(nil)).Elem(), &Agent{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentArrayInput)(nil)).Elem(), AgentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentMapInput)(nil)).Elem(), AgentMap{}) + pulumi.RegisterOutputType(AgentOutput{}) + pulumi.RegisterOutputType(AgentArrayOutput{}) + pulumi.RegisterOutputType(AgentMapOutput{}) +} diff --git a/sdk/go/nobl9/alertMethodDiscord.go b/sdk/go/nobl9/alertMethodDiscord.go new file mode 100644 index 0000000..14a1a2d --- /dev/null +++ b/sdk/go/nobl9/alertMethodDiscord.go @@ -0,0 +1,277 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type AlertMethodDiscord struct { + pulumi.CustomResourceState + + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewAlertMethodDiscord registers a new resource with the given unique name, arguments, and options. +func NewAlertMethodDiscord(ctx *pulumi.Context, + name string, args *AlertMethodDiscordArgs, opts ...pulumi.ResourceOption) (*AlertMethodDiscord, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + opts = pkgResourceDefaultOpts(opts) + var resource AlertMethodDiscord + err := ctx.RegisterResource("nobl9:index/alertMethodDiscord:AlertMethodDiscord", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAlertMethodDiscord gets an existing AlertMethodDiscord 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 GetAlertMethodDiscord(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AlertMethodDiscordState, opts ...pulumi.ResourceOption) (*AlertMethodDiscord, error) { + var resource AlertMethodDiscord + err := ctx.ReadResource("nobl9:index/alertMethodDiscord:AlertMethodDiscord", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AlertMethodDiscord resources. +type alertMethodDiscordState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + Url *string `pulumi:"url"` +} + +type AlertMethodDiscordState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + Url pulumi.StringPtrInput +} + +func (AlertMethodDiscordState) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodDiscordState)(nil)).Elem() +} + +type alertMethodDiscordArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + Url *string `pulumi:"url"` +} + +// The set of arguments for constructing a AlertMethodDiscord resource. +type AlertMethodDiscordArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + Url pulumi.StringPtrInput +} + +func (AlertMethodDiscordArgs) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodDiscordArgs)(nil)).Elem() +} + +type AlertMethodDiscordInput interface { + pulumi.Input + + ToAlertMethodDiscordOutput() AlertMethodDiscordOutput + ToAlertMethodDiscordOutputWithContext(ctx context.Context) AlertMethodDiscordOutput +} + +func (*AlertMethodDiscord) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodDiscord)(nil)).Elem() +} + +func (i *AlertMethodDiscord) ToAlertMethodDiscordOutput() AlertMethodDiscordOutput { + return i.ToAlertMethodDiscordOutputWithContext(context.Background()) +} + +func (i *AlertMethodDiscord) ToAlertMethodDiscordOutputWithContext(ctx context.Context) AlertMethodDiscordOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodDiscordOutput) +} + +// AlertMethodDiscordArrayInput is an input type that accepts AlertMethodDiscordArray and AlertMethodDiscordArrayOutput values. +// You can construct a concrete instance of `AlertMethodDiscordArrayInput` via: +// +// AlertMethodDiscordArray{ AlertMethodDiscordArgs{...} } +type AlertMethodDiscordArrayInput interface { + pulumi.Input + + ToAlertMethodDiscordArrayOutput() AlertMethodDiscordArrayOutput + ToAlertMethodDiscordArrayOutputWithContext(context.Context) AlertMethodDiscordArrayOutput +} + +type AlertMethodDiscordArray []AlertMethodDiscordInput + +func (AlertMethodDiscordArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodDiscord)(nil)).Elem() +} + +func (i AlertMethodDiscordArray) ToAlertMethodDiscordArrayOutput() AlertMethodDiscordArrayOutput { + return i.ToAlertMethodDiscordArrayOutputWithContext(context.Background()) +} + +func (i AlertMethodDiscordArray) ToAlertMethodDiscordArrayOutputWithContext(ctx context.Context) AlertMethodDiscordArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodDiscordArrayOutput) +} + +// AlertMethodDiscordMapInput is an input type that accepts AlertMethodDiscordMap and AlertMethodDiscordMapOutput values. +// You can construct a concrete instance of `AlertMethodDiscordMapInput` via: +// +// AlertMethodDiscordMap{ "key": AlertMethodDiscordArgs{...} } +type AlertMethodDiscordMapInput interface { + pulumi.Input + + ToAlertMethodDiscordMapOutput() AlertMethodDiscordMapOutput + ToAlertMethodDiscordMapOutputWithContext(context.Context) AlertMethodDiscordMapOutput +} + +type AlertMethodDiscordMap map[string]AlertMethodDiscordInput + +func (AlertMethodDiscordMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodDiscord)(nil)).Elem() +} + +func (i AlertMethodDiscordMap) ToAlertMethodDiscordMapOutput() AlertMethodDiscordMapOutput { + return i.ToAlertMethodDiscordMapOutputWithContext(context.Background()) +} + +func (i AlertMethodDiscordMap) ToAlertMethodDiscordMapOutputWithContext(ctx context.Context) AlertMethodDiscordMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodDiscordMapOutput) +} + +type AlertMethodDiscordOutput struct{ *pulumi.OutputState } + +func (AlertMethodDiscordOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodDiscord)(nil)).Elem() +} + +func (o AlertMethodDiscordOutput) ToAlertMethodDiscordOutput() AlertMethodDiscordOutput { + return o +} + +func (o AlertMethodDiscordOutput) ToAlertMethodDiscordOutputWithContext(ctx context.Context) AlertMethodDiscordOutput { + return o +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o AlertMethodDiscordOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodDiscord) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o AlertMethodDiscordOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodDiscord) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodDiscordOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodDiscord) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodDiscordOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodDiscord) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. +func (o AlertMethodDiscordOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodDiscord) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type AlertMethodDiscordArrayOutput struct{ *pulumi.OutputState } + +func (AlertMethodDiscordArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodDiscord)(nil)).Elem() +} + +func (o AlertMethodDiscordArrayOutput) ToAlertMethodDiscordArrayOutput() AlertMethodDiscordArrayOutput { + return o +} + +func (o AlertMethodDiscordArrayOutput) ToAlertMethodDiscordArrayOutputWithContext(ctx context.Context) AlertMethodDiscordArrayOutput { + return o +} + +func (o AlertMethodDiscordArrayOutput) Index(i pulumi.IntInput) AlertMethodDiscordOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AlertMethodDiscord { + return vs[0].([]*AlertMethodDiscord)[vs[1].(int)] + }).(AlertMethodDiscordOutput) +} + +type AlertMethodDiscordMapOutput struct{ *pulumi.OutputState } + +func (AlertMethodDiscordMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodDiscord)(nil)).Elem() +} + +func (o AlertMethodDiscordMapOutput) ToAlertMethodDiscordMapOutput() AlertMethodDiscordMapOutput { + return o +} + +func (o AlertMethodDiscordMapOutput) ToAlertMethodDiscordMapOutputWithContext(ctx context.Context) AlertMethodDiscordMapOutput { + return o +} + +func (o AlertMethodDiscordMapOutput) MapIndex(k pulumi.StringInput) AlertMethodDiscordOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AlertMethodDiscord { + return vs[0].(map[string]*AlertMethodDiscord)[vs[1].(string)] + }).(AlertMethodDiscordOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodDiscordInput)(nil)).Elem(), &AlertMethodDiscord{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodDiscordArrayInput)(nil)).Elem(), AlertMethodDiscordArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodDiscordMapInput)(nil)).Elem(), AlertMethodDiscordMap{}) + pulumi.RegisterOutputType(AlertMethodDiscordOutput{}) + pulumi.RegisterOutputType(AlertMethodDiscordArrayOutput{}) + pulumi.RegisterOutputType(AlertMethodDiscordMapOutput{}) +} diff --git a/sdk/go/nobl9/alertMethodEmail.go b/sdk/go/nobl9/alertMethodEmail.go new file mode 100644 index 0000000..c63cba5 --- /dev/null +++ b/sdk/go/nobl9/alertMethodEmail.go @@ -0,0 +1,346 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type AlertMethodEmail struct { + pulumi.CustomResourceState + + // Blind carbon copy recipients. The maximum number of recipients is 10. + Bccs pulumi.StringArrayOutput `pulumi:"bccs"` + // The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + Body pulumi.StringOutput `pulumi:"body"` + // Carbon copy recipients. The maximum number of recipients is 10. + Ccs pulumi.StringArrayOutput `pulumi:"ccs"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // The Subject of the email alert. + Subject pulumi.StringOutput `pulumi:"subject"` + // Recipients. The maximum number of recipients is 10. + Tos pulumi.StringArrayOutput `pulumi:"tos"` +} + +// NewAlertMethodEmail registers a new resource with the given unique name, arguments, and options. +func NewAlertMethodEmail(ctx *pulumi.Context, + name string, args *AlertMethodEmailArgs, opts ...pulumi.ResourceOption) (*AlertMethodEmail, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Body == nil { + return nil, errors.New("invalid value for required argument 'Body'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Subject == nil { + return nil, errors.New("invalid value for required argument 'Subject'") + } + if args.Tos == nil { + return nil, errors.New("invalid value for required argument 'Tos'") + } + opts = pkgResourceDefaultOpts(opts) + var resource AlertMethodEmail + err := ctx.RegisterResource("nobl9:index/alertMethodEmail:AlertMethodEmail", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAlertMethodEmail gets an existing AlertMethodEmail 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 GetAlertMethodEmail(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AlertMethodEmailState, opts ...pulumi.ResourceOption) (*AlertMethodEmail, error) { + var resource AlertMethodEmail + err := ctx.ReadResource("nobl9:index/alertMethodEmail:AlertMethodEmail", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AlertMethodEmail resources. +type alertMethodEmailState struct { + // Blind carbon copy recipients. The maximum number of recipients is 10. + Bccs []string `pulumi:"bccs"` + // The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + Body *string `pulumi:"body"` + // Carbon copy recipients. The maximum number of recipients is 10. + Ccs []string `pulumi:"ccs"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // The Subject of the email alert. + Subject *string `pulumi:"subject"` + // Recipients. The maximum number of recipients is 10. + Tos []string `pulumi:"tos"` +} + +type AlertMethodEmailState struct { + // Blind carbon copy recipients. The maximum number of recipients is 10. + Bccs pulumi.StringArrayInput + // The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + Body pulumi.StringPtrInput + // Carbon copy recipients. The maximum number of recipients is 10. + Ccs pulumi.StringArrayInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // The Subject of the email alert. + Subject pulumi.StringPtrInput + // Recipients. The maximum number of recipients is 10. + Tos pulumi.StringArrayInput +} + +func (AlertMethodEmailState) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodEmailState)(nil)).Elem() +} + +type alertMethodEmailArgs struct { + // Blind carbon copy recipients. The maximum number of recipients is 10. + Bccs []string `pulumi:"bccs"` + // The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + Body string `pulumi:"body"` + // Carbon copy recipients. The maximum number of recipients is 10. + Ccs []string `pulumi:"ccs"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // The Subject of the email alert. + Subject string `pulumi:"subject"` + // Recipients. The maximum number of recipients is 10. + Tos []string `pulumi:"tos"` +} + +// The set of arguments for constructing a AlertMethodEmail resource. +type AlertMethodEmailArgs struct { + // Blind carbon copy recipients. The maximum number of recipients is 10. + Bccs pulumi.StringArrayInput + // The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + Body pulumi.StringInput + // Carbon copy recipients. The maximum number of recipients is 10. + Ccs pulumi.StringArrayInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // The Subject of the email alert. + Subject pulumi.StringInput + // Recipients. The maximum number of recipients is 10. + Tos pulumi.StringArrayInput +} + +func (AlertMethodEmailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodEmailArgs)(nil)).Elem() +} + +type AlertMethodEmailInput interface { + pulumi.Input + + ToAlertMethodEmailOutput() AlertMethodEmailOutput + ToAlertMethodEmailOutputWithContext(ctx context.Context) AlertMethodEmailOutput +} + +func (*AlertMethodEmail) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodEmail)(nil)).Elem() +} + +func (i *AlertMethodEmail) ToAlertMethodEmailOutput() AlertMethodEmailOutput { + return i.ToAlertMethodEmailOutputWithContext(context.Background()) +} + +func (i *AlertMethodEmail) ToAlertMethodEmailOutputWithContext(ctx context.Context) AlertMethodEmailOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodEmailOutput) +} + +// AlertMethodEmailArrayInput is an input type that accepts AlertMethodEmailArray and AlertMethodEmailArrayOutput values. +// You can construct a concrete instance of `AlertMethodEmailArrayInput` via: +// +// AlertMethodEmailArray{ AlertMethodEmailArgs{...} } +type AlertMethodEmailArrayInput interface { + pulumi.Input + + ToAlertMethodEmailArrayOutput() AlertMethodEmailArrayOutput + ToAlertMethodEmailArrayOutputWithContext(context.Context) AlertMethodEmailArrayOutput +} + +type AlertMethodEmailArray []AlertMethodEmailInput + +func (AlertMethodEmailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodEmail)(nil)).Elem() +} + +func (i AlertMethodEmailArray) ToAlertMethodEmailArrayOutput() AlertMethodEmailArrayOutput { + return i.ToAlertMethodEmailArrayOutputWithContext(context.Background()) +} + +func (i AlertMethodEmailArray) ToAlertMethodEmailArrayOutputWithContext(ctx context.Context) AlertMethodEmailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodEmailArrayOutput) +} + +// AlertMethodEmailMapInput is an input type that accepts AlertMethodEmailMap and AlertMethodEmailMapOutput values. +// You can construct a concrete instance of `AlertMethodEmailMapInput` via: +// +// AlertMethodEmailMap{ "key": AlertMethodEmailArgs{...} } +type AlertMethodEmailMapInput interface { + pulumi.Input + + ToAlertMethodEmailMapOutput() AlertMethodEmailMapOutput + ToAlertMethodEmailMapOutputWithContext(context.Context) AlertMethodEmailMapOutput +} + +type AlertMethodEmailMap map[string]AlertMethodEmailInput + +func (AlertMethodEmailMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodEmail)(nil)).Elem() +} + +func (i AlertMethodEmailMap) ToAlertMethodEmailMapOutput() AlertMethodEmailMapOutput { + return i.ToAlertMethodEmailMapOutputWithContext(context.Background()) +} + +func (i AlertMethodEmailMap) ToAlertMethodEmailMapOutputWithContext(ctx context.Context) AlertMethodEmailMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodEmailMapOutput) +} + +type AlertMethodEmailOutput struct{ *pulumi.OutputState } + +func (AlertMethodEmailOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodEmail)(nil)).Elem() +} + +func (o AlertMethodEmailOutput) ToAlertMethodEmailOutput() AlertMethodEmailOutput { + return o +} + +func (o AlertMethodEmailOutput) ToAlertMethodEmailOutputWithContext(ctx context.Context) AlertMethodEmailOutput { + return o +} + +// Blind carbon copy recipients. The maximum number of recipients is 10. +func (o AlertMethodEmailOutput) Bccs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AlertMethodEmail) pulumi.StringArrayOutput { return v.Bccs }).(pulumi.StringArrayOutput) +} + +// The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). +func (o AlertMethodEmailOutput) Body() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodEmail) pulumi.StringOutput { return v.Body }).(pulumi.StringOutput) +} + +// Carbon copy recipients. The maximum number of recipients is 10. +func (o AlertMethodEmailOutput) Ccs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AlertMethodEmail) pulumi.StringArrayOutput { return v.Ccs }).(pulumi.StringArrayOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o AlertMethodEmailOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodEmail) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o AlertMethodEmailOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodEmail) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodEmailOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodEmail) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodEmailOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodEmail) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// The Subject of the email alert. +func (o AlertMethodEmailOutput) Subject() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodEmail) pulumi.StringOutput { return v.Subject }).(pulumi.StringOutput) +} + +// Recipients. The maximum number of recipients is 10. +func (o AlertMethodEmailOutput) Tos() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AlertMethodEmail) pulumi.StringArrayOutput { return v.Tos }).(pulumi.StringArrayOutput) +} + +type AlertMethodEmailArrayOutput struct{ *pulumi.OutputState } + +func (AlertMethodEmailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodEmail)(nil)).Elem() +} + +func (o AlertMethodEmailArrayOutput) ToAlertMethodEmailArrayOutput() AlertMethodEmailArrayOutput { + return o +} + +func (o AlertMethodEmailArrayOutput) ToAlertMethodEmailArrayOutputWithContext(ctx context.Context) AlertMethodEmailArrayOutput { + return o +} + +func (o AlertMethodEmailArrayOutput) Index(i pulumi.IntInput) AlertMethodEmailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AlertMethodEmail { + return vs[0].([]*AlertMethodEmail)[vs[1].(int)] + }).(AlertMethodEmailOutput) +} + +type AlertMethodEmailMapOutput struct{ *pulumi.OutputState } + +func (AlertMethodEmailMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodEmail)(nil)).Elem() +} + +func (o AlertMethodEmailMapOutput) ToAlertMethodEmailMapOutput() AlertMethodEmailMapOutput { + return o +} + +func (o AlertMethodEmailMapOutput) ToAlertMethodEmailMapOutputWithContext(ctx context.Context) AlertMethodEmailMapOutput { + return o +} + +func (o AlertMethodEmailMapOutput) MapIndex(k pulumi.StringInput) AlertMethodEmailOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AlertMethodEmail { + return vs[0].(map[string]*AlertMethodEmail)[vs[1].(string)] + }).(AlertMethodEmailOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodEmailInput)(nil)).Elem(), &AlertMethodEmail{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodEmailArrayInput)(nil)).Elem(), AlertMethodEmailArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodEmailMapInput)(nil)).Elem(), AlertMethodEmailMap{}) + pulumi.RegisterOutputType(AlertMethodEmailOutput{}) + pulumi.RegisterOutputType(AlertMethodEmailArrayOutput{}) + pulumi.RegisterOutputType(AlertMethodEmailMapOutput{}) +} diff --git a/sdk/go/nobl9/alertMethodJira.go b/sdk/go/nobl9/alertMethodJira.go new file mode 100644 index 0000000..0155d22 --- /dev/null +++ b/sdk/go/nobl9/alertMethodJira.go @@ -0,0 +1,331 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type AlertMethodJira struct { + pulumi.CustomResourceState + + // [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + Apitoken pulumi.StringOutput `pulumi:"apitoken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // The code of the Jira project. + ProjectKey pulumi.StringOutput `pulumi:"projectKey"` + // Jira instance URL. The `https://` prefix is required. + Url pulumi.StringOutput `pulumi:"url"` + // Jira username for the owner of the API Token. + Username pulumi.StringOutput `pulumi:"username"` +} + +// NewAlertMethodJira registers a new resource with the given unique name, arguments, and options. +func NewAlertMethodJira(ctx *pulumi.Context, + name string, args *AlertMethodJiraArgs, opts ...pulumi.ResourceOption) (*AlertMethodJira, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.ProjectKey == nil { + return nil, errors.New("invalid value for required argument 'ProjectKey'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + if args.Username == nil { + return nil, errors.New("invalid value for required argument 'Username'") + } + opts = pkgResourceDefaultOpts(opts) + var resource AlertMethodJira + err := ctx.RegisterResource("nobl9:index/alertMethodJira:AlertMethodJira", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAlertMethodJira gets an existing AlertMethodJira 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 GetAlertMethodJira(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AlertMethodJiraState, opts ...pulumi.ResourceOption) (*AlertMethodJira, error) { + var resource AlertMethodJira + err := ctx.ReadResource("nobl9:index/alertMethodJira:AlertMethodJira", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AlertMethodJira resources. +type alertMethodJiraState struct { + // [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + Apitoken *string `pulumi:"apitoken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // The code of the Jira project. + ProjectKey *string `pulumi:"projectKey"` + // Jira instance URL. The `https://` prefix is required. + Url *string `pulumi:"url"` + // Jira username for the owner of the API Token. + Username *string `pulumi:"username"` +} + +type AlertMethodJiraState struct { + // [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + Apitoken pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // The code of the Jira project. + ProjectKey pulumi.StringPtrInput + // Jira instance URL. The `https://` prefix is required. + Url pulumi.StringPtrInput + // Jira username for the owner of the API Token. + Username pulumi.StringPtrInput +} + +func (AlertMethodJiraState) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodJiraState)(nil)).Elem() +} + +type alertMethodJiraArgs struct { + // [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + Apitoken *string `pulumi:"apitoken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // The code of the Jira project. + ProjectKey string `pulumi:"projectKey"` + // Jira instance URL. The `https://` prefix is required. + Url string `pulumi:"url"` + // Jira username for the owner of the API Token. + Username string `pulumi:"username"` +} + +// The set of arguments for constructing a AlertMethodJira resource. +type AlertMethodJiraArgs struct { + // [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + Apitoken pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // The code of the Jira project. + ProjectKey pulumi.StringInput + // Jira instance URL. The `https://` prefix is required. + Url pulumi.StringInput + // Jira username for the owner of the API Token. + Username pulumi.StringInput +} + +func (AlertMethodJiraArgs) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodJiraArgs)(nil)).Elem() +} + +type AlertMethodJiraInput interface { + pulumi.Input + + ToAlertMethodJiraOutput() AlertMethodJiraOutput + ToAlertMethodJiraOutputWithContext(ctx context.Context) AlertMethodJiraOutput +} + +func (*AlertMethodJira) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodJira)(nil)).Elem() +} + +func (i *AlertMethodJira) ToAlertMethodJiraOutput() AlertMethodJiraOutput { + return i.ToAlertMethodJiraOutputWithContext(context.Background()) +} + +func (i *AlertMethodJira) ToAlertMethodJiraOutputWithContext(ctx context.Context) AlertMethodJiraOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodJiraOutput) +} + +// AlertMethodJiraArrayInput is an input type that accepts AlertMethodJiraArray and AlertMethodJiraArrayOutput values. +// You can construct a concrete instance of `AlertMethodJiraArrayInput` via: +// +// AlertMethodJiraArray{ AlertMethodJiraArgs{...} } +type AlertMethodJiraArrayInput interface { + pulumi.Input + + ToAlertMethodJiraArrayOutput() AlertMethodJiraArrayOutput + ToAlertMethodJiraArrayOutputWithContext(context.Context) AlertMethodJiraArrayOutput +} + +type AlertMethodJiraArray []AlertMethodJiraInput + +func (AlertMethodJiraArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodJira)(nil)).Elem() +} + +func (i AlertMethodJiraArray) ToAlertMethodJiraArrayOutput() AlertMethodJiraArrayOutput { + return i.ToAlertMethodJiraArrayOutputWithContext(context.Background()) +} + +func (i AlertMethodJiraArray) ToAlertMethodJiraArrayOutputWithContext(ctx context.Context) AlertMethodJiraArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodJiraArrayOutput) +} + +// AlertMethodJiraMapInput is an input type that accepts AlertMethodJiraMap and AlertMethodJiraMapOutput values. +// You can construct a concrete instance of `AlertMethodJiraMapInput` via: +// +// AlertMethodJiraMap{ "key": AlertMethodJiraArgs{...} } +type AlertMethodJiraMapInput interface { + pulumi.Input + + ToAlertMethodJiraMapOutput() AlertMethodJiraMapOutput + ToAlertMethodJiraMapOutputWithContext(context.Context) AlertMethodJiraMapOutput +} + +type AlertMethodJiraMap map[string]AlertMethodJiraInput + +func (AlertMethodJiraMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodJira)(nil)).Elem() +} + +func (i AlertMethodJiraMap) ToAlertMethodJiraMapOutput() AlertMethodJiraMapOutput { + return i.ToAlertMethodJiraMapOutputWithContext(context.Background()) +} + +func (i AlertMethodJiraMap) ToAlertMethodJiraMapOutputWithContext(ctx context.Context) AlertMethodJiraMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodJiraMapOutput) +} + +type AlertMethodJiraOutput struct{ *pulumi.OutputState } + +func (AlertMethodJiraOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodJira)(nil)).Elem() +} + +func (o AlertMethodJiraOutput) ToAlertMethodJiraOutput() AlertMethodJiraOutput { + return o +} + +func (o AlertMethodJiraOutput) ToAlertMethodJiraOutputWithContext(ctx context.Context) AlertMethodJiraOutput { + return o +} + +// [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. +func (o AlertMethodJiraOutput) Apitoken() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodJira) pulumi.StringOutput { return v.Apitoken }).(pulumi.StringOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o AlertMethodJiraOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodJira) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o AlertMethodJiraOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodJira) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodJiraOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodJira) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodJiraOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodJira) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// The code of the Jira project. +func (o AlertMethodJiraOutput) ProjectKey() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodJira) pulumi.StringOutput { return v.ProjectKey }).(pulumi.StringOutput) +} + +// Jira instance URL. The `https://` prefix is required. +func (o AlertMethodJiraOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodJira) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +// Jira username for the owner of the API Token. +func (o AlertMethodJiraOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodJira) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) +} + +type AlertMethodJiraArrayOutput struct{ *pulumi.OutputState } + +func (AlertMethodJiraArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodJira)(nil)).Elem() +} + +func (o AlertMethodJiraArrayOutput) ToAlertMethodJiraArrayOutput() AlertMethodJiraArrayOutput { + return o +} + +func (o AlertMethodJiraArrayOutput) ToAlertMethodJiraArrayOutputWithContext(ctx context.Context) AlertMethodJiraArrayOutput { + return o +} + +func (o AlertMethodJiraArrayOutput) Index(i pulumi.IntInput) AlertMethodJiraOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AlertMethodJira { + return vs[0].([]*AlertMethodJira)[vs[1].(int)] + }).(AlertMethodJiraOutput) +} + +type AlertMethodJiraMapOutput struct{ *pulumi.OutputState } + +func (AlertMethodJiraMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodJira)(nil)).Elem() +} + +func (o AlertMethodJiraMapOutput) ToAlertMethodJiraMapOutput() AlertMethodJiraMapOutput { + return o +} + +func (o AlertMethodJiraMapOutput) ToAlertMethodJiraMapOutputWithContext(ctx context.Context) AlertMethodJiraMapOutput { + return o +} + +func (o AlertMethodJiraMapOutput) MapIndex(k pulumi.StringInput) AlertMethodJiraOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AlertMethodJira { + return vs[0].(map[string]*AlertMethodJira)[vs[1].(string)] + }).(AlertMethodJiraOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodJiraInput)(nil)).Elem(), &AlertMethodJira{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodJiraArrayInput)(nil)).Elem(), AlertMethodJiraArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodJiraMapInput)(nil)).Elem(), AlertMethodJiraMap{}) + pulumi.RegisterOutputType(AlertMethodJiraOutput{}) + pulumi.RegisterOutputType(AlertMethodJiraArrayOutput{}) + pulumi.RegisterOutputType(AlertMethodJiraMapOutput{}) +} diff --git a/sdk/go/nobl9/alertMethodMsteams.go b/sdk/go/nobl9/alertMethodMsteams.go new file mode 100644 index 0000000..a664063 --- /dev/null +++ b/sdk/go/nobl9/alertMethodMsteams.go @@ -0,0 +1,277 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type AlertMethodMsteams struct { + pulumi.CustomResourceState + + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewAlertMethodMsteams registers a new resource with the given unique name, arguments, and options. +func NewAlertMethodMsteams(ctx *pulumi.Context, + name string, args *AlertMethodMsteamsArgs, opts ...pulumi.ResourceOption) (*AlertMethodMsteams, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + opts = pkgResourceDefaultOpts(opts) + var resource AlertMethodMsteams + err := ctx.RegisterResource("nobl9:index/alertMethodMsteams:AlertMethodMsteams", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAlertMethodMsteams gets an existing AlertMethodMsteams 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 GetAlertMethodMsteams(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AlertMethodMsteamsState, opts ...pulumi.ResourceOption) (*AlertMethodMsteams, error) { + var resource AlertMethodMsteams + err := ctx.ReadResource("nobl9:index/alertMethodMsteams:AlertMethodMsteams", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AlertMethodMsteams resources. +type alertMethodMsteamsState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + Url *string `pulumi:"url"` +} + +type AlertMethodMsteamsState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + Url pulumi.StringPtrInput +} + +func (AlertMethodMsteamsState) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodMsteamsState)(nil)).Elem() +} + +type alertMethodMsteamsArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + Url *string `pulumi:"url"` +} + +// The set of arguments for constructing a AlertMethodMsteams resource. +type AlertMethodMsteamsArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + Url pulumi.StringPtrInput +} + +func (AlertMethodMsteamsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodMsteamsArgs)(nil)).Elem() +} + +type AlertMethodMsteamsInput interface { + pulumi.Input + + ToAlertMethodMsteamsOutput() AlertMethodMsteamsOutput + ToAlertMethodMsteamsOutputWithContext(ctx context.Context) AlertMethodMsteamsOutput +} + +func (*AlertMethodMsteams) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodMsteams)(nil)).Elem() +} + +func (i *AlertMethodMsteams) ToAlertMethodMsteamsOutput() AlertMethodMsteamsOutput { + return i.ToAlertMethodMsteamsOutputWithContext(context.Background()) +} + +func (i *AlertMethodMsteams) ToAlertMethodMsteamsOutputWithContext(ctx context.Context) AlertMethodMsteamsOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodMsteamsOutput) +} + +// AlertMethodMsteamsArrayInput is an input type that accepts AlertMethodMsteamsArray and AlertMethodMsteamsArrayOutput values. +// You can construct a concrete instance of `AlertMethodMsteamsArrayInput` via: +// +// AlertMethodMsteamsArray{ AlertMethodMsteamsArgs{...} } +type AlertMethodMsteamsArrayInput interface { + pulumi.Input + + ToAlertMethodMsteamsArrayOutput() AlertMethodMsteamsArrayOutput + ToAlertMethodMsteamsArrayOutputWithContext(context.Context) AlertMethodMsteamsArrayOutput +} + +type AlertMethodMsteamsArray []AlertMethodMsteamsInput + +func (AlertMethodMsteamsArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodMsteams)(nil)).Elem() +} + +func (i AlertMethodMsteamsArray) ToAlertMethodMsteamsArrayOutput() AlertMethodMsteamsArrayOutput { + return i.ToAlertMethodMsteamsArrayOutputWithContext(context.Background()) +} + +func (i AlertMethodMsteamsArray) ToAlertMethodMsteamsArrayOutputWithContext(ctx context.Context) AlertMethodMsteamsArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodMsteamsArrayOutput) +} + +// AlertMethodMsteamsMapInput is an input type that accepts AlertMethodMsteamsMap and AlertMethodMsteamsMapOutput values. +// You can construct a concrete instance of `AlertMethodMsteamsMapInput` via: +// +// AlertMethodMsteamsMap{ "key": AlertMethodMsteamsArgs{...} } +type AlertMethodMsteamsMapInput interface { + pulumi.Input + + ToAlertMethodMsteamsMapOutput() AlertMethodMsteamsMapOutput + ToAlertMethodMsteamsMapOutputWithContext(context.Context) AlertMethodMsteamsMapOutput +} + +type AlertMethodMsteamsMap map[string]AlertMethodMsteamsInput + +func (AlertMethodMsteamsMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodMsteams)(nil)).Elem() +} + +func (i AlertMethodMsteamsMap) ToAlertMethodMsteamsMapOutput() AlertMethodMsteamsMapOutput { + return i.ToAlertMethodMsteamsMapOutputWithContext(context.Background()) +} + +func (i AlertMethodMsteamsMap) ToAlertMethodMsteamsMapOutputWithContext(ctx context.Context) AlertMethodMsteamsMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodMsteamsMapOutput) +} + +type AlertMethodMsteamsOutput struct{ *pulumi.OutputState } + +func (AlertMethodMsteamsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodMsteams)(nil)).Elem() +} + +func (o AlertMethodMsteamsOutput) ToAlertMethodMsteamsOutput() AlertMethodMsteamsOutput { + return o +} + +func (o AlertMethodMsteamsOutput) ToAlertMethodMsteamsOutputWithContext(ctx context.Context) AlertMethodMsteamsOutput { + return o +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o AlertMethodMsteamsOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodMsteams) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o AlertMethodMsteamsOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodMsteams) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodMsteamsOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodMsteams) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodMsteamsOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodMsteams) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). +func (o AlertMethodMsteamsOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodMsteams) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type AlertMethodMsteamsArrayOutput struct{ *pulumi.OutputState } + +func (AlertMethodMsteamsArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodMsteams)(nil)).Elem() +} + +func (o AlertMethodMsteamsArrayOutput) ToAlertMethodMsteamsArrayOutput() AlertMethodMsteamsArrayOutput { + return o +} + +func (o AlertMethodMsteamsArrayOutput) ToAlertMethodMsteamsArrayOutputWithContext(ctx context.Context) AlertMethodMsteamsArrayOutput { + return o +} + +func (o AlertMethodMsteamsArrayOutput) Index(i pulumi.IntInput) AlertMethodMsteamsOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AlertMethodMsteams { + return vs[0].([]*AlertMethodMsteams)[vs[1].(int)] + }).(AlertMethodMsteamsOutput) +} + +type AlertMethodMsteamsMapOutput struct{ *pulumi.OutputState } + +func (AlertMethodMsteamsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodMsteams)(nil)).Elem() +} + +func (o AlertMethodMsteamsMapOutput) ToAlertMethodMsteamsMapOutput() AlertMethodMsteamsMapOutput { + return o +} + +func (o AlertMethodMsteamsMapOutput) ToAlertMethodMsteamsMapOutputWithContext(ctx context.Context) AlertMethodMsteamsMapOutput { + return o +} + +func (o AlertMethodMsteamsMapOutput) MapIndex(k pulumi.StringInput) AlertMethodMsteamsOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AlertMethodMsteams { + return vs[0].(map[string]*AlertMethodMsteams)[vs[1].(string)] + }).(AlertMethodMsteamsOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodMsteamsInput)(nil)).Elem(), &AlertMethodMsteams{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodMsteamsArrayInput)(nil)).Elem(), AlertMethodMsteamsArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodMsteamsMapInput)(nil)).Elem(), AlertMethodMsteamsMap{}) + pulumi.RegisterOutputType(AlertMethodMsteamsOutput{}) + pulumi.RegisterOutputType(AlertMethodMsteamsArrayOutput{}) + pulumi.RegisterOutputType(AlertMethodMsteamsMapOutput{}) +} diff --git a/sdk/go/nobl9/alertMethodOpsgenie.go b/sdk/go/nobl9/alertMethodOpsgenie.go new file mode 100644 index 0000000..0dc1bfc --- /dev/null +++ b/sdk/go/nobl9/alertMethodOpsgenie.go @@ -0,0 +1,295 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type AlertMethodOpsgenie struct { + pulumi.CustomResourceState + + // Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + Auth pulumi.StringOutput `pulumi:"auth"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewAlertMethodOpsgenie registers a new resource with the given unique name, arguments, and options. +func NewAlertMethodOpsgenie(ctx *pulumi.Context, + name string, args *AlertMethodOpsgenieArgs, opts ...pulumi.ResourceOption) (*AlertMethodOpsgenie, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + opts = pkgResourceDefaultOpts(opts) + var resource AlertMethodOpsgenie + err := ctx.RegisterResource("nobl9:index/alertMethodOpsgenie:AlertMethodOpsgenie", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAlertMethodOpsgenie gets an existing AlertMethodOpsgenie 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 GetAlertMethodOpsgenie(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AlertMethodOpsgenieState, opts ...pulumi.ResourceOption) (*AlertMethodOpsgenie, error) { + var resource AlertMethodOpsgenie + err := ctx.ReadResource("nobl9:index/alertMethodOpsgenie:AlertMethodOpsgenie", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AlertMethodOpsgenie resources. +type alertMethodOpsgenieState struct { + // Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + Auth *string `pulumi:"auth"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + Url *string `pulumi:"url"` +} + +type AlertMethodOpsgenieState struct { + // Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + Auth pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + Url pulumi.StringPtrInput +} + +func (AlertMethodOpsgenieState) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodOpsgenieState)(nil)).Elem() +} + +type alertMethodOpsgenieArgs struct { + // Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + Auth *string `pulumi:"auth"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + Url string `pulumi:"url"` +} + +// The set of arguments for constructing a AlertMethodOpsgenie resource. +type AlertMethodOpsgenieArgs struct { + // Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + Auth pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + Url pulumi.StringInput +} + +func (AlertMethodOpsgenieArgs) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodOpsgenieArgs)(nil)).Elem() +} + +type AlertMethodOpsgenieInput interface { + pulumi.Input + + ToAlertMethodOpsgenieOutput() AlertMethodOpsgenieOutput + ToAlertMethodOpsgenieOutputWithContext(ctx context.Context) AlertMethodOpsgenieOutput +} + +func (*AlertMethodOpsgenie) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodOpsgenie)(nil)).Elem() +} + +func (i *AlertMethodOpsgenie) ToAlertMethodOpsgenieOutput() AlertMethodOpsgenieOutput { + return i.ToAlertMethodOpsgenieOutputWithContext(context.Background()) +} + +func (i *AlertMethodOpsgenie) ToAlertMethodOpsgenieOutputWithContext(ctx context.Context) AlertMethodOpsgenieOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodOpsgenieOutput) +} + +// AlertMethodOpsgenieArrayInput is an input type that accepts AlertMethodOpsgenieArray and AlertMethodOpsgenieArrayOutput values. +// You can construct a concrete instance of `AlertMethodOpsgenieArrayInput` via: +// +// AlertMethodOpsgenieArray{ AlertMethodOpsgenieArgs{...} } +type AlertMethodOpsgenieArrayInput interface { + pulumi.Input + + ToAlertMethodOpsgenieArrayOutput() AlertMethodOpsgenieArrayOutput + ToAlertMethodOpsgenieArrayOutputWithContext(context.Context) AlertMethodOpsgenieArrayOutput +} + +type AlertMethodOpsgenieArray []AlertMethodOpsgenieInput + +func (AlertMethodOpsgenieArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodOpsgenie)(nil)).Elem() +} + +func (i AlertMethodOpsgenieArray) ToAlertMethodOpsgenieArrayOutput() AlertMethodOpsgenieArrayOutput { + return i.ToAlertMethodOpsgenieArrayOutputWithContext(context.Background()) +} + +func (i AlertMethodOpsgenieArray) ToAlertMethodOpsgenieArrayOutputWithContext(ctx context.Context) AlertMethodOpsgenieArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodOpsgenieArrayOutput) +} + +// AlertMethodOpsgenieMapInput is an input type that accepts AlertMethodOpsgenieMap and AlertMethodOpsgenieMapOutput values. +// You can construct a concrete instance of `AlertMethodOpsgenieMapInput` via: +// +// AlertMethodOpsgenieMap{ "key": AlertMethodOpsgenieArgs{...} } +type AlertMethodOpsgenieMapInput interface { + pulumi.Input + + ToAlertMethodOpsgenieMapOutput() AlertMethodOpsgenieMapOutput + ToAlertMethodOpsgenieMapOutputWithContext(context.Context) AlertMethodOpsgenieMapOutput +} + +type AlertMethodOpsgenieMap map[string]AlertMethodOpsgenieInput + +func (AlertMethodOpsgenieMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodOpsgenie)(nil)).Elem() +} + +func (i AlertMethodOpsgenieMap) ToAlertMethodOpsgenieMapOutput() AlertMethodOpsgenieMapOutput { + return i.ToAlertMethodOpsgenieMapOutputWithContext(context.Background()) +} + +func (i AlertMethodOpsgenieMap) ToAlertMethodOpsgenieMapOutputWithContext(ctx context.Context) AlertMethodOpsgenieMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodOpsgenieMapOutput) +} + +type AlertMethodOpsgenieOutput struct{ *pulumi.OutputState } + +func (AlertMethodOpsgenieOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodOpsgenie)(nil)).Elem() +} + +func (o AlertMethodOpsgenieOutput) ToAlertMethodOpsgenieOutput() AlertMethodOpsgenieOutput { + return o +} + +func (o AlertMethodOpsgenieOutput) ToAlertMethodOpsgenieOutputWithContext(ctx context.Context) AlertMethodOpsgenieOutput { + return o +} + +// Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. +func (o AlertMethodOpsgenieOutput) Auth() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodOpsgenie) pulumi.StringOutput { return v.Auth }).(pulumi.StringOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o AlertMethodOpsgenieOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodOpsgenie) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o AlertMethodOpsgenieOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodOpsgenie) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodOpsgenieOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodOpsgenie) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodOpsgenieOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodOpsgenie) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. +func (o AlertMethodOpsgenieOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodOpsgenie) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type AlertMethodOpsgenieArrayOutput struct{ *pulumi.OutputState } + +func (AlertMethodOpsgenieArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodOpsgenie)(nil)).Elem() +} + +func (o AlertMethodOpsgenieArrayOutput) ToAlertMethodOpsgenieArrayOutput() AlertMethodOpsgenieArrayOutput { + return o +} + +func (o AlertMethodOpsgenieArrayOutput) ToAlertMethodOpsgenieArrayOutputWithContext(ctx context.Context) AlertMethodOpsgenieArrayOutput { + return o +} + +func (o AlertMethodOpsgenieArrayOutput) Index(i pulumi.IntInput) AlertMethodOpsgenieOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AlertMethodOpsgenie { + return vs[0].([]*AlertMethodOpsgenie)[vs[1].(int)] + }).(AlertMethodOpsgenieOutput) +} + +type AlertMethodOpsgenieMapOutput struct{ *pulumi.OutputState } + +func (AlertMethodOpsgenieMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodOpsgenie)(nil)).Elem() +} + +func (o AlertMethodOpsgenieMapOutput) ToAlertMethodOpsgenieMapOutput() AlertMethodOpsgenieMapOutput { + return o +} + +func (o AlertMethodOpsgenieMapOutput) ToAlertMethodOpsgenieMapOutputWithContext(ctx context.Context) AlertMethodOpsgenieMapOutput { + return o +} + +func (o AlertMethodOpsgenieMapOutput) MapIndex(k pulumi.StringInput) AlertMethodOpsgenieOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AlertMethodOpsgenie { + return vs[0].(map[string]*AlertMethodOpsgenie)[vs[1].(string)] + }).(AlertMethodOpsgenieOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodOpsgenieInput)(nil)).Elem(), &AlertMethodOpsgenie{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodOpsgenieArrayInput)(nil)).Elem(), AlertMethodOpsgenieArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodOpsgenieMapInput)(nil)).Elem(), AlertMethodOpsgenieMap{}) + pulumi.RegisterOutputType(AlertMethodOpsgenieOutput{}) + pulumi.RegisterOutputType(AlertMethodOpsgenieArrayOutput{}) + pulumi.RegisterOutputType(AlertMethodOpsgenieMapOutput{}) +} diff --git a/sdk/go/nobl9/alertMethodPagerduty.go b/sdk/go/nobl9/alertMethodPagerduty.go new file mode 100644 index 0000000..1928562 --- /dev/null +++ b/sdk/go/nobl9/alertMethodPagerduty.go @@ -0,0 +1,277 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type AlertMethodPagerduty struct { + pulumi.CustomResourceState + + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + IntegrationKey pulumi.StringOutput `pulumi:"integrationKey"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` +} + +// NewAlertMethodPagerduty registers a new resource with the given unique name, arguments, and options. +func NewAlertMethodPagerduty(ctx *pulumi.Context, + name string, args *AlertMethodPagerdutyArgs, opts ...pulumi.ResourceOption) (*AlertMethodPagerduty, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + opts = pkgResourceDefaultOpts(opts) + var resource AlertMethodPagerduty + err := ctx.RegisterResource("nobl9:index/alertMethodPagerduty:AlertMethodPagerduty", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAlertMethodPagerduty gets an existing AlertMethodPagerduty 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 GetAlertMethodPagerduty(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AlertMethodPagerdutyState, opts ...pulumi.ResourceOption) (*AlertMethodPagerduty, error) { + var resource AlertMethodPagerduty + err := ctx.ReadResource("nobl9:index/alertMethodPagerduty:AlertMethodPagerduty", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AlertMethodPagerduty resources. +type alertMethodPagerdutyState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + IntegrationKey *string `pulumi:"integrationKey"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` +} + +type AlertMethodPagerdutyState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + IntegrationKey pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput +} + +func (AlertMethodPagerdutyState) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodPagerdutyState)(nil)).Elem() +} + +type alertMethodPagerdutyArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + IntegrationKey *string `pulumi:"integrationKey"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` +} + +// The set of arguments for constructing a AlertMethodPagerduty resource. +type AlertMethodPagerdutyArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + IntegrationKey pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput +} + +func (AlertMethodPagerdutyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodPagerdutyArgs)(nil)).Elem() +} + +type AlertMethodPagerdutyInput interface { + pulumi.Input + + ToAlertMethodPagerdutyOutput() AlertMethodPagerdutyOutput + ToAlertMethodPagerdutyOutputWithContext(ctx context.Context) AlertMethodPagerdutyOutput +} + +func (*AlertMethodPagerduty) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodPagerduty)(nil)).Elem() +} + +func (i *AlertMethodPagerduty) ToAlertMethodPagerdutyOutput() AlertMethodPagerdutyOutput { + return i.ToAlertMethodPagerdutyOutputWithContext(context.Background()) +} + +func (i *AlertMethodPagerduty) ToAlertMethodPagerdutyOutputWithContext(ctx context.Context) AlertMethodPagerdutyOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodPagerdutyOutput) +} + +// AlertMethodPagerdutyArrayInput is an input type that accepts AlertMethodPagerdutyArray and AlertMethodPagerdutyArrayOutput values. +// You can construct a concrete instance of `AlertMethodPagerdutyArrayInput` via: +// +// AlertMethodPagerdutyArray{ AlertMethodPagerdutyArgs{...} } +type AlertMethodPagerdutyArrayInput interface { + pulumi.Input + + ToAlertMethodPagerdutyArrayOutput() AlertMethodPagerdutyArrayOutput + ToAlertMethodPagerdutyArrayOutputWithContext(context.Context) AlertMethodPagerdutyArrayOutput +} + +type AlertMethodPagerdutyArray []AlertMethodPagerdutyInput + +func (AlertMethodPagerdutyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodPagerduty)(nil)).Elem() +} + +func (i AlertMethodPagerdutyArray) ToAlertMethodPagerdutyArrayOutput() AlertMethodPagerdutyArrayOutput { + return i.ToAlertMethodPagerdutyArrayOutputWithContext(context.Background()) +} + +func (i AlertMethodPagerdutyArray) ToAlertMethodPagerdutyArrayOutputWithContext(ctx context.Context) AlertMethodPagerdutyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodPagerdutyArrayOutput) +} + +// AlertMethodPagerdutyMapInput is an input type that accepts AlertMethodPagerdutyMap and AlertMethodPagerdutyMapOutput values. +// You can construct a concrete instance of `AlertMethodPagerdutyMapInput` via: +// +// AlertMethodPagerdutyMap{ "key": AlertMethodPagerdutyArgs{...} } +type AlertMethodPagerdutyMapInput interface { + pulumi.Input + + ToAlertMethodPagerdutyMapOutput() AlertMethodPagerdutyMapOutput + ToAlertMethodPagerdutyMapOutputWithContext(context.Context) AlertMethodPagerdutyMapOutput +} + +type AlertMethodPagerdutyMap map[string]AlertMethodPagerdutyInput + +func (AlertMethodPagerdutyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodPagerduty)(nil)).Elem() +} + +func (i AlertMethodPagerdutyMap) ToAlertMethodPagerdutyMapOutput() AlertMethodPagerdutyMapOutput { + return i.ToAlertMethodPagerdutyMapOutputWithContext(context.Background()) +} + +func (i AlertMethodPagerdutyMap) ToAlertMethodPagerdutyMapOutputWithContext(ctx context.Context) AlertMethodPagerdutyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodPagerdutyMapOutput) +} + +type AlertMethodPagerdutyOutput struct{ *pulumi.OutputState } + +func (AlertMethodPagerdutyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodPagerduty)(nil)).Elem() +} + +func (o AlertMethodPagerdutyOutput) ToAlertMethodPagerdutyOutput() AlertMethodPagerdutyOutput { + return o +} + +func (o AlertMethodPagerdutyOutput) ToAlertMethodPagerdutyOutputWithContext(ctx context.Context) AlertMethodPagerdutyOutput { + return o +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o AlertMethodPagerdutyOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodPagerduty) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o AlertMethodPagerdutyOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodPagerduty) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). +func (o AlertMethodPagerdutyOutput) IntegrationKey() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodPagerduty) pulumi.StringOutput { return v.IntegrationKey }).(pulumi.StringOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodPagerdutyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodPagerduty) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodPagerdutyOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodPagerduty) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +type AlertMethodPagerdutyArrayOutput struct{ *pulumi.OutputState } + +func (AlertMethodPagerdutyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodPagerduty)(nil)).Elem() +} + +func (o AlertMethodPagerdutyArrayOutput) ToAlertMethodPagerdutyArrayOutput() AlertMethodPagerdutyArrayOutput { + return o +} + +func (o AlertMethodPagerdutyArrayOutput) ToAlertMethodPagerdutyArrayOutputWithContext(ctx context.Context) AlertMethodPagerdutyArrayOutput { + return o +} + +func (o AlertMethodPagerdutyArrayOutput) Index(i pulumi.IntInput) AlertMethodPagerdutyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AlertMethodPagerduty { + return vs[0].([]*AlertMethodPagerduty)[vs[1].(int)] + }).(AlertMethodPagerdutyOutput) +} + +type AlertMethodPagerdutyMapOutput struct{ *pulumi.OutputState } + +func (AlertMethodPagerdutyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodPagerduty)(nil)).Elem() +} + +func (o AlertMethodPagerdutyMapOutput) ToAlertMethodPagerdutyMapOutput() AlertMethodPagerdutyMapOutput { + return o +} + +func (o AlertMethodPagerdutyMapOutput) ToAlertMethodPagerdutyMapOutputWithContext(ctx context.Context) AlertMethodPagerdutyMapOutput { + return o +} + +func (o AlertMethodPagerdutyMapOutput) MapIndex(k pulumi.StringInput) AlertMethodPagerdutyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AlertMethodPagerduty { + return vs[0].(map[string]*AlertMethodPagerduty)[vs[1].(string)] + }).(AlertMethodPagerdutyOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodPagerdutyInput)(nil)).Elem(), &AlertMethodPagerduty{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodPagerdutyArrayInput)(nil)).Elem(), AlertMethodPagerdutyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodPagerdutyMapInput)(nil)).Elem(), AlertMethodPagerdutyMap{}) + pulumi.RegisterOutputType(AlertMethodPagerdutyOutput{}) + pulumi.RegisterOutputType(AlertMethodPagerdutyArrayOutput{}) + pulumi.RegisterOutputType(AlertMethodPagerdutyMapOutput{}) +} diff --git a/sdk/go/nobl9/alertMethodServicenow.go b/sdk/go/nobl9/alertMethodServicenow.go new file mode 100644 index 0000000..e7e8ced --- /dev/null +++ b/sdk/go/nobl9/alertMethodServicenow.go @@ -0,0 +1,313 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type AlertMethodServicenow struct { + pulumi.CustomResourceState + + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + InstanceName pulumi.StringOutput `pulumi:"instanceName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // ServiceNow password. + Password pulumi.StringOutput `pulumi:"password"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // ServiceNow username. + Username pulumi.StringOutput `pulumi:"username"` +} + +// NewAlertMethodServicenow registers a new resource with the given unique name, arguments, and options. +func NewAlertMethodServicenow(ctx *pulumi.Context, + name string, args *AlertMethodServicenowArgs, opts ...pulumi.ResourceOption) (*AlertMethodServicenow, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.InstanceName == nil { + return nil, errors.New("invalid value for required argument 'InstanceName'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Username == nil { + return nil, errors.New("invalid value for required argument 'Username'") + } + opts = pkgResourceDefaultOpts(opts) + var resource AlertMethodServicenow + err := ctx.RegisterResource("nobl9:index/alertMethodServicenow:AlertMethodServicenow", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAlertMethodServicenow gets an existing AlertMethodServicenow 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 GetAlertMethodServicenow(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AlertMethodServicenowState, opts ...pulumi.ResourceOption) (*AlertMethodServicenow, error) { + var resource AlertMethodServicenow + err := ctx.ReadResource("nobl9:index/alertMethodServicenow:AlertMethodServicenow", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AlertMethodServicenow resources. +type alertMethodServicenowState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + InstanceName *string `pulumi:"instanceName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // ServiceNow password. + Password *string `pulumi:"password"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // ServiceNow username. + Username *string `pulumi:"username"` +} + +type AlertMethodServicenowState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + InstanceName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // ServiceNow password. + Password pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // ServiceNow username. + Username pulumi.StringPtrInput +} + +func (AlertMethodServicenowState) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodServicenowState)(nil)).Elem() +} + +type alertMethodServicenowArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + InstanceName string `pulumi:"instanceName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // ServiceNow password. + Password *string `pulumi:"password"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // ServiceNow username. + Username string `pulumi:"username"` +} + +// The set of arguments for constructing a AlertMethodServicenow resource. +type AlertMethodServicenowArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + InstanceName pulumi.StringInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // ServiceNow password. + Password pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // ServiceNow username. + Username pulumi.StringInput +} + +func (AlertMethodServicenowArgs) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodServicenowArgs)(nil)).Elem() +} + +type AlertMethodServicenowInput interface { + pulumi.Input + + ToAlertMethodServicenowOutput() AlertMethodServicenowOutput + ToAlertMethodServicenowOutputWithContext(ctx context.Context) AlertMethodServicenowOutput +} + +func (*AlertMethodServicenow) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodServicenow)(nil)).Elem() +} + +func (i *AlertMethodServicenow) ToAlertMethodServicenowOutput() AlertMethodServicenowOutput { + return i.ToAlertMethodServicenowOutputWithContext(context.Background()) +} + +func (i *AlertMethodServicenow) ToAlertMethodServicenowOutputWithContext(ctx context.Context) AlertMethodServicenowOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodServicenowOutput) +} + +// AlertMethodServicenowArrayInput is an input type that accepts AlertMethodServicenowArray and AlertMethodServicenowArrayOutput values. +// You can construct a concrete instance of `AlertMethodServicenowArrayInput` via: +// +// AlertMethodServicenowArray{ AlertMethodServicenowArgs{...} } +type AlertMethodServicenowArrayInput interface { + pulumi.Input + + ToAlertMethodServicenowArrayOutput() AlertMethodServicenowArrayOutput + ToAlertMethodServicenowArrayOutputWithContext(context.Context) AlertMethodServicenowArrayOutput +} + +type AlertMethodServicenowArray []AlertMethodServicenowInput + +func (AlertMethodServicenowArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodServicenow)(nil)).Elem() +} + +func (i AlertMethodServicenowArray) ToAlertMethodServicenowArrayOutput() AlertMethodServicenowArrayOutput { + return i.ToAlertMethodServicenowArrayOutputWithContext(context.Background()) +} + +func (i AlertMethodServicenowArray) ToAlertMethodServicenowArrayOutputWithContext(ctx context.Context) AlertMethodServicenowArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodServicenowArrayOutput) +} + +// AlertMethodServicenowMapInput is an input type that accepts AlertMethodServicenowMap and AlertMethodServicenowMapOutput values. +// You can construct a concrete instance of `AlertMethodServicenowMapInput` via: +// +// AlertMethodServicenowMap{ "key": AlertMethodServicenowArgs{...} } +type AlertMethodServicenowMapInput interface { + pulumi.Input + + ToAlertMethodServicenowMapOutput() AlertMethodServicenowMapOutput + ToAlertMethodServicenowMapOutputWithContext(context.Context) AlertMethodServicenowMapOutput +} + +type AlertMethodServicenowMap map[string]AlertMethodServicenowInput + +func (AlertMethodServicenowMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodServicenow)(nil)).Elem() +} + +func (i AlertMethodServicenowMap) ToAlertMethodServicenowMapOutput() AlertMethodServicenowMapOutput { + return i.ToAlertMethodServicenowMapOutputWithContext(context.Background()) +} + +func (i AlertMethodServicenowMap) ToAlertMethodServicenowMapOutputWithContext(ctx context.Context) AlertMethodServicenowMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodServicenowMapOutput) +} + +type AlertMethodServicenowOutput struct{ *pulumi.OutputState } + +func (AlertMethodServicenowOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodServicenow)(nil)).Elem() +} + +func (o AlertMethodServicenowOutput) ToAlertMethodServicenowOutput() AlertMethodServicenowOutput { + return o +} + +func (o AlertMethodServicenowOutput) ToAlertMethodServicenowOutputWithContext(ctx context.Context) AlertMethodServicenowOutput { + return o +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o AlertMethodServicenowOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodServicenow) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o AlertMethodServicenowOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodServicenow) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). +func (o AlertMethodServicenowOutput) InstanceName() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodServicenow) pulumi.StringOutput { return v.InstanceName }).(pulumi.StringOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodServicenowOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodServicenow) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// ServiceNow password. +func (o AlertMethodServicenowOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodServicenow) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodServicenowOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodServicenow) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// ServiceNow username. +func (o AlertMethodServicenowOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodServicenow) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) +} + +type AlertMethodServicenowArrayOutput struct{ *pulumi.OutputState } + +func (AlertMethodServicenowArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodServicenow)(nil)).Elem() +} + +func (o AlertMethodServicenowArrayOutput) ToAlertMethodServicenowArrayOutput() AlertMethodServicenowArrayOutput { + return o +} + +func (o AlertMethodServicenowArrayOutput) ToAlertMethodServicenowArrayOutputWithContext(ctx context.Context) AlertMethodServicenowArrayOutput { + return o +} + +func (o AlertMethodServicenowArrayOutput) Index(i pulumi.IntInput) AlertMethodServicenowOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AlertMethodServicenow { + return vs[0].([]*AlertMethodServicenow)[vs[1].(int)] + }).(AlertMethodServicenowOutput) +} + +type AlertMethodServicenowMapOutput struct{ *pulumi.OutputState } + +func (AlertMethodServicenowMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodServicenow)(nil)).Elem() +} + +func (o AlertMethodServicenowMapOutput) ToAlertMethodServicenowMapOutput() AlertMethodServicenowMapOutput { + return o +} + +func (o AlertMethodServicenowMapOutput) ToAlertMethodServicenowMapOutputWithContext(ctx context.Context) AlertMethodServicenowMapOutput { + return o +} + +func (o AlertMethodServicenowMapOutput) MapIndex(k pulumi.StringInput) AlertMethodServicenowOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AlertMethodServicenow { + return vs[0].(map[string]*AlertMethodServicenow)[vs[1].(string)] + }).(AlertMethodServicenowOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodServicenowInput)(nil)).Elem(), &AlertMethodServicenow{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodServicenowArrayInput)(nil)).Elem(), AlertMethodServicenowArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodServicenowMapInput)(nil)).Elem(), AlertMethodServicenowMap{}) + pulumi.RegisterOutputType(AlertMethodServicenowOutput{}) + pulumi.RegisterOutputType(AlertMethodServicenowArrayOutput{}) + pulumi.RegisterOutputType(AlertMethodServicenowMapOutput{}) +} diff --git a/sdk/go/nobl9/alertMethodSlack.go b/sdk/go/nobl9/alertMethodSlack.go new file mode 100644 index 0000000..7bea8e4 --- /dev/null +++ b/sdk/go/nobl9/alertMethodSlack.go @@ -0,0 +1,277 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type AlertMethodSlack struct { + pulumi.CustomResourceState + + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewAlertMethodSlack registers a new resource with the given unique name, arguments, and options. +func NewAlertMethodSlack(ctx *pulumi.Context, + name string, args *AlertMethodSlackArgs, opts ...pulumi.ResourceOption) (*AlertMethodSlack, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + opts = pkgResourceDefaultOpts(opts) + var resource AlertMethodSlack + err := ctx.RegisterResource("nobl9:index/alertMethodSlack:AlertMethodSlack", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAlertMethodSlack gets an existing AlertMethodSlack 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 GetAlertMethodSlack(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AlertMethodSlackState, opts ...pulumi.ResourceOption) (*AlertMethodSlack, error) { + var resource AlertMethodSlack + err := ctx.ReadResource("nobl9:index/alertMethodSlack:AlertMethodSlack", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AlertMethodSlack resources. +type alertMethodSlackState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + Url *string `pulumi:"url"` +} + +type AlertMethodSlackState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + Url pulumi.StringPtrInput +} + +func (AlertMethodSlackState) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodSlackState)(nil)).Elem() +} + +type alertMethodSlackArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + Url *string `pulumi:"url"` +} + +// The set of arguments for constructing a AlertMethodSlack resource. +type AlertMethodSlackArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + Url pulumi.StringPtrInput +} + +func (AlertMethodSlackArgs) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodSlackArgs)(nil)).Elem() +} + +type AlertMethodSlackInput interface { + pulumi.Input + + ToAlertMethodSlackOutput() AlertMethodSlackOutput + ToAlertMethodSlackOutputWithContext(ctx context.Context) AlertMethodSlackOutput +} + +func (*AlertMethodSlack) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodSlack)(nil)).Elem() +} + +func (i *AlertMethodSlack) ToAlertMethodSlackOutput() AlertMethodSlackOutput { + return i.ToAlertMethodSlackOutputWithContext(context.Background()) +} + +func (i *AlertMethodSlack) ToAlertMethodSlackOutputWithContext(ctx context.Context) AlertMethodSlackOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodSlackOutput) +} + +// AlertMethodSlackArrayInput is an input type that accepts AlertMethodSlackArray and AlertMethodSlackArrayOutput values. +// You can construct a concrete instance of `AlertMethodSlackArrayInput` via: +// +// AlertMethodSlackArray{ AlertMethodSlackArgs{...} } +type AlertMethodSlackArrayInput interface { + pulumi.Input + + ToAlertMethodSlackArrayOutput() AlertMethodSlackArrayOutput + ToAlertMethodSlackArrayOutputWithContext(context.Context) AlertMethodSlackArrayOutput +} + +type AlertMethodSlackArray []AlertMethodSlackInput + +func (AlertMethodSlackArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodSlack)(nil)).Elem() +} + +func (i AlertMethodSlackArray) ToAlertMethodSlackArrayOutput() AlertMethodSlackArrayOutput { + return i.ToAlertMethodSlackArrayOutputWithContext(context.Background()) +} + +func (i AlertMethodSlackArray) ToAlertMethodSlackArrayOutputWithContext(ctx context.Context) AlertMethodSlackArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodSlackArrayOutput) +} + +// AlertMethodSlackMapInput is an input type that accepts AlertMethodSlackMap and AlertMethodSlackMapOutput values. +// You can construct a concrete instance of `AlertMethodSlackMapInput` via: +// +// AlertMethodSlackMap{ "key": AlertMethodSlackArgs{...} } +type AlertMethodSlackMapInput interface { + pulumi.Input + + ToAlertMethodSlackMapOutput() AlertMethodSlackMapOutput + ToAlertMethodSlackMapOutputWithContext(context.Context) AlertMethodSlackMapOutput +} + +type AlertMethodSlackMap map[string]AlertMethodSlackInput + +func (AlertMethodSlackMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodSlack)(nil)).Elem() +} + +func (i AlertMethodSlackMap) ToAlertMethodSlackMapOutput() AlertMethodSlackMapOutput { + return i.ToAlertMethodSlackMapOutputWithContext(context.Background()) +} + +func (i AlertMethodSlackMap) ToAlertMethodSlackMapOutputWithContext(ctx context.Context) AlertMethodSlackMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodSlackMapOutput) +} + +type AlertMethodSlackOutput struct{ *pulumi.OutputState } + +func (AlertMethodSlackOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodSlack)(nil)).Elem() +} + +func (o AlertMethodSlackOutput) ToAlertMethodSlackOutput() AlertMethodSlackOutput { + return o +} + +func (o AlertMethodSlackOutput) ToAlertMethodSlackOutputWithContext(ctx context.Context) AlertMethodSlackOutput { + return o +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o AlertMethodSlackOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodSlack) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o AlertMethodSlackOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodSlack) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodSlackOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodSlack) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodSlackOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodSlack) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). +func (o AlertMethodSlackOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodSlack) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type AlertMethodSlackArrayOutput struct{ *pulumi.OutputState } + +func (AlertMethodSlackArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodSlack)(nil)).Elem() +} + +func (o AlertMethodSlackArrayOutput) ToAlertMethodSlackArrayOutput() AlertMethodSlackArrayOutput { + return o +} + +func (o AlertMethodSlackArrayOutput) ToAlertMethodSlackArrayOutputWithContext(ctx context.Context) AlertMethodSlackArrayOutput { + return o +} + +func (o AlertMethodSlackArrayOutput) Index(i pulumi.IntInput) AlertMethodSlackOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AlertMethodSlack { + return vs[0].([]*AlertMethodSlack)[vs[1].(int)] + }).(AlertMethodSlackOutput) +} + +type AlertMethodSlackMapOutput struct{ *pulumi.OutputState } + +func (AlertMethodSlackMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodSlack)(nil)).Elem() +} + +func (o AlertMethodSlackMapOutput) ToAlertMethodSlackMapOutput() AlertMethodSlackMapOutput { + return o +} + +func (o AlertMethodSlackMapOutput) ToAlertMethodSlackMapOutputWithContext(ctx context.Context) AlertMethodSlackMapOutput { + return o +} + +func (o AlertMethodSlackMapOutput) MapIndex(k pulumi.StringInput) AlertMethodSlackOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AlertMethodSlack { + return vs[0].(map[string]*AlertMethodSlack)[vs[1].(string)] + }).(AlertMethodSlackOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodSlackInput)(nil)).Elem(), &AlertMethodSlack{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodSlackArrayInput)(nil)).Elem(), AlertMethodSlackArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodSlackMapInput)(nil)).Elem(), AlertMethodSlackMap{}) + pulumi.RegisterOutputType(AlertMethodSlackOutput{}) + pulumi.RegisterOutputType(AlertMethodSlackArrayOutput{}) + pulumi.RegisterOutputType(AlertMethodSlackMapOutput{}) +} diff --git a/sdk/go/nobl9/alertMethodWebhook.go b/sdk/go/nobl9/alertMethodWebhook.go new file mode 100644 index 0000000..a376853 --- /dev/null +++ b/sdk/go/nobl9/alertMethodWebhook.go @@ -0,0 +1,307 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type AlertMethodWebhook struct { + pulumi.CustomResourceState + + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // Webhook message template. See documentation for template format and samples. + Template pulumi.StringPtrOutput `pulumi:"template"` + // Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + TemplateFields pulumi.StringArrayOutput `pulumi:"templateFields"` + // URL of the webhook endpoint. + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewAlertMethodWebhook registers a new resource with the given unique name, arguments, and options. +func NewAlertMethodWebhook(ctx *pulumi.Context, + name string, args *AlertMethodWebhookArgs, opts ...pulumi.ResourceOption) (*AlertMethodWebhook, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + opts = pkgResourceDefaultOpts(opts) + var resource AlertMethodWebhook + err := ctx.RegisterResource("nobl9:index/alertMethodWebhook:AlertMethodWebhook", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAlertMethodWebhook gets an existing AlertMethodWebhook 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 GetAlertMethodWebhook(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AlertMethodWebhookState, opts ...pulumi.ResourceOption) (*AlertMethodWebhook, error) { + var resource AlertMethodWebhook + err := ctx.ReadResource("nobl9:index/alertMethodWebhook:AlertMethodWebhook", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AlertMethodWebhook resources. +type alertMethodWebhookState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // Webhook message template. See documentation for template format and samples. + Template *string `pulumi:"template"` + // Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + TemplateFields []string `pulumi:"templateFields"` + // URL of the webhook endpoint. + Url *string `pulumi:"url"` +} + +type AlertMethodWebhookState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // Webhook message template. See documentation for template format and samples. + Template pulumi.StringPtrInput + // Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + TemplateFields pulumi.StringArrayInput + // URL of the webhook endpoint. + Url pulumi.StringPtrInput +} + +func (AlertMethodWebhookState) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodWebhookState)(nil)).Elem() +} + +type alertMethodWebhookArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // Webhook message template. See documentation for template format and samples. + Template *string `pulumi:"template"` + // Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + TemplateFields []string `pulumi:"templateFields"` + // URL of the webhook endpoint. + Url *string `pulumi:"url"` +} + +// The set of arguments for constructing a AlertMethodWebhook resource. +type AlertMethodWebhookArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // Webhook message template. See documentation for template format and samples. + Template pulumi.StringPtrInput + // Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + TemplateFields pulumi.StringArrayInput + // URL of the webhook endpoint. + Url pulumi.StringPtrInput +} + +func (AlertMethodWebhookArgs) ElementType() reflect.Type { + return reflect.TypeOf((*alertMethodWebhookArgs)(nil)).Elem() +} + +type AlertMethodWebhookInput interface { + pulumi.Input + + ToAlertMethodWebhookOutput() AlertMethodWebhookOutput + ToAlertMethodWebhookOutputWithContext(ctx context.Context) AlertMethodWebhookOutput +} + +func (*AlertMethodWebhook) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodWebhook)(nil)).Elem() +} + +func (i *AlertMethodWebhook) ToAlertMethodWebhookOutput() AlertMethodWebhookOutput { + return i.ToAlertMethodWebhookOutputWithContext(context.Background()) +} + +func (i *AlertMethodWebhook) ToAlertMethodWebhookOutputWithContext(ctx context.Context) AlertMethodWebhookOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodWebhookOutput) +} + +// AlertMethodWebhookArrayInput is an input type that accepts AlertMethodWebhookArray and AlertMethodWebhookArrayOutput values. +// You can construct a concrete instance of `AlertMethodWebhookArrayInput` via: +// +// AlertMethodWebhookArray{ AlertMethodWebhookArgs{...} } +type AlertMethodWebhookArrayInput interface { + pulumi.Input + + ToAlertMethodWebhookArrayOutput() AlertMethodWebhookArrayOutput + ToAlertMethodWebhookArrayOutputWithContext(context.Context) AlertMethodWebhookArrayOutput +} + +type AlertMethodWebhookArray []AlertMethodWebhookInput + +func (AlertMethodWebhookArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodWebhook)(nil)).Elem() +} + +func (i AlertMethodWebhookArray) ToAlertMethodWebhookArrayOutput() AlertMethodWebhookArrayOutput { + return i.ToAlertMethodWebhookArrayOutputWithContext(context.Background()) +} + +func (i AlertMethodWebhookArray) ToAlertMethodWebhookArrayOutputWithContext(ctx context.Context) AlertMethodWebhookArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodWebhookArrayOutput) +} + +// AlertMethodWebhookMapInput is an input type that accepts AlertMethodWebhookMap and AlertMethodWebhookMapOutput values. +// You can construct a concrete instance of `AlertMethodWebhookMapInput` via: +// +// AlertMethodWebhookMap{ "key": AlertMethodWebhookArgs{...} } +type AlertMethodWebhookMapInput interface { + pulumi.Input + + ToAlertMethodWebhookMapOutput() AlertMethodWebhookMapOutput + ToAlertMethodWebhookMapOutputWithContext(context.Context) AlertMethodWebhookMapOutput +} + +type AlertMethodWebhookMap map[string]AlertMethodWebhookInput + +func (AlertMethodWebhookMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodWebhook)(nil)).Elem() +} + +func (i AlertMethodWebhookMap) ToAlertMethodWebhookMapOutput() AlertMethodWebhookMapOutput { + return i.ToAlertMethodWebhookMapOutputWithContext(context.Background()) +} + +func (i AlertMethodWebhookMap) ToAlertMethodWebhookMapOutputWithContext(ctx context.Context) AlertMethodWebhookMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertMethodWebhookMapOutput) +} + +type AlertMethodWebhookOutput struct{ *pulumi.OutputState } + +func (AlertMethodWebhookOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AlertMethodWebhook)(nil)).Elem() +} + +func (o AlertMethodWebhookOutput) ToAlertMethodWebhookOutput() AlertMethodWebhookOutput { + return o +} + +func (o AlertMethodWebhookOutput) ToAlertMethodWebhookOutputWithContext(ctx context.Context) AlertMethodWebhookOutput { + return o +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o AlertMethodWebhookOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodWebhook) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o AlertMethodWebhookOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodWebhook) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodWebhookOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodWebhook) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertMethodWebhookOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodWebhook) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Webhook message template. See documentation for template format and samples. +func (o AlertMethodWebhookOutput) Template() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertMethodWebhook) pulumi.StringPtrOutput { return v.Template }).(pulumi.StringPtrOutput) +} + +// Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. +func (o AlertMethodWebhookOutput) TemplateFields() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AlertMethodWebhook) pulumi.StringArrayOutput { return v.TemplateFields }).(pulumi.StringArrayOutput) +} + +// URL of the webhook endpoint. +func (o AlertMethodWebhookOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *AlertMethodWebhook) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type AlertMethodWebhookArrayOutput struct{ *pulumi.OutputState } + +func (AlertMethodWebhookArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertMethodWebhook)(nil)).Elem() +} + +func (o AlertMethodWebhookArrayOutput) ToAlertMethodWebhookArrayOutput() AlertMethodWebhookArrayOutput { + return o +} + +func (o AlertMethodWebhookArrayOutput) ToAlertMethodWebhookArrayOutputWithContext(ctx context.Context) AlertMethodWebhookArrayOutput { + return o +} + +func (o AlertMethodWebhookArrayOutput) Index(i pulumi.IntInput) AlertMethodWebhookOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AlertMethodWebhook { + return vs[0].([]*AlertMethodWebhook)[vs[1].(int)] + }).(AlertMethodWebhookOutput) +} + +type AlertMethodWebhookMapOutput struct{ *pulumi.OutputState } + +func (AlertMethodWebhookMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertMethodWebhook)(nil)).Elem() +} + +func (o AlertMethodWebhookMapOutput) ToAlertMethodWebhookMapOutput() AlertMethodWebhookMapOutput { + return o +} + +func (o AlertMethodWebhookMapOutput) ToAlertMethodWebhookMapOutputWithContext(ctx context.Context) AlertMethodWebhookMapOutput { + return o +} + +func (o AlertMethodWebhookMapOutput) MapIndex(k pulumi.StringInput) AlertMethodWebhookOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AlertMethodWebhook { + return vs[0].(map[string]*AlertMethodWebhook)[vs[1].(string)] + }).(AlertMethodWebhookOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodWebhookInput)(nil)).Elem(), &AlertMethodWebhook{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodWebhookArrayInput)(nil)).Elem(), AlertMethodWebhookArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertMethodWebhookMapInput)(nil)).Elem(), AlertMethodWebhookMap{}) + pulumi.RegisterOutputType(AlertMethodWebhookOutput{}) + pulumi.RegisterOutputType(AlertMethodWebhookArrayOutput{}) + pulumi.RegisterOutputType(AlertMethodWebhookMapOutput{}) +} diff --git a/sdk/go/nobl9/alertPolicy.go b/sdk/go/nobl9/alertPolicy.go new file mode 100644 index 0000000..f668953 --- /dev/null +++ b/sdk/go/nobl9/alertPolicy.go @@ -0,0 +1,377 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// An **Alert Policy** expresses a set of conditions you want to track or monitor. The conditions for an Alert Policy define what is monitored and when to activate an alert: when the performance of your service is declining, Nobl9 will send a notification to a predefined channel. +// +// A Nobl9 AlertPolicy accepts up to 7 conditions. All the specified conditions must be satisfied to trigger an alert. +// +// For more details, refer to the [Alert Policy configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#alertpolicy). +// +// ## Example Usage +// +// Here's an example of Alert Policy resource configuration: +// +// ```go +// package main +// +// import ( +// "fmt" +// +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// thisProject, err := nobl9.NewProject(ctx, "thisProject", &nobl9.ProjectArgs{ +// DisplayName: pulumi.String("My Project"), +// Description: pulumi.String("An example N9 Terraform project"), +// }) +// if err != nil { +// return err +// } +// _, err = nobl9.NewService(ctx, "thisService", &nobl9.ServiceArgs{ +// Project: thisProject.Name, +// DisplayName: thisProject.DisplayName.ApplyT(func(displayName string) (string, error) { +// return fmt.Sprintf("%v Front Page", displayName), nil +// }).(pulumi.StringOutput), +// Description: pulumi.String("Front page service"), +// }) +// if err != nil { +// return err +// } +// _, err = nobl9.NewAlertPolicy(ctx, "thisAlertPolicy", &nobl9.AlertPolicyArgs{ +// Project: thisProject.Name, +// DisplayName: thisProject.DisplayName.ApplyT(func(displayName string) (string, error) { +// return fmt.Sprintf("%v Front Page Latency", displayName), nil +// }).(pulumi.StringOutput), +// Severity: pulumi.String("High"), +// Description: pulumi.String("Alert when page latency is > 2000 and error budget would be exhausted"), +// Conditions: AlertPolicyConditionArray{ +// &AlertPolicyConditionArgs{ +// Measurement: pulumi.String("timeToBurnBudget"), +// ValueString: pulumi.String("72h"), +// LastsFor: pulumi.String("30m"), +// }, +// }, +// AlertMethods: AlertPolicyAlertMethodArray{ +// &AlertPolicyAlertMethodArgs{ +// Name: pulumi.String("my-alert-method"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Useful Links +// +// [Alert Policy configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#alertpolicy) +type AlertPolicy struct { + pulumi.CustomResourceState + + AlertMethods AlertPolicyAlertMethodArrayOutput `pulumi:"alertMethods"` + // Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + Conditions AlertPolicyConditionArrayOutput `pulumi:"conditions"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // Alert severity. One of `Low` | `Medium` | `High`. + Severity pulumi.StringOutput `pulumi:"severity"` +} + +// NewAlertPolicy registers a new resource with the given unique name, arguments, and options. +func NewAlertPolicy(ctx *pulumi.Context, + name string, args *AlertPolicyArgs, opts ...pulumi.ResourceOption) (*AlertPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Conditions == nil { + return nil, errors.New("invalid value for required argument 'Conditions'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Severity == nil { + return nil, errors.New("invalid value for required argument 'Severity'") + } + opts = pkgResourceDefaultOpts(opts) + var resource AlertPolicy + err := ctx.RegisterResource("nobl9:index/alertPolicy:AlertPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAlertPolicy gets an existing AlertPolicy 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 GetAlertPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AlertPolicyState, opts ...pulumi.ResourceOption) (*AlertPolicy, error) { + var resource AlertPolicy + err := ctx.ReadResource("nobl9:index/alertPolicy:AlertPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AlertPolicy resources. +type alertPolicyState struct { + AlertMethods []AlertPolicyAlertMethod `pulumi:"alertMethods"` + // Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + Conditions []AlertPolicyCondition `pulumi:"conditions"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // Alert severity. One of `Low` | `Medium` | `High`. + Severity *string `pulumi:"severity"` +} + +type AlertPolicyState struct { + AlertMethods AlertPolicyAlertMethodArrayInput + // Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + Conditions AlertPolicyConditionArrayInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // Alert severity. One of `Low` | `Medium` | `High`. + Severity pulumi.StringPtrInput +} + +func (AlertPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*alertPolicyState)(nil)).Elem() +} + +type alertPolicyArgs struct { + AlertMethods []AlertPolicyAlertMethod `pulumi:"alertMethods"` + // Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + Conditions []AlertPolicyCondition `pulumi:"conditions"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // Alert severity. One of `Low` | `Medium` | `High`. + Severity string `pulumi:"severity"` +} + +// The set of arguments for constructing a AlertPolicy resource. +type AlertPolicyArgs struct { + AlertMethods AlertPolicyAlertMethodArrayInput + // Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + Conditions AlertPolicyConditionArrayInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // Alert severity. One of `Low` | `Medium` | `High`. + Severity pulumi.StringInput +} + +func (AlertPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*alertPolicyArgs)(nil)).Elem() +} + +type AlertPolicyInput interface { + pulumi.Input + + ToAlertPolicyOutput() AlertPolicyOutput + ToAlertPolicyOutputWithContext(ctx context.Context) AlertPolicyOutput +} + +func (*AlertPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**AlertPolicy)(nil)).Elem() +} + +func (i *AlertPolicy) ToAlertPolicyOutput() AlertPolicyOutput { + return i.ToAlertPolicyOutputWithContext(context.Background()) +} + +func (i *AlertPolicy) ToAlertPolicyOutputWithContext(ctx context.Context) AlertPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertPolicyOutput) +} + +// AlertPolicyArrayInput is an input type that accepts AlertPolicyArray and AlertPolicyArrayOutput values. +// You can construct a concrete instance of `AlertPolicyArrayInput` via: +// +// AlertPolicyArray{ AlertPolicyArgs{...} } +type AlertPolicyArrayInput interface { + pulumi.Input + + ToAlertPolicyArrayOutput() AlertPolicyArrayOutput + ToAlertPolicyArrayOutputWithContext(context.Context) AlertPolicyArrayOutput +} + +type AlertPolicyArray []AlertPolicyInput + +func (AlertPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertPolicy)(nil)).Elem() +} + +func (i AlertPolicyArray) ToAlertPolicyArrayOutput() AlertPolicyArrayOutput { + return i.ToAlertPolicyArrayOutputWithContext(context.Background()) +} + +func (i AlertPolicyArray) ToAlertPolicyArrayOutputWithContext(ctx context.Context) AlertPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertPolicyArrayOutput) +} + +// AlertPolicyMapInput is an input type that accepts AlertPolicyMap and AlertPolicyMapOutput values. +// You can construct a concrete instance of `AlertPolicyMapInput` via: +// +// AlertPolicyMap{ "key": AlertPolicyArgs{...} } +type AlertPolicyMapInput interface { + pulumi.Input + + ToAlertPolicyMapOutput() AlertPolicyMapOutput + ToAlertPolicyMapOutputWithContext(context.Context) AlertPolicyMapOutput +} + +type AlertPolicyMap map[string]AlertPolicyInput + +func (AlertPolicyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertPolicy)(nil)).Elem() +} + +func (i AlertPolicyMap) ToAlertPolicyMapOutput() AlertPolicyMapOutput { + return i.ToAlertPolicyMapOutputWithContext(context.Background()) +} + +func (i AlertPolicyMap) ToAlertPolicyMapOutputWithContext(ctx context.Context) AlertPolicyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertPolicyMapOutput) +} + +type AlertPolicyOutput struct{ *pulumi.OutputState } + +func (AlertPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AlertPolicy)(nil)).Elem() +} + +func (o AlertPolicyOutput) ToAlertPolicyOutput() AlertPolicyOutput { + return o +} + +func (o AlertPolicyOutput) ToAlertPolicyOutputWithContext(ctx context.Context) AlertPolicyOutput { + return o +} + +func (o AlertPolicyOutput) AlertMethods() AlertPolicyAlertMethodArrayOutput { + return o.ApplyT(func(v *AlertPolicy) AlertPolicyAlertMethodArrayOutput { return v.AlertMethods }).(AlertPolicyAlertMethodArrayOutput) +} + +// Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). +func (o AlertPolicyOutput) Conditions() AlertPolicyConditionArrayOutput { + return o.ApplyT(func(v *AlertPolicy) AlertPolicyConditionArrayOutput { return v.Conditions }).(AlertPolicyConditionArrayOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o AlertPolicyOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertPolicy) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o AlertPolicyOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlertPolicy) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AlertPolicy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o AlertPolicyOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *AlertPolicy) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Alert severity. One of `Low` | `Medium` | `High`. +func (o AlertPolicyOutput) Severity() pulumi.StringOutput { + return o.ApplyT(func(v *AlertPolicy) pulumi.StringOutput { return v.Severity }).(pulumi.StringOutput) +} + +type AlertPolicyArrayOutput struct{ *pulumi.OutputState } + +func (AlertPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlertPolicy)(nil)).Elem() +} + +func (o AlertPolicyArrayOutput) ToAlertPolicyArrayOutput() AlertPolicyArrayOutput { + return o +} + +func (o AlertPolicyArrayOutput) ToAlertPolicyArrayOutputWithContext(ctx context.Context) AlertPolicyArrayOutput { + return o +} + +func (o AlertPolicyArrayOutput) Index(i pulumi.IntInput) AlertPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AlertPolicy { + return vs[0].([]*AlertPolicy)[vs[1].(int)] + }).(AlertPolicyOutput) +} + +type AlertPolicyMapOutput struct{ *pulumi.OutputState } + +func (AlertPolicyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlertPolicy)(nil)).Elem() +} + +func (o AlertPolicyMapOutput) ToAlertPolicyMapOutput() AlertPolicyMapOutput { + return o +} + +func (o AlertPolicyMapOutput) ToAlertPolicyMapOutputWithContext(ctx context.Context) AlertPolicyMapOutput { + return o +} + +func (o AlertPolicyMapOutput) MapIndex(k pulumi.StringInput) AlertPolicyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AlertPolicy { + return vs[0].(map[string]*AlertPolicy)[vs[1].(string)] + }).(AlertPolicyOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AlertPolicyInput)(nil)).Elem(), &AlertPolicy{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertPolicyArrayInput)(nil)).Elem(), AlertPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertPolicyMapInput)(nil)).Elem(), AlertPolicyMap{}) + pulumi.RegisterOutputType(AlertPolicyOutput{}) + pulumi.RegisterOutputType(AlertPolicyArrayOutput{}) + pulumi.RegisterOutputType(AlertPolicyMapOutput{}) +} diff --git a/sdk/go/nobl9/config/config.go b/sdk/go/nobl9/config/config.go new file mode 100644 index 0000000..13ea6b1 --- /dev/null +++ b/sdk/go/nobl9/config/config.go @@ -0,0 +1,47 @@ +// 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 config + +import ( + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +) + +// the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to +// Nobl9. +func GetClientId(ctx *pulumi.Context) string { + return config.Get(ctx, "nobl9:clientId") +} + +// the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect +// to Nobl9. +func GetClientSecret(ctx *pulumi.Context) string { + return config.Get(ctx, "nobl9:clientSecret") +} + +// Nobl9 API URL. +func GetIngestUrl(ctx *pulumi.Context) string { + return config.Get(ctx, "nobl9:ingestUrl") +} + +// Authorization service configuration. +func GetOktaAuthServer(ctx *pulumi.Context) string { + return config.Get(ctx, "nobl9:oktaAuthServer") +} + +// Authorization service URL. +func GetOktaOrgUrl(ctx *pulumi.Context) string { + return config.Get(ctx, "nobl9:oktaOrgUrl") +} + +// Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that +// contains resources managed by the Nobl9 Terraform provider. +func GetOrganization(ctx *pulumi.Context) string { + return config.Get(ctx, "nobl9:organization") +} + +// Nobl9 project used when importing resources. +func GetProject(ctx *pulumi.Context) string { + return config.Get(ctx, "nobl9:project") +} diff --git a/sdk/go/nobl9/directAppdynamics.go b/sdk/go/nobl9/directAppdynamics.go new file mode 100644 index 0000000..940537f --- /dev/null +++ b/sdk/go/nobl9/directAppdynamics.go @@ -0,0 +1,424 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// AppDynamics is a performance management program for applications. It helps users to gain a comprehensive understanding of the impact of technical difficulties on business goals, allowing IT teams to prioritize their efforts in a way that improves ROI. Nobl9 connects with AppDynamics to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [AppDynamics Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-direct) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectAppdynamics(ctx, "test-appdynamics", &nobl9.DirectAppdynamicsArgs{ +// AccountName: pulumi.String("account name"), +// ClientName: pulumi.String("client name"), +// ClientSecret: pulumi.String("secret"), +// Description: pulumi.String("desc"), +// Project: pulumi.String("terraform"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// Url: pulumi.String("https://web.net"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectAppdynamics struct { + pulumi.CustomResourceState + + // AppDynamics Account Name. + AccountName pulumi.StringOutput `pulumi:"accountName"` + // AppDynamics Client ID. + ClientId pulumi.StringOutput `pulumi:"clientId"` + // AppDynamics Client Name. + ClientName pulumi.StringOutput `pulumi:"clientName"` + // [required] | AppDynamics Client Secret. + ClientSecret pulumi.StringOutput `pulumi:"clientSecret"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectAppdynamicsQueryDelayPtrOutput `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` + // Base URL to the AppDynamics Controller. + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewDirectAppdynamics registers a new resource with the given unique name, arguments, and options. +func NewDirectAppdynamics(ctx *pulumi.Context, + name string, args *DirectAppdynamicsArgs, opts ...pulumi.ResourceOption) (*DirectAppdynamics, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AccountName == nil { + return nil, errors.New("invalid value for required argument 'AccountName'") + } + if args.ClientName == nil { + return nil, errors.New("invalid value for required argument 'ClientName'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectAppdynamics + err := ctx.RegisterResource("nobl9:index/directAppdynamics:DirectAppdynamics", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectAppdynamics gets an existing DirectAppdynamics 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 GetDirectAppdynamics(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectAppdynamicsState, opts ...pulumi.ResourceOption) (*DirectAppdynamics, error) { + var resource DirectAppdynamics + err := ctx.ReadResource("nobl9:index/directAppdynamics:DirectAppdynamics", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectAppdynamics resources. +type directAppdynamicsState struct { + // AppDynamics Account Name. + AccountName *string `pulumi:"accountName"` + // AppDynamics Client ID. + ClientId *string `pulumi:"clientId"` + // AppDynamics Client Name. + ClientName *string `pulumi:"clientName"` + // [required] | AppDynamics Client Secret. + ClientSecret *string `pulumi:"clientSecret"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectAppdynamicsQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` + // Base URL to the AppDynamics Controller. + Url *string `pulumi:"url"` +} + +type DirectAppdynamicsState struct { + // AppDynamics Account Name. + AccountName pulumi.StringPtrInput + // AppDynamics Client ID. + ClientId pulumi.StringPtrInput + // AppDynamics Client Name. + ClientName pulumi.StringPtrInput + // [required] | AppDynamics Client Secret. + ClientSecret pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectAppdynamicsQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput + // Base URL to the AppDynamics Controller. + Url pulumi.StringPtrInput +} + +func (DirectAppdynamicsState) ElementType() reflect.Type { + return reflect.TypeOf((*directAppdynamicsState)(nil)).Elem() +} + +type directAppdynamicsArgs struct { + // AppDynamics Account Name. + AccountName string `pulumi:"accountName"` + // AppDynamics Client Name. + ClientName string `pulumi:"clientName"` + // [required] | AppDynamics Client Secret. + ClientSecret *string `pulumi:"clientSecret"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectAppdynamicsQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // Base URL to the AppDynamics Controller. + Url string `pulumi:"url"` +} + +// The set of arguments for constructing a DirectAppdynamics resource. +type DirectAppdynamicsArgs struct { + // AppDynamics Account Name. + AccountName pulumi.StringInput + // AppDynamics Client Name. + ClientName pulumi.StringInput + // [required] | AppDynamics Client Secret. + ClientSecret pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectAppdynamicsQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // Base URL to the AppDynamics Controller. + Url pulumi.StringInput +} + +func (DirectAppdynamicsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directAppdynamicsArgs)(nil)).Elem() +} + +type DirectAppdynamicsInput interface { + pulumi.Input + + ToDirectAppdynamicsOutput() DirectAppdynamicsOutput + ToDirectAppdynamicsOutputWithContext(ctx context.Context) DirectAppdynamicsOutput +} + +func (*DirectAppdynamics) ElementType() reflect.Type { + return reflect.TypeOf((**DirectAppdynamics)(nil)).Elem() +} + +func (i *DirectAppdynamics) ToDirectAppdynamicsOutput() DirectAppdynamicsOutput { + return i.ToDirectAppdynamicsOutputWithContext(context.Background()) +} + +func (i *DirectAppdynamics) ToDirectAppdynamicsOutputWithContext(ctx context.Context) DirectAppdynamicsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectAppdynamicsOutput) +} + +// DirectAppdynamicsArrayInput is an input type that accepts DirectAppdynamicsArray and DirectAppdynamicsArrayOutput values. +// You can construct a concrete instance of `DirectAppdynamicsArrayInput` via: +// +// DirectAppdynamicsArray{ DirectAppdynamicsArgs{...} } +type DirectAppdynamicsArrayInput interface { + pulumi.Input + + ToDirectAppdynamicsArrayOutput() DirectAppdynamicsArrayOutput + ToDirectAppdynamicsArrayOutputWithContext(context.Context) DirectAppdynamicsArrayOutput +} + +type DirectAppdynamicsArray []DirectAppdynamicsInput + +func (DirectAppdynamicsArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectAppdynamics)(nil)).Elem() +} + +func (i DirectAppdynamicsArray) ToDirectAppdynamicsArrayOutput() DirectAppdynamicsArrayOutput { + return i.ToDirectAppdynamicsArrayOutputWithContext(context.Background()) +} + +func (i DirectAppdynamicsArray) ToDirectAppdynamicsArrayOutputWithContext(ctx context.Context) DirectAppdynamicsArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectAppdynamicsArrayOutput) +} + +// DirectAppdynamicsMapInput is an input type that accepts DirectAppdynamicsMap and DirectAppdynamicsMapOutput values. +// You can construct a concrete instance of `DirectAppdynamicsMapInput` via: +// +// DirectAppdynamicsMap{ "key": DirectAppdynamicsArgs{...} } +type DirectAppdynamicsMapInput interface { + pulumi.Input + + ToDirectAppdynamicsMapOutput() DirectAppdynamicsMapOutput + ToDirectAppdynamicsMapOutputWithContext(context.Context) DirectAppdynamicsMapOutput +} + +type DirectAppdynamicsMap map[string]DirectAppdynamicsInput + +func (DirectAppdynamicsMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectAppdynamics)(nil)).Elem() +} + +func (i DirectAppdynamicsMap) ToDirectAppdynamicsMapOutput() DirectAppdynamicsMapOutput { + return i.ToDirectAppdynamicsMapOutputWithContext(context.Background()) +} + +func (i DirectAppdynamicsMap) ToDirectAppdynamicsMapOutputWithContext(ctx context.Context) DirectAppdynamicsMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectAppdynamicsMapOutput) +} + +type DirectAppdynamicsOutput struct{ *pulumi.OutputState } + +func (DirectAppdynamicsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectAppdynamics)(nil)).Elem() +} + +func (o DirectAppdynamicsOutput) ToDirectAppdynamicsOutput() DirectAppdynamicsOutput { + return o +} + +func (o DirectAppdynamicsOutput) ToDirectAppdynamicsOutputWithContext(ctx context.Context) DirectAppdynamicsOutput { + return o +} + +// AppDynamics Account Name. +func (o DirectAppdynamicsOutput) AccountName() pulumi.StringOutput { + return o.ApplyT(func(v *DirectAppdynamics) pulumi.StringOutput { return v.AccountName }).(pulumi.StringOutput) +} + +// AppDynamics Client ID. +func (o DirectAppdynamicsOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v *DirectAppdynamics) pulumi.StringOutput { return v.ClientId }).(pulumi.StringOutput) +} + +// AppDynamics Client Name. +func (o DirectAppdynamicsOutput) ClientName() pulumi.StringOutput { + return o.ApplyT(func(v *DirectAppdynamics) pulumi.StringOutput { return v.ClientName }).(pulumi.StringOutput) +} + +// [required] | AppDynamics Client Secret. +func (o DirectAppdynamicsOutput) ClientSecret() pulumi.StringOutput { + return o.ApplyT(func(v *DirectAppdynamics) pulumi.StringOutput { return v.ClientSecret }).(pulumi.StringOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectAppdynamicsOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectAppdynamics) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectAppdynamicsOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectAppdynamics) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectAppdynamicsOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectAppdynamics) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectAppdynamicsOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectAppdynamics) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectAppdynamicsOutput) QueryDelay() DirectAppdynamicsQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectAppdynamics) DirectAppdynamicsQueryDelayPtrOutput { return v.QueryDelay }).(DirectAppdynamicsQueryDelayPtrOutput) +} + +// Source of Metrics and/or Services. +func (o DirectAppdynamicsOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectAppdynamics) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectAppdynamicsOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectAppdynamics) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Base URL to the AppDynamics Controller. +func (o DirectAppdynamicsOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *DirectAppdynamics) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type DirectAppdynamicsArrayOutput struct{ *pulumi.OutputState } + +func (DirectAppdynamicsArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectAppdynamics)(nil)).Elem() +} + +func (o DirectAppdynamicsArrayOutput) ToDirectAppdynamicsArrayOutput() DirectAppdynamicsArrayOutput { + return o +} + +func (o DirectAppdynamicsArrayOutput) ToDirectAppdynamicsArrayOutputWithContext(ctx context.Context) DirectAppdynamicsArrayOutput { + return o +} + +func (o DirectAppdynamicsArrayOutput) Index(i pulumi.IntInput) DirectAppdynamicsOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectAppdynamics { + return vs[0].([]*DirectAppdynamics)[vs[1].(int)] + }).(DirectAppdynamicsOutput) +} + +type DirectAppdynamicsMapOutput struct{ *pulumi.OutputState } + +func (DirectAppdynamicsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectAppdynamics)(nil)).Elem() +} + +func (o DirectAppdynamicsMapOutput) ToDirectAppdynamicsMapOutput() DirectAppdynamicsMapOutput { + return o +} + +func (o DirectAppdynamicsMapOutput) ToDirectAppdynamicsMapOutputWithContext(ctx context.Context) DirectAppdynamicsMapOutput { + return o +} + +func (o DirectAppdynamicsMapOutput) MapIndex(k pulumi.StringInput) DirectAppdynamicsOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectAppdynamics { + return vs[0].(map[string]*DirectAppdynamics)[vs[1].(string)] + }).(DirectAppdynamicsOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectAppdynamicsInput)(nil)).Elem(), &DirectAppdynamics{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectAppdynamicsArrayInput)(nil)).Elem(), DirectAppdynamicsArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectAppdynamicsMapInput)(nil)).Elem(), DirectAppdynamicsMap{}) + pulumi.RegisterOutputType(DirectAppdynamicsOutput{}) + pulumi.RegisterOutputType(DirectAppdynamicsArrayOutput{}) + pulumi.RegisterOutputType(DirectAppdynamicsMapOutput{}) +} diff --git a/sdk/go/nobl9/directBigquery.go b/sdk/go/nobl9/directBigquery.go new file mode 100644 index 0000000..c75b2d8 --- /dev/null +++ b/sdk/go/nobl9/directBigquery.go @@ -0,0 +1,356 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Google BigQuery is a serverless data warehouse that enables scalable analysis over petabytes of data. It is a Platform as a Service that supports querying using ANSI SQL. BigQuery integration with Nobl9 enables users to turn their big data into valuable business insights. Nobl9 connects with BigQuery to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [BigQuery Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-direct) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectBigquery(ctx, "test-bigquery", &nobl9.DirectBigqueryArgs{ +// Description: pulumi.String("desc"), +// Project: pulumi.String("terraform"), +// ServiceAccountKey: pulumi.String("secret"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectBigquery struct { + pulumi.CustomResourceState + + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectBigqueryQueryDelayPtrOutput `pulumi:"queryDelay"` + // [required] | Service Account Key. + ServiceAccountKey pulumi.StringOutput `pulumi:"serviceAccountKey"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewDirectBigquery registers a new resource with the given unique name, arguments, and options. +func NewDirectBigquery(ctx *pulumi.Context, + name string, args *DirectBigqueryArgs, opts ...pulumi.ResourceOption) (*DirectBigquery, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectBigquery + err := ctx.RegisterResource("nobl9:index/directBigquery:DirectBigquery", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectBigquery gets an existing DirectBigquery 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 GetDirectBigquery(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectBigqueryState, opts ...pulumi.ResourceOption) (*DirectBigquery, error) { + var resource DirectBigquery + err := ctx.ReadResource("nobl9:index/directBigquery:DirectBigquery", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectBigquery resources. +type directBigqueryState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectBigqueryQueryDelay `pulumi:"queryDelay"` + // [required] | Service Account Key. + ServiceAccountKey *string `pulumi:"serviceAccountKey"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` +} + +type DirectBigqueryState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectBigqueryQueryDelayPtrInput + // [required] | Service Account Key. + ServiceAccountKey pulumi.StringPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput +} + +func (DirectBigqueryState) ElementType() reflect.Type { + return reflect.TypeOf((*directBigqueryState)(nil)).Elem() +} + +type directBigqueryArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectBigqueryQueryDelay `pulumi:"queryDelay"` + // [required] | Service Account Key. + ServiceAccountKey *string `pulumi:"serviceAccountKey"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` +} + +// The set of arguments for constructing a DirectBigquery resource. +type DirectBigqueryArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectBigqueryQueryDelayPtrInput + // [required] | Service Account Key. + ServiceAccountKey pulumi.StringPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput +} + +func (DirectBigqueryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directBigqueryArgs)(nil)).Elem() +} + +type DirectBigqueryInput interface { + pulumi.Input + + ToDirectBigqueryOutput() DirectBigqueryOutput + ToDirectBigqueryOutputWithContext(ctx context.Context) DirectBigqueryOutput +} + +func (*DirectBigquery) ElementType() reflect.Type { + return reflect.TypeOf((**DirectBigquery)(nil)).Elem() +} + +func (i *DirectBigquery) ToDirectBigqueryOutput() DirectBigqueryOutput { + return i.ToDirectBigqueryOutputWithContext(context.Background()) +} + +func (i *DirectBigquery) ToDirectBigqueryOutputWithContext(ctx context.Context) DirectBigqueryOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectBigqueryOutput) +} + +// DirectBigqueryArrayInput is an input type that accepts DirectBigqueryArray and DirectBigqueryArrayOutput values. +// You can construct a concrete instance of `DirectBigqueryArrayInput` via: +// +// DirectBigqueryArray{ DirectBigqueryArgs{...} } +type DirectBigqueryArrayInput interface { + pulumi.Input + + ToDirectBigqueryArrayOutput() DirectBigqueryArrayOutput + ToDirectBigqueryArrayOutputWithContext(context.Context) DirectBigqueryArrayOutput +} + +type DirectBigqueryArray []DirectBigqueryInput + +func (DirectBigqueryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectBigquery)(nil)).Elem() +} + +func (i DirectBigqueryArray) ToDirectBigqueryArrayOutput() DirectBigqueryArrayOutput { + return i.ToDirectBigqueryArrayOutputWithContext(context.Background()) +} + +func (i DirectBigqueryArray) ToDirectBigqueryArrayOutputWithContext(ctx context.Context) DirectBigqueryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectBigqueryArrayOutput) +} + +// DirectBigqueryMapInput is an input type that accepts DirectBigqueryMap and DirectBigqueryMapOutput values. +// You can construct a concrete instance of `DirectBigqueryMapInput` via: +// +// DirectBigqueryMap{ "key": DirectBigqueryArgs{...} } +type DirectBigqueryMapInput interface { + pulumi.Input + + ToDirectBigqueryMapOutput() DirectBigqueryMapOutput + ToDirectBigqueryMapOutputWithContext(context.Context) DirectBigqueryMapOutput +} + +type DirectBigqueryMap map[string]DirectBigqueryInput + +func (DirectBigqueryMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectBigquery)(nil)).Elem() +} + +func (i DirectBigqueryMap) ToDirectBigqueryMapOutput() DirectBigqueryMapOutput { + return i.ToDirectBigqueryMapOutputWithContext(context.Background()) +} + +func (i DirectBigqueryMap) ToDirectBigqueryMapOutputWithContext(ctx context.Context) DirectBigqueryMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectBigqueryMapOutput) +} + +type DirectBigqueryOutput struct{ *pulumi.OutputState } + +func (DirectBigqueryOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectBigquery)(nil)).Elem() +} + +func (o DirectBigqueryOutput) ToDirectBigqueryOutput() DirectBigqueryOutput { + return o +} + +func (o DirectBigqueryOutput) ToDirectBigqueryOutputWithContext(ctx context.Context) DirectBigqueryOutput { + return o +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectBigqueryOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectBigquery) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectBigqueryOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectBigquery) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectBigqueryOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectBigquery) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectBigqueryOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectBigquery) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectBigqueryOutput) QueryDelay() DirectBigqueryQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectBigquery) DirectBigqueryQueryDelayPtrOutput { return v.QueryDelay }).(DirectBigqueryQueryDelayPtrOutput) +} + +// [required] | Service Account Key. +func (o DirectBigqueryOutput) ServiceAccountKey() pulumi.StringOutput { + return o.ApplyT(func(v *DirectBigquery) pulumi.StringOutput { return v.ServiceAccountKey }).(pulumi.StringOutput) +} + +// Source of Metrics and/or Services. +func (o DirectBigqueryOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectBigquery) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectBigqueryOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectBigquery) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +type DirectBigqueryArrayOutput struct{ *pulumi.OutputState } + +func (DirectBigqueryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectBigquery)(nil)).Elem() +} + +func (o DirectBigqueryArrayOutput) ToDirectBigqueryArrayOutput() DirectBigqueryArrayOutput { + return o +} + +func (o DirectBigqueryArrayOutput) ToDirectBigqueryArrayOutputWithContext(ctx context.Context) DirectBigqueryArrayOutput { + return o +} + +func (o DirectBigqueryArrayOutput) Index(i pulumi.IntInput) DirectBigqueryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectBigquery { + return vs[0].([]*DirectBigquery)[vs[1].(int)] + }).(DirectBigqueryOutput) +} + +type DirectBigqueryMapOutput struct{ *pulumi.OutputState } + +func (DirectBigqueryMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectBigquery)(nil)).Elem() +} + +func (o DirectBigqueryMapOutput) ToDirectBigqueryMapOutput() DirectBigqueryMapOutput { + return o +} + +func (o DirectBigqueryMapOutput) ToDirectBigqueryMapOutputWithContext(ctx context.Context) DirectBigqueryMapOutput { + return o +} + +func (o DirectBigqueryMapOutput) MapIndex(k pulumi.StringInput) DirectBigqueryOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectBigquery { + return vs[0].(map[string]*DirectBigquery)[vs[1].(string)] + }).(DirectBigqueryOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectBigqueryInput)(nil)).Elem(), &DirectBigquery{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectBigqueryArrayInput)(nil)).Elem(), DirectBigqueryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectBigqueryMapInput)(nil)).Elem(), DirectBigqueryMap{}) + pulumi.RegisterOutputType(DirectBigqueryOutput{}) + pulumi.RegisterOutputType(DirectBigqueryArrayOutput{}) + pulumi.RegisterOutputType(DirectBigqueryMapOutput{}) +} diff --git a/sdk/go/nobl9/directCloudwatch.go b/sdk/go/nobl9/directCloudwatch.go new file mode 100644 index 0000000..47b54c6 --- /dev/null +++ b/sdk/go/nobl9/directCloudwatch.go @@ -0,0 +1,404 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Amazon CloudWatch is a monitoring and observability service and a repository that aggregates data from more than 70 AWS data sources. CloudWatch also allows users to publish custom metrics from their services. Creating SLOs using this data is a powerful tool to monitor large portfolios of products. Nobl9 connects with Amazon CloudWatch to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [Amazon CloudWatch Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-direct) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectCloudwatch(ctx, "test-cloudwatch", &nobl9.DirectCloudwatchArgs{ +// AccessKeyId: pulumi.String("secret"), +// Description: pulumi.String("desc"), +// HistoricalDataRetrieval: &DirectCloudwatchHistoricalDataRetrievalArgs{ +// DefaultDurations: DirectCloudwatchHistoricalDataRetrievalDefaultDurationArray{ +// &DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs{ +// Unit: pulumi.String("Day"), +// Value: pulumi.Int(0), +// }, +// }, +// MaxDurations: DirectCloudwatchHistoricalDataRetrievalMaxDurationArray{ +// &DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs{ +// Unit: pulumi.String("Day"), +// Value: pulumi.Int(15), +// }, +// }, +// }, +// Project: pulumi.String("terraform"), +// SecretAccessKey: pulumi.String("secret"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectCloudwatch struct { + pulumi.CustomResourceState + + // [required] | AWS Access Key ID. + AccessKeyId pulumi.StringOutput `pulumi:"accessKeyId"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectCloudwatchHistoricalDataRetrievalPtrOutput `pulumi:"historicalDataRetrieval"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectCloudwatchQueryDelayPtrOutput `pulumi:"queryDelay"` + // [required] | AWS Secret Access Key. + SecretAccessKey pulumi.StringOutput `pulumi:"secretAccessKey"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewDirectCloudwatch registers a new resource with the given unique name, arguments, and options. +func NewDirectCloudwatch(ctx *pulumi.Context, + name string, args *DirectCloudwatchArgs, opts ...pulumi.ResourceOption) (*DirectCloudwatch, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectCloudwatch + err := ctx.RegisterResource("nobl9:index/directCloudwatch:DirectCloudwatch", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectCloudwatch gets an existing DirectCloudwatch 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 GetDirectCloudwatch(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectCloudwatchState, opts ...pulumi.ResourceOption) (*DirectCloudwatch, error) { + var resource DirectCloudwatch + err := ctx.ReadResource("nobl9:index/directCloudwatch:DirectCloudwatch", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectCloudwatch resources. +type directCloudwatchState struct { + // [required] | AWS Access Key ID. + AccessKeyId *string `pulumi:"accessKeyId"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval *DirectCloudwatchHistoricalDataRetrieval `pulumi:"historicalDataRetrieval"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectCloudwatchQueryDelay `pulumi:"queryDelay"` + // [required] | AWS Secret Access Key. + SecretAccessKey *string `pulumi:"secretAccessKey"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` +} + +type DirectCloudwatchState struct { + // [required] | AWS Access Key ID. + AccessKeyId pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectCloudwatchHistoricalDataRetrievalPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectCloudwatchQueryDelayPtrInput + // [required] | AWS Secret Access Key. + SecretAccessKey pulumi.StringPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput +} + +func (DirectCloudwatchState) ElementType() reflect.Type { + return reflect.TypeOf((*directCloudwatchState)(nil)).Elem() +} + +type directCloudwatchArgs struct { + // [required] | AWS Access Key ID. + AccessKeyId *string `pulumi:"accessKeyId"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval *DirectCloudwatchHistoricalDataRetrieval `pulumi:"historicalDataRetrieval"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectCloudwatchQueryDelay `pulumi:"queryDelay"` + // [required] | AWS Secret Access Key. + SecretAccessKey *string `pulumi:"secretAccessKey"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` +} + +// The set of arguments for constructing a DirectCloudwatch resource. +type DirectCloudwatchArgs struct { + // [required] | AWS Access Key ID. + AccessKeyId pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectCloudwatchHistoricalDataRetrievalPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectCloudwatchQueryDelayPtrInput + // [required] | AWS Secret Access Key. + SecretAccessKey pulumi.StringPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput +} + +func (DirectCloudwatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directCloudwatchArgs)(nil)).Elem() +} + +type DirectCloudwatchInput interface { + pulumi.Input + + ToDirectCloudwatchOutput() DirectCloudwatchOutput + ToDirectCloudwatchOutputWithContext(ctx context.Context) DirectCloudwatchOutput +} + +func (*DirectCloudwatch) ElementType() reflect.Type { + return reflect.TypeOf((**DirectCloudwatch)(nil)).Elem() +} + +func (i *DirectCloudwatch) ToDirectCloudwatchOutput() DirectCloudwatchOutput { + return i.ToDirectCloudwatchOutputWithContext(context.Background()) +} + +func (i *DirectCloudwatch) ToDirectCloudwatchOutputWithContext(ctx context.Context) DirectCloudwatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectCloudwatchOutput) +} + +// DirectCloudwatchArrayInput is an input type that accepts DirectCloudwatchArray and DirectCloudwatchArrayOutput values. +// You can construct a concrete instance of `DirectCloudwatchArrayInput` via: +// +// DirectCloudwatchArray{ DirectCloudwatchArgs{...} } +type DirectCloudwatchArrayInput interface { + pulumi.Input + + ToDirectCloudwatchArrayOutput() DirectCloudwatchArrayOutput + ToDirectCloudwatchArrayOutputWithContext(context.Context) DirectCloudwatchArrayOutput +} + +type DirectCloudwatchArray []DirectCloudwatchInput + +func (DirectCloudwatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectCloudwatch)(nil)).Elem() +} + +func (i DirectCloudwatchArray) ToDirectCloudwatchArrayOutput() DirectCloudwatchArrayOutput { + return i.ToDirectCloudwatchArrayOutputWithContext(context.Background()) +} + +func (i DirectCloudwatchArray) ToDirectCloudwatchArrayOutputWithContext(ctx context.Context) DirectCloudwatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectCloudwatchArrayOutput) +} + +// DirectCloudwatchMapInput is an input type that accepts DirectCloudwatchMap and DirectCloudwatchMapOutput values. +// You can construct a concrete instance of `DirectCloudwatchMapInput` via: +// +// DirectCloudwatchMap{ "key": DirectCloudwatchArgs{...} } +type DirectCloudwatchMapInput interface { + pulumi.Input + + ToDirectCloudwatchMapOutput() DirectCloudwatchMapOutput + ToDirectCloudwatchMapOutputWithContext(context.Context) DirectCloudwatchMapOutput +} + +type DirectCloudwatchMap map[string]DirectCloudwatchInput + +func (DirectCloudwatchMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectCloudwatch)(nil)).Elem() +} + +func (i DirectCloudwatchMap) ToDirectCloudwatchMapOutput() DirectCloudwatchMapOutput { + return i.ToDirectCloudwatchMapOutputWithContext(context.Background()) +} + +func (i DirectCloudwatchMap) ToDirectCloudwatchMapOutputWithContext(ctx context.Context) DirectCloudwatchMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectCloudwatchMapOutput) +} + +type DirectCloudwatchOutput struct{ *pulumi.OutputState } + +func (DirectCloudwatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectCloudwatch)(nil)).Elem() +} + +func (o DirectCloudwatchOutput) ToDirectCloudwatchOutput() DirectCloudwatchOutput { + return o +} + +func (o DirectCloudwatchOutput) ToDirectCloudwatchOutputWithContext(ctx context.Context) DirectCloudwatchOutput { + return o +} + +// [required] | AWS Access Key ID. +func (o DirectCloudwatchOutput) AccessKeyId() pulumi.StringOutput { + return o.ApplyT(func(v *DirectCloudwatch) pulumi.StringOutput { return v.AccessKeyId }).(pulumi.StringOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectCloudwatchOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectCloudwatch) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectCloudwatchOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectCloudwatch) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// [Replay configuration documentation](https://docs.nobl9.com/replay) +func (o DirectCloudwatchOutput) HistoricalDataRetrieval() DirectCloudwatchHistoricalDataRetrievalPtrOutput { + return o.ApplyT(func(v *DirectCloudwatch) DirectCloudwatchHistoricalDataRetrievalPtrOutput { + return v.HistoricalDataRetrieval + }).(DirectCloudwatchHistoricalDataRetrievalPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectCloudwatchOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectCloudwatch) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectCloudwatchOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectCloudwatch) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectCloudwatchOutput) QueryDelay() DirectCloudwatchQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectCloudwatch) DirectCloudwatchQueryDelayPtrOutput { return v.QueryDelay }).(DirectCloudwatchQueryDelayPtrOutput) +} + +// [required] | AWS Secret Access Key. +func (o DirectCloudwatchOutput) SecretAccessKey() pulumi.StringOutput { + return o.ApplyT(func(v *DirectCloudwatch) pulumi.StringOutput { return v.SecretAccessKey }).(pulumi.StringOutput) +} + +// Source of Metrics and/or Services. +func (o DirectCloudwatchOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectCloudwatch) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectCloudwatchOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectCloudwatch) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +type DirectCloudwatchArrayOutput struct{ *pulumi.OutputState } + +func (DirectCloudwatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectCloudwatch)(nil)).Elem() +} + +func (o DirectCloudwatchArrayOutput) ToDirectCloudwatchArrayOutput() DirectCloudwatchArrayOutput { + return o +} + +func (o DirectCloudwatchArrayOutput) ToDirectCloudwatchArrayOutputWithContext(ctx context.Context) DirectCloudwatchArrayOutput { + return o +} + +func (o DirectCloudwatchArrayOutput) Index(i pulumi.IntInput) DirectCloudwatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectCloudwatch { + return vs[0].([]*DirectCloudwatch)[vs[1].(int)] + }).(DirectCloudwatchOutput) +} + +type DirectCloudwatchMapOutput struct{ *pulumi.OutputState } + +func (DirectCloudwatchMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectCloudwatch)(nil)).Elem() +} + +func (o DirectCloudwatchMapOutput) ToDirectCloudwatchMapOutput() DirectCloudwatchMapOutput { + return o +} + +func (o DirectCloudwatchMapOutput) ToDirectCloudwatchMapOutputWithContext(ctx context.Context) DirectCloudwatchMapOutput { + return o +} + +func (o DirectCloudwatchMapOutput) MapIndex(k pulumi.StringInput) DirectCloudwatchOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectCloudwatch { + return vs[0].(map[string]*DirectCloudwatch)[vs[1].(string)] + }).(DirectCloudwatchOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectCloudwatchInput)(nil)).Elem(), &DirectCloudwatch{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectCloudwatchArrayInput)(nil)).Elem(), DirectCloudwatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectCloudwatchMapInput)(nil)).Elem(), DirectCloudwatchMap{}) + pulumi.RegisterOutputType(DirectCloudwatchOutput{}) + pulumi.RegisterOutputType(DirectCloudwatchArrayOutput{}) + pulumi.RegisterOutputType(DirectCloudwatchMapOutput{}) +} diff --git a/sdk/go/nobl9/directDatadog.go b/sdk/go/nobl9/directDatadog.go new file mode 100644 index 0000000..295930f --- /dev/null +++ b/sdk/go/nobl9/directDatadog.go @@ -0,0 +1,421 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Datadog is a cloud-scale application observability solution that monitors servers, databases, tools, and services. Nobl9 connects with Datadog to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [Datadog Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/datadog#datadog-direct). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectDatadog(ctx, "test-datadog", &nobl9.DirectDatadogArgs{ +// ApiKey: pulumi.String("secret"), +// ApplicationKey: pulumi.String("secret"), +// Description: pulumi.String("desc"), +// HistoricalDataRetrieval: &DirectDatadogHistoricalDataRetrievalArgs{ +// DefaultDurations: DirectDatadogHistoricalDataRetrievalDefaultDurationArray{ +// &DirectDatadogHistoricalDataRetrievalDefaultDurationArgs{ +// Unit: pulumi.String("Day"), +// Value: pulumi.Int(0), +// }, +// }, +// MaxDurations: DirectDatadogHistoricalDataRetrievalMaxDurationArray{ +// &DirectDatadogHistoricalDataRetrievalMaxDurationArgs{ +// Unit: pulumi.String("Day"), +// Value: pulumi.Int(30), +// }, +// }, +// }, +// Project: pulumi.String("terraform"), +// Site: pulumi.String("eu"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectDatadog struct { + pulumi.CustomResourceState + + // [required] | Datadog API Key. + ApiKey pulumi.StringOutput `pulumi:"apiKey"` + // [required] | Datadog Application Key. + ApplicationKey pulumi.StringOutput `pulumi:"applicationKey"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectDatadogHistoricalDataRetrievalPtrOutput `pulumi:"historicalDataRetrieval"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectDatadogQueryDelayPtrOutput `pulumi:"queryDelay"` + // `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + Site pulumi.StringOutput `pulumi:"site"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewDirectDatadog registers a new resource with the given unique name, arguments, and options. +func NewDirectDatadog(ctx *pulumi.Context, + name string, args *DirectDatadogArgs, opts ...pulumi.ResourceOption) (*DirectDatadog, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Site == nil { + return nil, errors.New("invalid value for required argument 'Site'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectDatadog + err := ctx.RegisterResource("nobl9:index/directDatadog:DirectDatadog", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectDatadog gets an existing DirectDatadog 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 GetDirectDatadog(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectDatadogState, opts ...pulumi.ResourceOption) (*DirectDatadog, error) { + var resource DirectDatadog + err := ctx.ReadResource("nobl9:index/directDatadog:DirectDatadog", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectDatadog resources. +type directDatadogState struct { + // [required] | Datadog API Key. + ApiKey *string `pulumi:"apiKey"` + // [required] | Datadog Application Key. + ApplicationKey *string `pulumi:"applicationKey"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval *DirectDatadogHistoricalDataRetrieval `pulumi:"historicalDataRetrieval"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectDatadogQueryDelay `pulumi:"queryDelay"` + // `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + Site *string `pulumi:"site"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` +} + +type DirectDatadogState struct { + // [required] | Datadog API Key. + ApiKey pulumi.StringPtrInput + // [required] | Datadog Application Key. + ApplicationKey pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectDatadogHistoricalDataRetrievalPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectDatadogQueryDelayPtrInput + // `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + Site pulumi.StringPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput +} + +func (DirectDatadogState) ElementType() reflect.Type { + return reflect.TypeOf((*directDatadogState)(nil)).Elem() +} + +type directDatadogArgs struct { + // [required] | Datadog API Key. + ApiKey *string `pulumi:"apiKey"` + // [required] | Datadog Application Key. + ApplicationKey *string `pulumi:"applicationKey"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval *DirectDatadogHistoricalDataRetrieval `pulumi:"historicalDataRetrieval"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectDatadogQueryDelay `pulumi:"queryDelay"` + // `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + Site string `pulumi:"site"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` +} + +// The set of arguments for constructing a DirectDatadog resource. +type DirectDatadogArgs struct { + // [required] | Datadog API Key. + ApiKey pulumi.StringPtrInput + // [required] | Datadog Application Key. + ApplicationKey pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectDatadogHistoricalDataRetrievalPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectDatadogQueryDelayPtrInput + // `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + Site pulumi.StringInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput +} + +func (DirectDatadogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directDatadogArgs)(nil)).Elem() +} + +type DirectDatadogInput interface { + pulumi.Input + + ToDirectDatadogOutput() DirectDatadogOutput + ToDirectDatadogOutputWithContext(ctx context.Context) DirectDatadogOutput +} + +func (*DirectDatadog) ElementType() reflect.Type { + return reflect.TypeOf((**DirectDatadog)(nil)).Elem() +} + +func (i *DirectDatadog) ToDirectDatadogOutput() DirectDatadogOutput { + return i.ToDirectDatadogOutputWithContext(context.Background()) +} + +func (i *DirectDatadog) ToDirectDatadogOutputWithContext(ctx context.Context) DirectDatadogOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDatadogOutput) +} + +// DirectDatadogArrayInput is an input type that accepts DirectDatadogArray and DirectDatadogArrayOutput values. +// You can construct a concrete instance of `DirectDatadogArrayInput` via: +// +// DirectDatadogArray{ DirectDatadogArgs{...} } +type DirectDatadogArrayInput interface { + pulumi.Input + + ToDirectDatadogArrayOutput() DirectDatadogArrayOutput + ToDirectDatadogArrayOutputWithContext(context.Context) DirectDatadogArrayOutput +} + +type DirectDatadogArray []DirectDatadogInput + +func (DirectDatadogArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectDatadog)(nil)).Elem() +} + +func (i DirectDatadogArray) ToDirectDatadogArrayOutput() DirectDatadogArrayOutput { + return i.ToDirectDatadogArrayOutputWithContext(context.Background()) +} + +func (i DirectDatadogArray) ToDirectDatadogArrayOutputWithContext(ctx context.Context) DirectDatadogArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDatadogArrayOutput) +} + +// DirectDatadogMapInput is an input type that accepts DirectDatadogMap and DirectDatadogMapOutput values. +// You can construct a concrete instance of `DirectDatadogMapInput` via: +// +// DirectDatadogMap{ "key": DirectDatadogArgs{...} } +type DirectDatadogMapInput interface { + pulumi.Input + + ToDirectDatadogMapOutput() DirectDatadogMapOutput + ToDirectDatadogMapOutputWithContext(context.Context) DirectDatadogMapOutput +} + +type DirectDatadogMap map[string]DirectDatadogInput + +func (DirectDatadogMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectDatadog)(nil)).Elem() +} + +func (i DirectDatadogMap) ToDirectDatadogMapOutput() DirectDatadogMapOutput { + return i.ToDirectDatadogMapOutputWithContext(context.Background()) +} + +func (i DirectDatadogMap) ToDirectDatadogMapOutputWithContext(ctx context.Context) DirectDatadogMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDatadogMapOutput) +} + +type DirectDatadogOutput struct{ *pulumi.OutputState } + +func (DirectDatadogOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectDatadog)(nil)).Elem() +} + +func (o DirectDatadogOutput) ToDirectDatadogOutput() DirectDatadogOutput { + return o +} + +func (o DirectDatadogOutput) ToDirectDatadogOutputWithContext(ctx context.Context) DirectDatadogOutput { + return o +} + +// [required] | Datadog API Key. +func (o DirectDatadogOutput) ApiKey() pulumi.StringOutput { + return o.ApplyT(func(v *DirectDatadog) pulumi.StringOutput { return v.ApiKey }).(pulumi.StringOutput) +} + +// [required] | Datadog Application Key. +func (o DirectDatadogOutput) ApplicationKey() pulumi.StringOutput { + return o.ApplyT(func(v *DirectDatadog) pulumi.StringOutput { return v.ApplicationKey }).(pulumi.StringOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectDatadogOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectDatadog) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectDatadogOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectDatadog) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// [Replay configuration documentation](https://docs.nobl9.com/replay) +func (o DirectDatadogOutput) HistoricalDataRetrieval() DirectDatadogHistoricalDataRetrievalPtrOutput { + return o.ApplyT(func(v *DirectDatadog) DirectDatadogHistoricalDataRetrievalPtrOutput { return v.HistoricalDataRetrieval }).(DirectDatadogHistoricalDataRetrievalPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectDatadogOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectDatadog) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectDatadogOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectDatadog) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectDatadogOutput) QueryDelay() DirectDatadogQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectDatadog) DirectDatadogQueryDelayPtrOutput { return v.QueryDelay }).(DirectDatadogQueryDelayPtrOutput) +} + +// `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). +func (o DirectDatadogOutput) Site() pulumi.StringOutput { + return o.ApplyT(func(v *DirectDatadog) pulumi.StringOutput { return v.Site }).(pulumi.StringOutput) +} + +// Source of Metrics and/or Services. +func (o DirectDatadogOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectDatadog) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectDatadogOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectDatadog) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +type DirectDatadogArrayOutput struct{ *pulumi.OutputState } + +func (DirectDatadogArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectDatadog)(nil)).Elem() +} + +func (o DirectDatadogArrayOutput) ToDirectDatadogArrayOutput() DirectDatadogArrayOutput { + return o +} + +func (o DirectDatadogArrayOutput) ToDirectDatadogArrayOutputWithContext(ctx context.Context) DirectDatadogArrayOutput { + return o +} + +func (o DirectDatadogArrayOutput) Index(i pulumi.IntInput) DirectDatadogOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectDatadog { + return vs[0].([]*DirectDatadog)[vs[1].(int)] + }).(DirectDatadogOutput) +} + +type DirectDatadogMapOutput struct{ *pulumi.OutputState } + +func (DirectDatadogMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectDatadog)(nil)).Elem() +} + +func (o DirectDatadogMapOutput) ToDirectDatadogMapOutput() DirectDatadogMapOutput { + return o +} + +func (o DirectDatadogMapOutput) ToDirectDatadogMapOutputWithContext(ctx context.Context) DirectDatadogMapOutput { + return o +} + +func (o DirectDatadogMapOutput) MapIndex(k pulumi.StringInput) DirectDatadogOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectDatadog { + return vs[0].(map[string]*DirectDatadog)[vs[1].(string)] + }).(DirectDatadogOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectDatadogInput)(nil)).Elem(), &DirectDatadog{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDatadogArrayInput)(nil)).Elem(), DirectDatadogArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDatadogMapInput)(nil)).Elem(), DirectDatadogMap{}) + pulumi.RegisterOutputType(DirectDatadogOutput{}) + pulumi.RegisterOutputType(DirectDatadogArrayOutput{}) + pulumi.RegisterOutputType(DirectDatadogMapOutput{}) +} diff --git a/sdk/go/nobl9/directDynatrace.go b/sdk/go/nobl9/directDynatrace.go new file mode 100644 index 0000000..1ffde64 --- /dev/null +++ b/sdk/go/nobl9/directDynatrace.go @@ -0,0 +1,407 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Dynatrace is a software intelligence platform that monitors and optimizes application performance, development and security, IT infrastructure, and user experience. The Dynatrace Software Intelligence Platform maps, and monitors applications, microservices, container orchestration platforms such as Kubernetes, and IT infrastructure running in multi-cloud and hybrid-cloud environments, and provides automated problem remediation. Nobl9 connects with Dynatrace to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [Dynatrace Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-direct). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectDynatrace(ctx, "test-dynatrace", &nobl9.DirectDynatraceArgs{ +// Description: pulumi.String("desc"), +// DynatraceToken: pulumi.String("secret"), +// HistoricalDataRetrieval: &DirectDynatraceHistoricalDataRetrievalArgs{ +// DefaultDurations: DirectDynatraceHistoricalDataRetrievalDefaultDurationArray{ +// &DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs{ +// Unit: pulumi.String("Day"), +// Value: pulumi.Int(1), +// }, +// }, +// MaxDurations: DirectDynatraceHistoricalDataRetrievalMaxDurationArray{ +// &DirectDynatraceHistoricalDataRetrievalMaxDurationArgs{ +// Unit: pulumi.String("Day"), +// Value: pulumi.Int(10), +// }, +// }, +// }, +// Project: pulumi.String("terraform"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// Url: pulumi.String("https://web.net"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectDynatrace struct { + pulumi.CustomResourceState + + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // [required] | Dynatrace Token. + DynatraceToken pulumi.StringOutput `pulumi:"dynatraceToken"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectDynatraceHistoricalDataRetrievalPtrOutput `pulumi:"historicalDataRetrieval"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectDynatraceQueryDelayPtrOutput `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` + // Dynatrace API URL. + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewDirectDynatrace registers a new resource with the given unique name, arguments, and options. +func NewDirectDynatrace(ctx *pulumi.Context, + name string, args *DirectDynatraceArgs, opts ...pulumi.ResourceOption) (*DirectDynatrace, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectDynatrace + err := ctx.RegisterResource("nobl9:index/directDynatrace:DirectDynatrace", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectDynatrace gets an existing DirectDynatrace 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 GetDirectDynatrace(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectDynatraceState, opts ...pulumi.ResourceOption) (*DirectDynatrace, error) { + var resource DirectDynatrace + err := ctx.ReadResource("nobl9:index/directDynatrace:DirectDynatrace", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectDynatrace resources. +type directDynatraceState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [required] | Dynatrace Token. + DynatraceToken *string `pulumi:"dynatraceToken"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval *DirectDynatraceHistoricalDataRetrieval `pulumi:"historicalDataRetrieval"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectDynatraceQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` + // Dynatrace API URL. + Url *string `pulumi:"url"` +} + +type DirectDynatraceState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [required] | Dynatrace Token. + DynatraceToken pulumi.StringPtrInput + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectDynatraceHistoricalDataRetrievalPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectDynatraceQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput + // Dynatrace API URL. + Url pulumi.StringPtrInput +} + +func (DirectDynatraceState) ElementType() reflect.Type { + return reflect.TypeOf((*directDynatraceState)(nil)).Elem() +} + +type directDynatraceArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [required] | Dynatrace Token. + DynatraceToken *string `pulumi:"dynatraceToken"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval *DirectDynatraceHistoricalDataRetrieval `pulumi:"historicalDataRetrieval"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectDynatraceQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // Dynatrace API URL. + Url string `pulumi:"url"` +} + +// The set of arguments for constructing a DirectDynatrace resource. +type DirectDynatraceArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [required] | Dynatrace Token. + DynatraceToken pulumi.StringPtrInput + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectDynatraceHistoricalDataRetrievalPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectDynatraceQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // Dynatrace API URL. + Url pulumi.StringInput +} + +func (DirectDynatraceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directDynatraceArgs)(nil)).Elem() +} + +type DirectDynatraceInput interface { + pulumi.Input + + ToDirectDynatraceOutput() DirectDynatraceOutput + ToDirectDynatraceOutputWithContext(ctx context.Context) DirectDynatraceOutput +} + +func (*DirectDynatrace) ElementType() reflect.Type { + return reflect.TypeOf((**DirectDynatrace)(nil)).Elem() +} + +func (i *DirectDynatrace) ToDirectDynatraceOutput() DirectDynatraceOutput { + return i.ToDirectDynatraceOutputWithContext(context.Background()) +} + +func (i *DirectDynatrace) ToDirectDynatraceOutputWithContext(ctx context.Context) DirectDynatraceOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDynatraceOutput) +} + +// DirectDynatraceArrayInput is an input type that accepts DirectDynatraceArray and DirectDynatraceArrayOutput values. +// You can construct a concrete instance of `DirectDynatraceArrayInput` via: +// +// DirectDynatraceArray{ DirectDynatraceArgs{...} } +type DirectDynatraceArrayInput interface { + pulumi.Input + + ToDirectDynatraceArrayOutput() DirectDynatraceArrayOutput + ToDirectDynatraceArrayOutputWithContext(context.Context) DirectDynatraceArrayOutput +} + +type DirectDynatraceArray []DirectDynatraceInput + +func (DirectDynatraceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectDynatrace)(nil)).Elem() +} + +func (i DirectDynatraceArray) ToDirectDynatraceArrayOutput() DirectDynatraceArrayOutput { + return i.ToDirectDynatraceArrayOutputWithContext(context.Background()) +} + +func (i DirectDynatraceArray) ToDirectDynatraceArrayOutputWithContext(ctx context.Context) DirectDynatraceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDynatraceArrayOutput) +} + +// DirectDynatraceMapInput is an input type that accepts DirectDynatraceMap and DirectDynatraceMapOutput values. +// You can construct a concrete instance of `DirectDynatraceMapInput` via: +// +// DirectDynatraceMap{ "key": DirectDynatraceArgs{...} } +type DirectDynatraceMapInput interface { + pulumi.Input + + ToDirectDynatraceMapOutput() DirectDynatraceMapOutput + ToDirectDynatraceMapOutputWithContext(context.Context) DirectDynatraceMapOutput +} + +type DirectDynatraceMap map[string]DirectDynatraceInput + +func (DirectDynatraceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectDynatrace)(nil)).Elem() +} + +func (i DirectDynatraceMap) ToDirectDynatraceMapOutput() DirectDynatraceMapOutput { + return i.ToDirectDynatraceMapOutputWithContext(context.Background()) +} + +func (i DirectDynatraceMap) ToDirectDynatraceMapOutputWithContext(ctx context.Context) DirectDynatraceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDynatraceMapOutput) +} + +type DirectDynatraceOutput struct{ *pulumi.OutputState } + +func (DirectDynatraceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectDynatrace)(nil)).Elem() +} + +func (o DirectDynatraceOutput) ToDirectDynatraceOutput() DirectDynatraceOutput { + return o +} + +func (o DirectDynatraceOutput) ToDirectDynatraceOutputWithContext(ctx context.Context) DirectDynatraceOutput { + return o +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectDynatraceOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectDynatrace) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectDynatraceOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectDynatrace) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// [required] | Dynatrace Token. +func (o DirectDynatraceOutput) DynatraceToken() pulumi.StringOutput { + return o.ApplyT(func(v *DirectDynatrace) pulumi.StringOutput { return v.DynatraceToken }).(pulumi.StringOutput) +} + +// [Replay configuration documentation](https://docs.nobl9.com/replay) +func (o DirectDynatraceOutput) HistoricalDataRetrieval() DirectDynatraceHistoricalDataRetrievalPtrOutput { + return o.ApplyT(func(v *DirectDynatrace) DirectDynatraceHistoricalDataRetrievalPtrOutput { + return v.HistoricalDataRetrieval + }).(DirectDynatraceHistoricalDataRetrievalPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectDynatraceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectDynatrace) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectDynatraceOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectDynatrace) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectDynatraceOutput) QueryDelay() DirectDynatraceQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectDynatrace) DirectDynatraceQueryDelayPtrOutput { return v.QueryDelay }).(DirectDynatraceQueryDelayPtrOutput) +} + +// Source of Metrics and/or Services. +func (o DirectDynatraceOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectDynatrace) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectDynatraceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectDynatrace) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Dynatrace API URL. +func (o DirectDynatraceOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *DirectDynatrace) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type DirectDynatraceArrayOutput struct{ *pulumi.OutputState } + +func (DirectDynatraceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectDynatrace)(nil)).Elem() +} + +func (o DirectDynatraceArrayOutput) ToDirectDynatraceArrayOutput() DirectDynatraceArrayOutput { + return o +} + +func (o DirectDynatraceArrayOutput) ToDirectDynatraceArrayOutputWithContext(ctx context.Context) DirectDynatraceArrayOutput { + return o +} + +func (o DirectDynatraceArrayOutput) Index(i pulumi.IntInput) DirectDynatraceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectDynatrace { + return vs[0].([]*DirectDynatrace)[vs[1].(int)] + }).(DirectDynatraceOutput) +} + +type DirectDynatraceMapOutput struct{ *pulumi.OutputState } + +func (DirectDynatraceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectDynatrace)(nil)).Elem() +} + +func (o DirectDynatraceMapOutput) ToDirectDynatraceMapOutput() DirectDynatraceMapOutput { + return o +} + +func (o DirectDynatraceMapOutput) ToDirectDynatraceMapOutputWithContext(ctx context.Context) DirectDynatraceMapOutput { + return o +} + +func (o DirectDynatraceMapOutput) MapIndex(k pulumi.StringInput) DirectDynatraceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectDynatrace { + return vs[0].(map[string]*DirectDynatrace)[vs[1].(string)] + }).(DirectDynatraceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectDynatraceInput)(nil)).Elem(), &DirectDynatrace{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDynatraceArrayInput)(nil)).Elem(), DirectDynatraceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDynatraceMapInput)(nil)).Elem(), DirectDynatraceMap{}) + pulumi.RegisterOutputType(DirectDynatraceOutput{}) + pulumi.RegisterOutputType(DirectDynatraceArrayOutput{}) + pulumi.RegisterOutputType(DirectDynatraceMapOutput{}) +} diff --git a/sdk/go/nobl9/directGcm.go b/sdk/go/nobl9/directGcm.go new file mode 100644 index 0000000..0312cf9 --- /dev/null +++ b/sdk/go/nobl9/directGcm.go @@ -0,0 +1,356 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Google Cloud Monitoring (GCM) provides visibility into the performance, uptime, and overall health of cloud-powered applications. It collects metrics, events, and metadata from Google Cloud, hosted uptime probes, and application instrumentation. Nobl9 connects with GCM to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [Google Cloud Monitoring Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-direct). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectGcm(ctx, "test-gcm", &nobl9.DirectGcmArgs{ +// Description: pulumi.String("desc"), +// Project: pulumi.String("terraform"), +// ServiceAccountKey: pulumi.String("secret"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectGcm struct { + pulumi.CustomResourceState + + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectGcmQueryDelayPtrOutput `pulumi:"queryDelay"` + // [required] | Service Account Key. + ServiceAccountKey pulumi.StringOutput `pulumi:"serviceAccountKey"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewDirectGcm registers a new resource with the given unique name, arguments, and options. +func NewDirectGcm(ctx *pulumi.Context, + name string, args *DirectGcmArgs, opts ...pulumi.ResourceOption) (*DirectGcm, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectGcm + err := ctx.RegisterResource("nobl9:index/directGcm:DirectGcm", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectGcm gets an existing DirectGcm 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 GetDirectGcm(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectGcmState, opts ...pulumi.ResourceOption) (*DirectGcm, error) { + var resource DirectGcm + err := ctx.ReadResource("nobl9:index/directGcm:DirectGcm", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectGcm resources. +type directGcmState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectGcmQueryDelay `pulumi:"queryDelay"` + // [required] | Service Account Key. + ServiceAccountKey *string `pulumi:"serviceAccountKey"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` +} + +type DirectGcmState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectGcmQueryDelayPtrInput + // [required] | Service Account Key. + ServiceAccountKey pulumi.StringPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput +} + +func (DirectGcmState) ElementType() reflect.Type { + return reflect.TypeOf((*directGcmState)(nil)).Elem() +} + +type directGcmArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectGcmQueryDelay `pulumi:"queryDelay"` + // [required] | Service Account Key. + ServiceAccountKey *string `pulumi:"serviceAccountKey"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` +} + +// The set of arguments for constructing a DirectGcm resource. +type DirectGcmArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectGcmQueryDelayPtrInput + // [required] | Service Account Key. + ServiceAccountKey pulumi.StringPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput +} + +func (DirectGcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directGcmArgs)(nil)).Elem() +} + +type DirectGcmInput interface { + pulumi.Input + + ToDirectGcmOutput() DirectGcmOutput + ToDirectGcmOutputWithContext(ctx context.Context) DirectGcmOutput +} + +func (*DirectGcm) ElementType() reflect.Type { + return reflect.TypeOf((**DirectGcm)(nil)).Elem() +} + +func (i *DirectGcm) ToDirectGcmOutput() DirectGcmOutput { + return i.ToDirectGcmOutputWithContext(context.Background()) +} + +func (i *DirectGcm) ToDirectGcmOutputWithContext(ctx context.Context) DirectGcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectGcmOutput) +} + +// DirectGcmArrayInput is an input type that accepts DirectGcmArray and DirectGcmArrayOutput values. +// You can construct a concrete instance of `DirectGcmArrayInput` via: +// +// DirectGcmArray{ DirectGcmArgs{...} } +type DirectGcmArrayInput interface { + pulumi.Input + + ToDirectGcmArrayOutput() DirectGcmArrayOutput + ToDirectGcmArrayOutputWithContext(context.Context) DirectGcmArrayOutput +} + +type DirectGcmArray []DirectGcmInput + +func (DirectGcmArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectGcm)(nil)).Elem() +} + +func (i DirectGcmArray) ToDirectGcmArrayOutput() DirectGcmArrayOutput { + return i.ToDirectGcmArrayOutputWithContext(context.Background()) +} + +func (i DirectGcmArray) ToDirectGcmArrayOutputWithContext(ctx context.Context) DirectGcmArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectGcmArrayOutput) +} + +// DirectGcmMapInput is an input type that accepts DirectGcmMap and DirectGcmMapOutput values. +// You can construct a concrete instance of `DirectGcmMapInput` via: +// +// DirectGcmMap{ "key": DirectGcmArgs{...} } +type DirectGcmMapInput interface { + pulumi.Input + + ToDirectGcmMapOutput() DirectGcmMapOutput + ToDirectGcmMapOutputWithContext(context.Context) DirectGcmMapOutput +} + +type DirectGcmMap map[string]DirectGcmInput + +func (DirectGcmMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectGcm)(nil)).Elem() +} + +func (i DirectGcmMap) ToDirectGcmMapOutput() DirectGcmMapOutput { + return i.ToDirectGcmMapOutputWithContext(context.Background()) +} + +func (i DirectGcmMap) ToDirectGcmMapOutputWithContext(ctx context.Context) DirectGcmMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectGcmMapOutput) +} + +type DirectGcmOutput struct{ *pulumi.OutputState } + +func (DirectGcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectGcm)(nil)).Elem() +} + +func (o DirectGcmOutput) ToDirectGcmOutput() DirectGcmOutput { + return o +} + +func (o DirectGcmOutput) ToDirectGcmOutputWithContext(ctx context.Context) DirectGcmOutput { + return o +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectGcmOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectGcm) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectGcmOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectGcm) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectGcmOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectGcm) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectGcmOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectGcm) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectGcmOutput) QueryDelay() DirectGcmQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectGcm) DirectGcmQueryDelayPtrOutput { return v.QueryDelay }).(DirectGcmQueryDelayPtrOutput) +} + +// [required] | Service Account Key. +func (o DirectGcmOutput) ServiceAccountKey() pulumi.StringOutput { + return o.ApplyT(func(v *DirectGcm) pulumi.StringOutput { return v.ServiceAccountKey }).(pulumi.StringOutput) +} + +// Source of Metrics and/or Services. +func (o DirectGcmOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectGcm) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectGcmOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectGcm) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +type DirectGcmArrayOutput struct{ *pulumi.OutputState } + +func (DirectGcmArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectGcm)(nil)).Elem() +} + +func (o DirectGcmArrayOutput) ToDirectGcmArrayOutput() DirectGcmArrayOutput { + return o +} + +func (o DirectGcmArrayOutput) ToDirectGcmArrayOutputWithContext(ctx context.Context) DirectGcmArrayOutput { + return o +} + +func (o DirectGcmArrayOutput) Index(i pulumi.IntInput) DirectGcmOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectGcm { + return vs[0].([]*DirectGcm)[vs[1].(int)] + }).(DirectGcmOutput) +} + +type DirectGcmMapOutput struct{ *pulumi.OutputState } + +func (DirectGcmMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectGcm)(nil)).Elem() +} + +func (o DirectGcmMapOutput) ToDirectGcmMapOutput() DirectGcmMapOutput { + return o +} + +func (o DirectGcmMapOutput) ToDirectGcmMapOutputWithContext(ctx context.Context) DirectGcmMapOutput { + return o +} + +func (o DirectGcmMapOutput) MapIndex(k pulumi.StringInput) DirectGcmOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectGcm { + return vs[0].(map[string]*DirectGcm)[vs[1].(string)] + }).(DirectGcmOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectGcmInput)(nil)).Elem(), &DirectGcm{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectGcmArrayInput)(nil)).Elem(), DirectGcmArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectGcmMapInput)(nil)).Elem(), DirectGcmMap{}) + pulumi.RegisterOutputType(DirectGcmOutput{}) + pulumi.RegisterOutputType(DirectGcmArrayOutput{}) + pulumi.RegisterOutputType(DirectGcmMapOutput{}) +} diff --git a/sdk/go/nobl9/directInfluxdb.go b/sdk/go/nobl9/directInfluxdb.go new file mode 100644 index 0000000..2264209 --- /dev/null +++ b/sdk/go/nobl9/directInfluxdb.go @@ -0,0 +1,391 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// InfluxDB is an open source time series database platform that enables users to collect, process, and analyze data to optimize their infrastructure. Nobl9 connects with InfluxDB to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [InfluxDB Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-direct). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectInfluxdb(ctx, "test-influxdb", &nobl9.DirectInfluxdbArgs{ +// ApiToken: pulumi.String("secret"), +// Description: pulumi.String("desc"), +// OrganizationId: pulumi.String("secret"), +// Project: pulumi.String("terraform"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// Url: pulumi.String("https://web.net"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectInfluxdb struct { + pulumi.CustomResourceState + + // [required] | InfluxDB API Token. + ApiToken pulumi.StringOutput `pulumi:"apiToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // [required] | InfluxDB Organization ID. + OrganizationId pulumi.StringOutput `pulumi:"organizationId"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectInfluxdbQueryDelayPtrOutput `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` + // API URL endpoint to the InfluxDB's instance. + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewDirectInfluxdb registers a new resource with the given unique name, arguments, and options. +func NewDirectInfluxdb(ctx *pulumi.Context, + name string, args *DirectInfluxdbArgs, opts ...pulumi.ResourceOption) (*DirectInfluxdb, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectInfluxdb + err := ctx.RegisterResource("nobl9:index/directInfluxdb:DirectInfluxdb", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectInfluxdb gets an existing DirectInfluxdb 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 GetDirectInfluxdb(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectInfluxdbState, opts ...pulumi.ResourceOption) (*DirectInfluxdb, error) { + var resource DirectInfluxdb + err := ctx.ReadResource("nobl9:index/directInfluxdb:DirectInfluxdb", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectInfluxdb resources. +type directInfluxdbState struct { + // [required] | InfluxDB API Token. + ApiToken *string `pulumi:"apiToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // [required] | InfluxDB Organization ID. + OrganizationId *string `pulumi:"organizationId"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectInfluxdbQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` + // API URL endpoint to the InfluxDB's instance. + Url *string `pulumi:"url"` +} + +type DirectInfluxdbState struct { + // [required] | InfluxDB API Token. + ApiToken pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // [required] | InfluxDB Organization ID. + OrganizationId pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectInfluxdbQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput + // API URL endpoint to the InfluxDB's instance. + Url pulumi.StringPtrInput +} + +func (DirectInfluxdbState) ElementType() reflect.Type { + return reflect.TypeOf((*directInfluxdbState)(nil)).Elem() +} + +type directInfluxdbArgs struct { + // [required] | InfluxDB API Token. + ApiToken *string `pulumi:"apiToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // [required] | InfluxDB Organization ID. + OrganizationId *string `pulumi:"organizationId"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectInfluxdbQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // API URL endpoint to the InfluxDB's instance. + Url string `pulumi:"url"` +} + +// The set of arguments for constructing a DirectInfluxdb resource. +type DirectInfluxdbArgs struct { + // [required] | InfluxDB API Token. + ApiToken pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // [required] | InfluxDB Organization ID. + OrganizationId pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectInfluxdbQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // API URL endpoint to the InfluxDB's instance. + Url pulumi.StringInput +} + +func (DirectInfluxdbArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directInfluxdbArgs)(nil)).Elem() +} + +type DirectInfluxdbInput interface { + pulumi.Input + + ToDirectInfluxdbOutput() DirectInfluxdbOutput + ToDirectInfluxdbOutputWithContext(ctx context.Context) DirectInfluxdbOutput +} + +func (*DirectInfluxdb) ElementType() reflect.Type { + return reflect.TypeOf((**DirectInfluxdb)(nil)).Elem() +} + +func (i *DirectInfluxdb) ToDirectInfluxdbOutput() DirectInfluxdbOutput { + return i.ToDirectInfluxdbOutputWithContext(context.Background()) +} + +func (i *DirectInfluxdb) ToDirectInfluxdbOutputWithContext(ctx context.Context) DirectInfluxdbOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectInfluxdbOutput) +} + +// DirectInfluxdbArrayInput is an input type that accepts DirectInfluxdbArray and DirectInfluxdbArrayOutput values. +// You can construct a concrete instance of `DirectInfluxdbArrayInput` via: +// +// DirectInfluxdbArray{ DirectInfluxdbArgs{...} } +type DirectInfluxdbArrayInput interface { + pulumi.Input + + ToDirectInfluxdbArrayOutput() DirectInfluxdbArrayOutput + ToDirectInfluxdbArrayOutputWithContext(context.Context) DirectInfluxdbArrayOutput +} + +type DirectInfluxdbArray []DirectInfluxdbInput + +func (DirectInfluxdbArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectInfluxdb)(nil)).Elem() +} + +func (i DirectInfluxdbArray) ToDirectInfluxdbArrayOutput() DirectInfluxdbArrayOutput { + return i.ToDirectInfluxdbArrayOutputWithContext(context.Background()) +} + +func (i DirectInfluxdbArray) ToDirectInfluxdbArrayOutputWithContext(ctx context.Context) DirectInfluxdbArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectInfluxdbArrayOutput) +} + +// DirectInfluxdbMapInput is an input type that accepts DirectInfluxdbMap and DirectInfluxdbMapOutput values. +// You can construct a concrete instance of `DirectInfluxdbMapInput` via: +// +// DirectInfluxdbMap{ "key": DirectInfluxdbArgs{...} } +type DirectInfluxdbMapInput interface { + pulumi.Input + + ToDirectInfluxdbMapOutput() DirectInfluxdbMapOutput + ToDirectInfluxdbMapOutputWithContext(context.Context) DirectInfluxdbMapOutput +} + +type DirectInfluxdbMap map[string]DirectInfluxdbInput + +func (DirectInfluxdbMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectInfluxdb)(nil)).Elem() +} + +func (i DirectInfluxdbMap) ToDirectInfluxdbMapOutput() DirectInfluxdbMapOutput { + return i.ToDirectInfluxdbMapOutputWithContext(context.Background()) +} + +func (i DirectInfluxdbMap) ToDirectInfluxdbMapOutputWithContext(ctx context.Context) DirectInfluxdbMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectInfluxdbMapOutput) +} + +type DirectInfluxdbOutput struct{ *pulumi.OutputState } + +func (DirectInfluxdbOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectInfluxdb)(nil)).Elem() +} + +func (o DirectInfluxdbOutput) ToDirectInfluxdbOutput() DirectInfluxdbOutput { + return o +} + +func (o DirectInfluxdbOutput) ToDirectInfluxdbOutputWithContext(ctx context.Context) DirectInfluxdbOutput { + return o +} + +// [required] | InfluxDB API Token. +func (o DirectInfluxdbOutput) ApiToken() pulumi.StringOutput { + return o.ApplyT(func(v *DirectInfluxdb) pulumi.StringOutput { return v.ApiToken }).(pulumi.StringOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectInfluxdbOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectInfluxdb) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectInfluxdbOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectInfluxdb) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectInfluxdbOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectInfluxdb) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// [required] | InfluxDB Organization ID. +func (o DirectInfluxdbOutput) OrganizationId() pulumi.StringOutput { + return o.ApplyT(func(v *DirectInfluxdb) pulumi.StringOutput { return v.OrganizationId }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectInfluxdbOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectInfluxdb) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectInfluxdbOutput) QueryDelay() DirectInfluxdbQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectInfluxdb) DirectInfluxdbQueryDelayPtrOutput { return v.QueryDelay }).(DirectInfluxdbQueryDelayPtrOutput) +} + +// Source of Metrics and/or Services. +func (o DirectInfluxdbOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectInfluxdb) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectInfluxdbOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectInfluxdb) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// API URL endpoint to the InfluxDB's instance. +func (o DirectInfluxdbOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *DirectInfluxdb) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type DirectInfluxdbArrayOutput struct{ *pulumi.OutputState } + +func (DirectInfluxdbArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectInfluxdb)(nil)).Elem() +} + +func (o DirectInfluxdbArrayOutput) ToDirectInfluxdbArrayOutput() DirectInfluxdbArrayOutput { + return o +} + +func (o DirectInfluxdbArrayOutput) ToDirectInfluxdbArrayOutputWithContext(ctx context.Context) DirectInfluxdbArrayOutput { + return o +} + +func (o DirectInfluxdbArrayOutput) Index(i pulumi.IntInput) DirectInfluxdbOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectInfluxdb { + return vs[0].([]*DirectInfluxdb)[vs[1].(int)] + }).(DirectInfluxdbOutput) +} + +type DirectInfluxdbMapOutput struct{ *pulumi.OutputState } + +func (DirectInfluxdbMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectInfluxdb)(nil)).Elem() +} + +func (o DirectInfluxdbMapOutput) ToDirectInfluxdbMapOutput() DirectInfluxdbMapOutput { + return o +} + +func (o DirectInfluxdbMapOutput) ToDirectInfluxdbMapOutputWithContext(ctx context.Context) DirectInfluxdbMapOutput { + return o +} + +func (o DirectInfluxdbMapOutput) MapIndex(k pulumi.StringInput) DirectInfluxdbOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectInfluxdb { + return vs[0].(map[string]*DirectInfluxdb)[vs[1].(string)] + }).(DirectInfluxdbOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectInfluxdbInput)(nil)).Elem(), &DirectInfluxdb{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectInfluxdbArrayInput)(nil)).Elem(), DirectInfluxdbArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectInfluxdbMapInput)(nil)).Elem(), DirectInfluxdbMap{}) + pulumi.RegisterOutputType(DirectInfluxdbOutput{}) + pulumi.RegisterOutputType(DirectInfluxdbArrayOutput{}) + pulumi.RegisterOutputType(DirectInfluxdbMapOutput{}) +} diff --git a/sdk/go/nobl9/directInstana.go b/sdk/go/nobl9/directInstana.go new file mode 100644 index 0000000..7d154b7 --- /dev/null +++ b/sdk/go/nobl9/directInstana.go @@ -0,0 +1,375 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Instana is an observability platform that delivers automated Application Performance Monitoring (APM), used for website, infrastructure, and application monitoring. Nobl9 connects with Instana to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [Instana Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/instana#instana-direct). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectInstana(ctx, "test-instana", &nobl9.DirectInstanaArgs{ +// ApiToken: pulumi.String("secret"), +// Description: pulumi.String("desc"), +// Project: pulumi.String("terraform"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// Url: pulumi.String("https://web.net"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectInstana struct { + pulumi.CustomResourceState + + // [required] | Instana API Token. + ApiToken pulumi.StringOutput `pulumi:"apiToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectInstanaQueryDelayPtrOutput `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` + // Instana API URL. + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewDirectInstana registers a new resource with the given unique name, arguments, and options. +func NewDirectInstana(ctx *pulumi.Context, + name string, args *DirectInstanaArgs, opts ...pulumi.ResourceOption) (*DirectInstana, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectInstana + err := ctx.RegisterResource("nobl9:index/directInstana:DirectInstana", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectInstana gets an existing DirectInstana 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 GetDirectInstana(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectInstanaState, opts ...pulumi.ResourceOption) (*DirectInstana, error) { + var resource DirectInstana + err := ctx.ReadResource("nobl9:index/directInstana:DirectInstana", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectInstana resources. +type directInstanaState struct { + // [required] | Instana API Token. + ApiToken *string `pulumi:"apiToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectInstanaQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` + // Instana API URL. + Url *string `pulumi:"url"` +} + +type DirectInstanaState struct { + // [required] | Instana API Token. + ApiToken pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectInstanaQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput + // Instana API URL. + Url pulumi.StringPtrInput +} + +func (DirectInstanaState) ElementType() reflect.Type { + return reflect.TypeOf((*directInstanaState)(nil)).Elem() +} + +type directInstanaArgs struct { + // [required] | Instana API Token. + ApiToken *string `pulumi:"apiToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectInstanaQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // Instana API URL. + Url string `pulumi:"url"` +} + +// The set of arguments for constructing a DirectInstana resource. +type DirectInstanaArgs struct { + // [required] | Instana API Token. + ApiToken pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectInstanaQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // Instana API URL. + Url pulumi.StringInput +} + +func (DirectInstanaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directInstanaArgs)(nil)).Elem() +} + +type DirectInstanaInput interface { + pulumi.Input + + ToDirectInstanaOutput() DirectInstanaOutput + ToDirectInstanaOutputWithContext(ctx context.Context) DirectInstanaOutput +} + +func (*DirectInstana) ElementType() reflect.Type { + return reflect.TypeOf((**DirectInstana)(nil)).Elem() +} + +func (i *DirectInstana) ToDirectInstanaOutput() DirectInstanaOutput { + return i.ToDirectInstanaOutputWithContext(context.Background()) +} + +func (i *DirectInstana) ToDirectInstanaOutputWithContext(ctx context.Context) DirectInstanaOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectInstanaOutput) +} + +// DirectInstanaArrayInput is an input type that accepts DirectInstanaArray and DirectInstanaArrayOutput values. +// You can construct a concrete instance of `DirectInstanaArrayInput` via: +// +// DirectInstanaArray{ DirectInstanaArgs{...} } +type DirectInstanaArrayInput interface { + pulumi.Input + + ToDirectInstanaArrayOutput() DirectInstanaArrayOutput + ToDirectInstanaArrayOutputWithContext(context.Context) DirectInstanaArrayOutput +} + +type DirectInstanaArray []DirectInstanaInput + +func (DirectInstanaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectInstana)(nil)).Elem() +} + +func (i DirectInstanaArray) ToDirectInstanaArrayOutput() DirectInstanaArrayOutput { + return i.ToDirectInstanaArrayOutputWithContext(context.Background()) +} + +func (i DirectInstanaArray) ToDirectInstanaArrayOutputWithContext(ctx context.Context) DirectInstanaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectInstanaArrayOutput) +} + +// DirectInstanaMapInput is an input type that accepts DirectInstanaMap and DirectInstanaMapOutput values. +// You can construct a concrete instance of `DirectInstanaMapInput` via: +// +// DirectInstanaMap{ "key": DirectInstanaArgs{...} } +type DirectInstanaMapInput interface { + pulumi.Input + + ToDirectInstanaMapOutput() DirectInstanaMapOutput + ToDirectInstanaMapOutputWithContext(context.Context) DirectInstanaMapOutput +} + +type DirectInstanaMap map[string]DirectInstanaInput + +func (DirectInstanaMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectInstana)(nil)).Elem() +} + +func (i DirectInstanaMap) ToDirectInstanaMapOutput() DirectInstanaMapOutput { + return i.ToDirectInstanaMapOutputWithContext(context.Background()) +} + +func (i DirectInstanaMap) ToDirectInstanaMapOutputWithContext(ctx context.Context) DirectInstanaMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectInstanaMapOutput) +} + +type DirectInstanaOutput struct{ *pulumi.OutputState } + +func (DirectInstanaOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectInstana)(nil)).Elem() +} + +func (o DirectInstanaOutput) ToDirectInstanaOutput() DirectInstanaOutput { + return o +} + +func (o DirectInstanaOutput) ToDirectInstanaOutputWithContext(ctx context.Context) DirectInstanaOutput { + return o +} + +// [required] | Instana API Token. +func (o DirectInstanaOutput) ApiToken() pulumi.StringOutput { + return o.ApplyT(func(v *DirectInstana) pulumi.StringOutput { return v.ApiToken }).(pulumi.StringOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectInstanaOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectInstana) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectInstanaOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectInstana) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectInstanaOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectInstana) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectInstanaOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectInstana) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectInstanaOutput) QueryDelay() DirectInstanaQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectInstana) DirectInstanaQueryDelayPtrOutput { return v.QueryDelay }).(DirectInstanaQueryDelayPtrOutput) +} + +// Source of Metrics and/or Services. +func (o DirectInstanaOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectInstana) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectInstanaOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectInstana) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Instana API URL. +func (o DirectInstanaOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *DirectInstana) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type DirectInstanaArrayOutput struct{ *pulumi.OutputState } + +func (DirectInstanaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectInstana)(nil)).Elem() +} + +func (o DirectInstanaArrayOutput) ToDirectInstanaArrayOutput() DirectInstanaArrayOutput { + return o +} + +func (o DirectInstanaArrayOutput) ToDirectInstanaArrayOutputWithContext(ctx context.Context) DirectInstanaArrayOutput { + return o +} + +func (o DirectInstanaArrayOutput) Index(i pulumi.IntInput) DirectInstanaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectInstana { + return vs[0].([]*DirectInstana)[vs[1].(int)] + }).(DirectInstanaOutput) +} + +type DirectInstanaMapOutput struct{ *pulumi.OutputState } + +func (DirectInstanaMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectInstana)(nil)).Elem() +} + +func (o DirectInstanaMapOutput) ToDirectInstanaMapOutput() DirectInstanaMapOutput { + return o +} + +func (o DirectInstanaMapOutput) ToDirectInstanaMapOutputWithContext(ctx context.Context) DirectInstanaMapOutput { + return o +} + +func (o DirectInstanaMapOutput) MapIndex(k pulumi.StringInput) DirectInstanaOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectInstana { + return vs[0].(map[string]*DirectInstana)[vs[1].(string)] + }).(DirectInstanaOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectInstanaInput)(nil)).Elem(), &DirectInstana{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectInstanaArrayInput)(nil)).Elem(), DirectInstanaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectInstanaMapInput)(nil)).Elem(), DirectInstanaMap{}) + pulumi.RegisterOutputType(DirectInstanaOutput{}) + pulumi.RegisterOutputType(DirectInstanaArrayOutput{}) + pulumi.RegisterOutputType(DirectInstanaMapOutput{}) +} diff --git a/sdk/go/nobl9/directLightstep.go b/sdk/go/nobl9/directLightstep.go new file mode 100644 index 0000000..086c0d9 --- /dev/null +++ b/sdk/go/nobl9/directLightstep.go @@ -0,0 +1,426 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Lightstep is an observability platform that enables distributed tracing, that can be used to rapidly pinpoint the causes of failures and poor performance across the deeply complex dependencies among services, teams, and workloads in modern production systems. Nobl9 integration with Lightstep enables organizations to establish service level objectives from performance data captured through distributed traces in the Lightstep platform. Nobl9 connects with Lightstep to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [Lightstep Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-direct). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectLightstep(ctx, "test-lightstep", &nobl9.DirectLightstepArgs{ +// AppToken: pulumi.String("secret"), +// Description: pulumi.String("desc"), +// HistoricalDataRetrieval: &DirectLightstepHistoricalDataRetrievalArgs{ +// DefaultDurations: DirectLightstepHistoricalDataRetrievalDefaultDurationArray{ +// &DirectLightstepHistoricalDataRetrievalDefaultDurationArgs{ +// Unit: pulumi.String("Day"), +// Value: pulumi.Int(0), +// }, +// }, +// MaxDurations: DirectLightstepHistoricalDataRetrievalMaxDurationArray{ +// &DirectLightstepHistoricalDataRetrievalMaxDurationArgs{ +// Unit: pulumi.String("Day"), +// Value: pulumi.Int(30), +// }, +// }, +// }, +// LightstepOrganization: pulumi.String("acme"), +// LightstepProject: pulumi.String("project1"), +// Project: pulumi.String("terraform"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectLightstep struct { + pulumi.CustomResourceState + + // [required] | Lightstep App Token. + AppToken pulumi.StringOutput `pulumi:"appToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectLightstepHistoricalDataRetrievalPtrOutput `pulumi:"historicalDataRetrieval"` + // Organization name registered in Lightstep. + LightstepOrganization pulumi.StringOutput `pulumi:"lightstepOrganization"` + // Name of the Lightstep project. + LightstepProject pulumi.StringOutput `pulumi:"lightstepProject"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectLightstepQueryDelayPtrOutput `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewDirectLightstep registers a new resource with the given unique name, arguments, and options. +func NewDirectLightstep(ctx *pulumi.Context, + name string, args *DirectLightstepArgs, opts ...pulumi.ResourceOption) (*DirectLightstep, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.LightstepOrganization == nil { + return nil, errors.New("invalid value for required argument 'LightstepOrganization'") + } + if args.LightstepProject == nil { + return nil, errors.New("invalid value for required argument 'LightstepProject'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectLightstep + err := ctx.RegisterResource("nobl9:index/directLightstep:DirectLightstep", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectLightstep gets an existing DirectLightstep 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 GetDirectLightstep(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectLightstepState, opts ...pulumi.ResourceOption) (*DirectLightstep, error) { + var resource DirectLightstep + err := ctx.ReadResource("nobl9:index/directLightstep:DirectLightstep", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectLightstep resources. +type directLightstepState struct { + // [required] | Lightstep App Token. + AppToken *string `pulumi:"appToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval *DirectLightstepHistoricalDataRetrieval `pulumi:"historicalDataRetrieval"` + // Organization name registered in Lightstep. + LightstepOrganization *string `pulumi:"lightstepOrganization"` + // Name of the Lightstep project. + LightstepProject *string `pulumi:"lightstepProject"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectLightstepQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` +} + +type DirectLightstepState struct { + // [required] | Lightstep App Token. + AppToken pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectLightstepHistoricalDataRetrievalPtrInput + // Organization name registered in Lightstep. + LightstepOrganization pulumi.StringPtrInput + // Name of the Lightstep project. + LightstepProject pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectLightstepQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput +} + +func (DirectLightstepState) ElementType() reflect.Type { + return reflect.TypeOf((*directLightstepState)(nil)).Elem() +} + +type directLightstepArgs struct { + // [required] | Lightstep App Token. + AppToken *string `pulumi:"appToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval *DirectLightstepHistoricalDataRetrieval `pulumi:"historicalDataRetrieval"` + // Organization name registered in Lightstep. + LightstepOrganization string `pulumi:"lightstepOrganization"` + // Name of the Lightstep project. + LightstepProject string `pulumi:"lightstepProject"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectLightstepQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` +} + +// The set of arguments for constructing a DirectLightstep resource. +type DirectLightstepArgs struct { + // [required] | Lightstep App Token. + AppToken pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectLightstepHistoricalDataRetrievalPtrInput + // Organization name registered in Lightstep. + LightstepOrganization pulumi.StringInput + // Name of the Lightstep project. + LightstepProject pulumi.StringInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectLightstepQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput +} + +func (DirectLightstepArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directLightstepArgs)(nil)).Elem() +} + +type DirectLightstepInput interface { + pulumi.Input + + ToDirectLightstepOutput() DirectLightstepOutput + ToDirectLightstepOutputWithContext(ctx context.Context) DirectLightstepOutput +} + +func (*DirectLightstep) ElementType() reflect.Type { + return reflect.TypeOf((**DirectLightstep)(nil)).Elem() +} + +func (i *DirectLightstep) ToDirectLightstepOutput() DirectLightstepOutput { + return i.ToDirectLightstepOutputWithContext(context.Background()) +} + +func (i *DirectLightstep) ToDirectLightstepOutputWithContext(ctx context.Context) DirectLightstepOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectLightstepOutput) +} + +// DirectLightstepArrayInput is an input type that accepts DirectLightstepArray and DirectLightstepArrayOutput values. +// You can construct a concrete instance of `DirectLightstepArrayInput` via: +// +// DirectLightstepArray{ DirectLightstepArgs{...} } +type DirectLightstepArrayInput interface { + pulumi.Input + + ToDirectLightstepArrayOutput() DirectLightstepArrayOutput + ToDirectLightstepArrayOutputWithContext(context.Context) DirectLightstepArrayOutput +} + +type DirectLightstepArray []DirectLightstepInput + +func (DirectLightstepArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectLightstep)(nil)).Elem() +} + +func (i DirectLightstepArray) ToDirectLightstepArrayOutput() DirectLightstepArrayOutput { + return i.ToDirectLightstepArrayOutputWithContext(context.Background()) +} + +func (i DirectLightstepArray) ToDirectLightstepArrayOutputWithContext(ctx context.Context) DirectLightstepArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectLightstepArrayOutput) +} + +// DirectLightstepMapInput is an input type that accepts DirectLightstepMap and DirectLightstepMapOutput values. +// You can construct a concrete instance of `DirectLightstepMapInput` via: +// +// DirectLightstepMap{ "key": DirectLightstepArgs{...} } +type DirectLightstepMapInput interface { + pulumi.Input + + ToDirectLightstepMapOutput() DirectLightstepMapOutput + ToDirectLightstepMapOutputWithContext(context.Context) DirectLightstepMapOutput +} + +type DirectLightstepMap map[string]DirectLightstepInput + +func (DirectLightstepMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectLightstep)(nil)).Elem() +} + +func (i DirectLightstepMap) ToDirectLightstepMapOutput() DirectLightstepMapOutput { + return i.ToDirectLightstepMapOutputWithContext(context.Background()) +} + +func (i DirectLightstepMap) ToDirectLightstepMapOutputWithContext(ctx context.Context) DirectLightstepMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectLightstepMapOutput) +} + +type DirectLightstepOutput struct{ *pulumi.OutputState } + +func (DirectLightstepOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectLightstep)(nil)).Elem() +} + +func (o DirectLightstepOutput) ToDirectLightstepOutput() DirectLightstepOutput { + return o +} + +func (o DirectLightstepOutput) ToDirectLightstepOutputWithContext(ctx context.Context) DirectLightstepOutput { + return o +} + +// [required] | Lightstep App Token. +func (o DirectLightstepOutput) AppToken() pulumi.StringOutput { + return o.ApplyT(func(v *DirectLightstep) pulumi.StringOutput { return v.AppToken }).(pulumi.StringOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectLightstepOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectLightstep) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectLightstepOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectLightstep) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// [Replay configuration documentation](https://docs.nobl9.com/replay) +func (o DirectLightstepOutput) HistoricalDataRetrieval() DirectLightstepHistoricalDataRetrievalPtrOutput { + return o.ApplyT(func(v *DirectLightstep) DirectLightstepHistoricalDataRetrievalPtrOutput { + return v.HistoricalDataRetrieval + }).(DirectLightstepHistoricalDataRetrievalPtrOutput) +} + +// Organization name registered in Lightstep. +func (o DirectLightstepOutput) LightstepOrganization() pulumi.StringOutput { + return o.ApplyT(func(v *DirectLightstep) pulumi.StringOutput { return v.LightstepOrganization }).(pulumi.StringOutput) +} + +// Name of the Lightstep project. +func (o DirectLightstepOutput) LightstepProject() pulumi.StringOutput { + return o.ApplyT(func(v *DirectLightstep) pulumi.StringOutput { return v.LightstepProject }).(pulumi.StringOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectLightstepOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectLightstep) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectLightstepOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectLightstep) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectLightstepOutput) QueryDelay() DirectLightstepQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectLightstep) DirectLightstepQueryDelayPtrOutput { return v.QueryDelay }).(DirectLightstepQueryDelayPtrOutput) +} + +// Source of Metrics and/or Services. +func (o DirectLightstepOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectLightstep) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectLightstepOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectLightstep) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +type DirectLightstepArrayOutput struct{ *pulumi.OutputState } + +func (DirectLightstepArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectLightstep)(nil)).Elem() +} + +func (o DirectLightstepArrayOutput) ToDirectLightstepArrayOutput() DirectLightstepArrayOutput { + return o +} + +func (o DirectLightstepArrayOutput) ToDirectLightstepArrayOutputWithContext(ctx context.Context) DirectLightstepArrayOutput { + return o +} + +func (o DirectLightstepArrayOutput) Index(i pulumi.IntInput) DirectLightstepOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectLightstep { + return vs[0].([]*DirectLightstep)[vs[1].(int)] + }).(DirectLightstepOutput) +} + +type DirectLightstepMapOutput struct{ *pulumi.OutputState } + +func (DirectLightstepMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectLightstep)(nil)).Elem() +} + +func (o DirectLightstepMapOutput) ToDirectLightstepMapOutput() DirectLightstepMapOutput { + return o +} + +func (o DirectLightstepMapOutput) ToDirectLightstepMapOutputWithContext(ctx context.Context) DirectLightstepMapOutput { + return o +} + +func (o DirectLightstepMapOutput) MapIndex(k pulumi.StringInput) DirectLightstepOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectLightstep { + return vs[0].(map[string]*DirectLightstep)[vs[1].(string)] + }).(DirectLightstepOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectLightstepInput)(nil)).Elem(), &DirectLightstep{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectLightstepArrayInput)(nil)).Elem(), DirectLightstepArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectLightstepMapInput)(nil)).Elem(), DirectLightstepMap{}) + pulumi.RegisterOutputType(DirectLightstepOutput{}) + pulumi.RegisterOutputType(DirectLightstepArrayOutput{}) + pulumi.RegisterOutputType(DirectLightstepMapOutput{}) +} diff --git a/sdk/go/nobl9/directNewrelic.go b/sdk/go/nobl9/directNewrelic.go new file mode 100644 index 0000000..e9cd34d --- /dev/null +++ b/sdk/go/nobl9/directNewrelic.go @@ -0,0 +1,407 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// New Relic is a software solution that monitors performance and availability. It sets and rates application performance across the environment using a standardized Apdex (application performance index) score. Nobl9 connects with New Relic to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [New Relic Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-direct). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectNewrelic(ctx, "test-newrelic", &nobl9.DirectNewrelicArgs{ +// AccountId: pulumi.Int(1234), +// Description: pulumi.String("desc"), +// HistoricalDataRetrieval: &DirectNewrelicHistoricalDataRetrievalArgs{ +// DefaultDurations: DirectNewrelicHistoricalDataRetrievalDefaultDurationArray{ +// &DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs{ +// Unit: pulumi.String("Day"), +// Value: pulumi.Int(0), +// }, +// }, +// MaxDurations: DirectNewrelicHistoricalDataRetrievalMaxDurationArray{ +// &DirectNewrelicHistoricalDataRetrievalMaxDurationArgs{ +// Unit: pulumi.String("Day"), +// Value: pulumi.Int(30), +// }, +// }, +// }, +// InsightsQueryKey: pulumi.String("secret"), +// Project: pulumi.String("terraform"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectNewrelic struct { + pulumi.CustomResourceState + + // ID number assigned to the New Relic user account. + AccountId pulumi.IntOutput `pulumi:"accountId"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectNewrelicHistoricalDataRetrievalPtrOutput `pulumi:"historicalDataRetrieval"` + // [required] | New Relic Insights Query Key. + InsightsQueryKey pulumi.StringOutput `pulumi:"insightsQueryKey"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectNewrelicQueryDelayPtrOutput `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewDirectNewrelic registers a new resource with the given unique name, arguments, and options. +func NewDirectNewrelic(ctx *pulumi.Context, + name string, args *DirectNewrelicArgs, opts ...pulumi.ResourceOption) (*DirectNewrelic, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AccountId == nil { + return nil, errors.New("invalid value for required argument 'AccountId'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectNewrelic + err := ctx.RegisterResource("nobl9:index/directNewrelic:DirectNewrelic", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectNewrelic gets an existing DirectNewrelic 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 GetDirectNewrelic(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectNewrelicState, opts ...pulumi.ResourceOption) (*DirectNewrelic, error) { + var resource DirectNewrelic + err := ctx.ReadResource("nobl9:index/directNewrelic:DirectNewrelic", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectNewrelic resources. +type directNewrelicState struct { + // ID number assigned to the New Relic user account. + AccountId *int `pulumi:"accountId"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval *DirectNewrelicHistoricalDataRetrieval `pulumi:"historicalDataRetrieval"` + // [required] | New Relic Insights Query Key. + InsightsQueryKey *string `pulumi:"insightsQueryKey"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectNewrelicQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` +} + +type DirectNewrelicState struct { + // ID number assigned to the New Relic user account. + AccountId pulumi.IntPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectNewrelicHistoricalDataRetrievalPtrInput + // [required] | New Relic Insights Query Key. + InsightsQueryKey pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectNewrelicQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput +} + +func (DirectNewrelicState) ElementType() reflect.Type { + return reflect.TypeOf((*directNewrelicState)(nil)).Elem() +} + +type directNewrelicArgs struct { + // ID number assigned to the New Relic user account. + AccountId int `pulumi:"accountId"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval *DirectNewrelicHistoricalDataRetrieval `pulumi:"historicalDataRetrieval"` + // [required] | New Relic Insights Query Key. + InsightsQueryKey *string `pulumi:"insightsQueryKey"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectNewrelicQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` +} + +// The set of arguments for constructing a DirectNewrelic resource. +type DirectNewrelicArgs struct { + // ID number assigned to the New Relic user account. + AccountId pulumi.IntInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectNewrelicHistoricalDataRetrievalPtrInput + // [required] | New Relic Insights Query Key. + InsightsQueryKey pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectNewrelicQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput +} + +func (DirectNewrelicArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directNewrelicArgs)(nil)).Elem() +} + +type DirectNewrelicInput interface { + pulumi.Input + + ToDirectNewrelicOutput() DirectNewrelicOutput + ToDirectNewrelicOutputWithContext(ctx context.Context) DirectNewrelicOutput +} + +func (*DirectNewrelic) ElementType() reflect.Type { + return reflect.TypeOf((**DirectNewrelic)(nil)).Elem() +} + +func (i *DirectNewrelic) ToDirectNewrelicOutput() DirectNewrelicOutput { + return i.ToDirectNewrelicOutputWithContext(context.Background()) +} + +func (i *DirectNewrelic) ToDirectNewrelicOutputWithContext(ctx context.Context) DirectNewrelicOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectNewrelicOutput) +} + +// DirectNewrelicArrayInput is an input type that accepts DirectNewrelicArray and DirectNewrelicArrayOutput values. +// You can construct a concrete instance of `DirectNewrelicArrayInput` via: +// +// DirectNewrelicArray{ DirectNewrelicArgs{...} } +type DirectNewrelicArrayInput interface { + pulumi.Input + + ToDirectNewrelicArrayOutput() DirectNewrelicArrayOutput + ToDirectNewrelicArrayOutputWithContext(context.Context) DirectNewrelicArrayOutput +} + +type DirectNewrelicArray []DirectNewrelicInput + +func (DirectNewrelicArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectNewrelic)(nil)).Elem() +} + +func (i DirectNewrelicArray) ToDirectNewrelicArrayOutput() DirectNewrelicArrayOutput { + return i.ToDirectNewrelicArrayOutputWithContext(context.Background()) +} + +func (i DirectNewrelicArray) ToDirectNewrelicArrayOutputWithContext(ctx context.Context) DirectNewrelicArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectNewrelicArrayOutput) +} + +// DirectNewrelicMapInput is an input type that accepts DirectNewrelicMap and DirectNewrelicMapOutput values. +// You can construct a concrete instance of `DirectNewrelicMapInput` via: +// +// DirectNewrelicMap{ "key": DirectNewrelicArgs{...} } +type DirectNewrelicMapInput interface { + pulumi.Input + + ToDirectNewrelicMapOutput() DirectNewrelicMapOutput + ToDirectNewrelicMapOutputWithContext(context.Context) DirectNewrelicMapOutput +} + +type DirectNewrelicMap map[string]DirectNewrelicInput + +func (DirectNewrelicMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectNewrelic)(nil)).Elem() +} + +func (i DirectNewrelicMap) ToDirectNewrelicMapOutput() DirectNewrelicMapOutput { + return i.ToDirectNewrelicMapOutputWithContext(context.Background()) +} + +func (i DirectNewrelicMap) ToDirectNewrelicMapOutputWithContext(ctx context.Context) DirectNewrelicMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectNewrelicMapOutput) +} + +type DirectNewrelicOutput struct{ *pulumi.OutputState } + +func (DirectNewrelicOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectNewrelic)(nil)).Elem() +} + +func (o DirectNewrelicOutput) ToDirectNewrelicOutput() DirectNewrelicOutput { + return o +} + +func (o DirectNewrelicOutput) ToDirectNewrelicOutputWithContext(ctx context.Context) DirectNewrelicOutput { + return o +} + +// ID number assigned to the New Relic user account. +func (o DirectNewrelicOutput) AccountId() pulumi.IntOutput { + return o.ApplyT(func(v *DirectNewrelic) pulumi.IntOutput { return v.AccountId }).(pulumi.IntOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectNewrelicOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectNewrelic) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectNewrelicOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectNewrelic) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// [Replay configuration documentation](https://docs.nobl9.com/replay) +func (o DirectNewrelicOutput) HistoricalDataRetrieval() DirectNewrelicHistoricalDataRetrievalPtrOutput { + return o.ApplyT(func(v *DirectNewrelic) DirectNewrelicHistoricalDataRetrievalPtrOutput { + return v.HistoricalDataRetrieval + }).(DirectNewrelicHistoricalDataRetrievalPtrOutput) +} + +// [required] | New Relic Insights Query Key. +func (o DirectNewrelicOutput) InsightsQueryKey() pulumi.StringOutput { + return o.ApplyT(func(v *DirectNewrelic) pulumi.StringOutput { return v.InsightsQueryKey }).(pulumi.StringOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectNewrelicOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectNewrelic) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectNewrelicOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectNewrelic) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectNewrelicOutput) QueryDelay() DirectNewrelicQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectNewrelic) DirectNewrelicQueryDelayPtrOutput { return v.QueryDelay }).(DirectNewrelicQueryDelayPtrOutput) +} + +// Source of Metrics and/or Services. +func (o DirectNewrelicOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectNewrelic) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectNewrelicOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectNewrelic) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +type DirectNewrelicArrayOutput struct{ *pulumi.OutputState } + +func (DirectNewrelicArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectNewrelic)(nil)).Elem() +} + +func (o DirectNewrelicArrayOutput) ToDirectNewrelicArrayOutput() DirectNewrelicArrayOutput { + return o +} + +func (o DirectNewrelicArrayOutput) ToDirectNewrelicArrayOutputWithContext(ctx context.Context) DirectNewrelicArrayOutput { + return o +} + +func (o DirectNewrelicArrayOutput) Index(i pulumi.IntInput) DirectNewrelicOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectNewrelic { + return vs[0].([]*DirectNewrelic)[vs[1].(int)] + }).(DirectNewrelicOutput) +} + +type DirectNewrelicMapOutput struct{ *pulumi.OutputState } + +func (DirectNewrelicMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectNewrelic)(nil)).Elem() +} + +func (o DirectNewrelicMapOutput) ToDirectNewrelicMapOutput() DirectNewrelicMapOutput { + return o +} + +func (o DirectNewrelicMapOutput) ToDirectNewrelicMapOutputWithContext(ctx context.Context) DirectNewrelicMapOutput { + return o +} + +func (o DirectNewrelicMapOutput) MapIndex(k pulumi.StringInput) DirectNewrelicOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectNewrelic { + return vs[0].(map[string]*DirectNewrelic)[vs[1].(string)] + }).(DirectNewrelicOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectNewrelicInput)(nil)).Elem(), &DirectNewrelic{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectNewrelicArrayInput)(nil)).Elem(), DirectNewrelicArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectNewrelicMapInput)(nil)).Elem(), DirectNewrelicMap{}) + pulumi.RegisterOutputType(DirectNewrelicOutput{}) + pulumi.RegisterOutputType(DirectNewrelicArrayOutput{}) + pulumi.RegisterOutputType(DirectNewrelicMapOutput{}) +} diff --git a/sdk/go/nobl9/directPingdom.go b/sdk/go/nobl9/directPingdom.go new file mode 100644 index 0000000..4879bb1 --- /dev/null +++ b/sdk/go/nobl9/directPingdom.go @@ -0,0 +1,356 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Pingdom is a website monitoring software solution that gives users real-time, quality insights into the uptime and performance of their websites. After adding Pingdom as a data source in Nobl9, users can configure SLOs to check the overall performance status of their sites. Nobl9 connects with Pingdom to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [Pingdom Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-direct). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectPingdom(ctx, "test-pingdom", &nobl9.DirectPingdomArgs{ +// ApiToken: pulumi.String("secret"), +// Description: pulumi.String("desc"), +// Project: pulumi.String("terraform"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectPingdom struct { + pulumi.CustomResourceState + + // [required] | Pingdom API token. + ApiToken pulumi.StringOutput `pulumi:"apiToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectPingdomQueryDelayPtrOutput `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewDirectPingdom registers a new resource with the given unique name, arguments, and options. +func NewDirectPingdom(ctx *pulumi.Context, + name string, args *DirectPingdomArgs, opts ...pulumi.ResourceOption) (*DirectPingdom, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectPingdom + err := ctx.RegisterResource("nobl9:index/directPingdom:DirectPingdom", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectPingdom gets an existing DirectPingdom 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 GetDirectPingdom(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectPingdomState, opts ...pulumi.ResourceOption) (*DirectPingdom, error) { + var resource DirectPingdom + err := ctx.ReadResource("nobl9:index/directPingdom:DirectPingdom", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectPingdom resources. +type directPingdomState struct { + // [required] | Pingdom API token. + ApiToken *string `pulumi:"apiToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectPingdomQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` +} + +type DirectPingdomState struct { + // [required] | Pingdom API token. + ApiToken pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectPingdomQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput +} + +func (DirectPingdomState) ElementType() reflect.Type { + return reflect.TypeOf((*directPingdomState)(nil)).Elem() +} + +type directPingdomArgs struct { + // [required] | Pingdom API token. + ApiToken *string `pulumi:"apiToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectPingdomQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` +} + +// The set of arguments for constructing a DirectPingdom resource. +type DirectPingdomArgs struct { + // [required] | Pingdom API token. + ApiToken pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectPingdomQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput +} + +func (DirectPingdomArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directPingdomArgs)(nil)).Elem() +} + +type DirectPingdomInput interface { + pulumi.Input + + ToDirectPingdomOutput() DirectPingdomOutput + ToDirectPingdomOutputWithContext(ctx context.Context) DirectPingdomOutput +} + +func (*DirectPingdom) ElementType() reflect.Type { + return reflect.TypeOf((**DirectPingdom)(nil)).Elem() +} + +func (i *DirectPingdom) ToDirectPingdomOutput() DirectPingdomOutput { + return i.ToDirectPingdomOutputWithContext(context.Background()) +} + +func (i *DirectPingdom) ToDirectPingdomOutputWithContext(ctx context.Context) DirectPingdomOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectPingdomOutput) +} + +// DirectPingdomArrayInput is an input type that accepts DirectPingdomArray and DirectPingdomArrayOutput values. +// You can construct a concrete instance of `DirectPingdomArrayInput` via: +// +// DirectPingdomArray{ DirectPingdomArgs{...} } +type DirectPingdomArrayInput interface { + pulumi.Input + + ToDirectPingdomArrayOutput() DirectPingdomArrayOutput + ToDirectPingdomArrayOutputWithContext(context.Context) DirectPingdomArrayOutput +} + +type DirectPingdomArray []DirectPingdomInput + +func (DirectPingdomArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectPingdom)(nil)).Elem() +} + +func (i DirectPingdomArray) ToDirectPingdomArrayOutput() DirectPingdomArrayOutput { + return i.ToDirectPingdomArrayOutputWithContext(context.Background()) +} + +func (i DirectPingdomArray) ToDirectPingdomArrayOutputWithContext(ctx context.Context) DirectPingdomArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectPingdomArrayOutput) +} + +// DirectPingdomMapInput is an input type that accepts DirectPingdomMap and DirectPingdomMapOutput values. +// You can construct a concrete instance of `DirectPingdomMapInput` via: +// +// DirectPingdomMap{ "key": DirectPingdomArgs{...} } +type DirectPingdomMapInput interface { + pulumi.Input + + ToDirectPingdomMapOutput() DirectPingdomMapOutput + ToDirectPingdomMapOutputWithContext(context.Context) DirectPingdomMapOutput +} + +type DirectPingdomMap map[string]DirectPingdomInput + +func (DirectPingdomMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectPingdom)(nil)).Elem() +} + +func (i DirectPingdomMap) ToDirectPingdomMapOutput() DirectPingdomMapOutput { + return i.ToDirectPingdomMapOutputWithContext(context.Background()) +} + +func (i DirectPingdomMap) ToDirectPingdomMapOutputWithContext(ctx context.Context) DirectPingdomMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectPingdomMapOutput) +} + +type DirectPingdomOutput struct{ *pulumi.OutputState } + +func (DirectPingdomOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectPingdom)(nil)).Elem() +} + +func (o DirectPingdomOutput) ToDirectPingdomOutput() DirectPingdomOutput { + return o +} + +func (o DirectPingdomOutput) ToDirectPingdomOutputWithContext(ctx context.Context) DirectPingdomOutput { + return o +} + +// [required] | Pingdom API token. +func (o DirectPingdomOutput) ApiToken() pulumi.StringOutput { + return o.ApplyT(func(v *DirectPingdom) pulumi.StringOutput { return v.ApiToken }).(pulumi.StringOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectPingdomOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectPingdom) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectPingdomOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectPingdom) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectPingdomOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectPingdom) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectPingdomOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectPingdom) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectPingdomOutput) QueryDelay() DirectPingdomQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectPingdom) DirectPingdomQueryDelayPtrOutput { return v.QueryDelay }).(DirectPingdomQueryDelayPtrOutput) +} + +// Source of Metrics and/or Services. +func (o DirectPingdomOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectPingdom) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectPingdomOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectPingdom) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +type DirectPingdomArrayOutput struct{ *pulumi.OutputState } + +func (DirectPingdomArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectPingdom)(nil)).Elem() +} + +func (o DirectPingdomArrayOutput) ToDirectPingdomArrayOutput() DirectPingdomArrayOutput { + return o +} + +func (o DirectPingdomArrayOutput) ToDirectPingdomArrayOutputWithContext(ctx context.Context) DirectPingdomArrayOutput { + return o +} + +func (o DirectPingdomArrayOutput) Index(i pulumi.IntInput) DirectPingdomOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectPingdom { + return vs[0].([]*DirectPingdom)[vs[1].(int)] + }).(DirectPingdomOutput) +} + +type DirectPingdomMapOutput struct{ *pulumi.OutputState } + +func (DirectPingdomMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectPingdom)(nil)).Elem() +} + +func (o DirectPingdomMapOutput) ToDirectPingdomMapOutput() DirectPingdomMapOutput { + return o +} + +func (o DirectPingdomMapOutput) ToDirectPingdomMapOutputWithContext(ctx context.Context) DirectPingdomMapOutput { + return o +} + +func (o DirectPingdomMapOutput) MapIndex(k pulumi.StringInput) DirectPingdomOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectPingdom { + return vs[0].(map[string]*DirectPingdom)[vs[1].(string)] + }).(DirectPingdomOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectPingdomInput)(nil)).Elem(), &DirectPingdom{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectPingdomArrayInput)(nil)).Elem(), DirectPingdomArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectPingdomMapInput)(nil)).Elem(), DirectPingdomMap{}) + pulumi.RegisterOutputType(DirectPingdomOutput{}) + pulumi.RegisterOutputType(DirectPingdomArrayOutput{}) + pulumi.RegisterOutputType(DirectPingdomMapOutput{}) +} diff --git a/sdk/go/nobl9/directRedshift.go b/sdk/go/nobl9/directRedshift.go new file mode 100644 index 0000000..34d603c --- /dev/null +++ b/sdk/go/nobl9/directRedshift.go @@ -0,0 +1,388 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Amazon Redshift is a managed scalable database warehouse where Nobl9 users can store their metrics information. Nobl9 connects with Amazon Redshift to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [Amazon Redshift Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-direct). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectRedshift(ctx, "test-redshift", &nobl9.DirectRedshiftArgs{ +// AccessKeyId: pulumi.String("secret"), +// Description: pulumi.String("desc"), +// Project: pulumi.String("terraform"), +// SecretAccessKey: pulumi.String("secret"), +// SecretArn: pulumi.String("aws:arn"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectRedshift struct { + pulumi.CustomResourceState + + // [required] | AWS Access Key ID. + AccessKeyId pulumi.StringOutput `pulumi:"accessKeyId"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectRedshiftQueryDelayPtrOutput `pulumi:"queryDelay"` + // [required] | AWS Secret Access Key. + SecretAccessKey pulumi.StringOutput `pulumi:"secretAccessKey"` + // AWS Secret ARN. + SecretArn pulumi.StringOutput `pulumi:"secretArn"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewDirectRedshift registers a new resource with the given unique name, arguments, and options. +func NewDirectRedshift(ctx *pulumi.Context, + name string, args *DirectRedshiftArgs, opts ...pulumi.ResourceOption) (*DirectRedshift, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectRedshift + err := ctx.RegisterResource("nobl9:index/directRedshift:DirectRedshift", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectRedshift gets an existing DirectRedshift 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 GetDirectRedshift(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectRedshiftState, opts ...pulumi.ResourceOption) (*DirectRedshift, error) { + var resource DirectRedshift + err := ctx.ReadResource("nobl9:index/directRedshift:DirectRedshift", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectRedshift resources. +type directRedshiftState struct { + // [required] | AWS Access Key ID. + AccessKeyId *string `pulumi:"accessKeyId"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectRedshiftQueryDelay `pulumi:"queryDelay"` + // [required] | AWS Secret Access Key. + SecretAccessKey *string `pulumi:"secretAccessKey"` + // AWS Secret ARN. + SecretArn *string `pulumi:"secretArn"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` +} + +type DirectRedshiftState struct { + // [required] | AWS Access Key ID. + AccessKeyId pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectRedshiftQueryDelayPtrInput + // [required] | AWS Secret Access Key. + SecretAccessKey pulumi.StringPtrInput + // AWS Secret ARN. + SecretArn pulumi.StringPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput +} + +func (DirectRedshiftState) ElementType() reflect.Type { + return reflect.TypeOf((*directRedshiftState)(nil)).Elem() +} + +type directRedshiftArgs struct { + // [required] | AWS Access Key ID. + AccessKeyId *string `pulumi:"accessKeyId"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectRedshiftQueryDelay `pulumi:"queryDelay"` + // [required] | AWS Secret Access Key. + SecretAccessKey *string `pulumi:"secretAccessKey"` + // AWS Secret ARN. + SecretArn *string `pulumi:"secretArn"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` +} + +// The set of arguments for constructing a DirectRedshift resource. +type DirectRedshiftArgs struct { + // [required] | AWS Access Key ID. + AccessKeyId pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectRedshiftQueryDelayPtrInput + // [required] | AWS Secret Access Key. + SecretAccessKey pulumi.StringPtrInput + // AWS Secret ARN. + SecretArn pulumi.StringPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput +} + +func (DirectRedshiftArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directRedshiftArgs)(nil)).Elem() +} + +type DirectRedshiftInput interface { + pulumi.Input + + ToDirectRedshiftOutput() DirectRedshiftOutput + ToDirectRedshiftOutputWithContext(ctx context.Context) DirectRedshiftOutput +} + +func (*DirectRedshift) ElementType() reflect.Type { + return reflect.TypeOf((**DirectRedshift)(nil)).Elem() +} + +func (i *DirectRedshift) ToDirectRedshiftOutput() DirectRedshiftOutput { + return i.ToDirectRedshiftOutputWithContext(context.Background()) +} + +func (i *DirectRedshift) ToDirectRedshiftOutputWithContext(ctx context.Context) DirectRedshiftOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectRedshiftOutput) +} + +// DirectRedshiftArrayInput is an input type that accepts DirectRedshiftArray and DirectRedshiftArrayOutput values. +// You can construct a concrete instance of `DirectRedshiftArrayInput` via: +// +// DirectRedshiftArray{ DirectRedshiftArgs{...} } +type DirectRedshiftArrayInput interface { + pulumi.Input + + ToDirectRedshiftArrayOutput() DirectRedshiftArrayOutput + ToDirectRedshiftArrayOutputWithContext(context.Context) DirectRedshiftArrayOutput +} + +type DirectRedshiftArray []DirectRedshiftInput + +func (DirectRedshiftArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectRedshift)(nil)).Elem() +} + +func (i DirectRedshiftArray) ToDirectRedshiftArrayOutput() DirectRedshiftArrayOutput { + return i.ToDirectRedshiftArrayOutputWithContext(context.Background()) +} + +func (i DirectRedshiftArray) ToDirectRedshiftArrayOutputWithContext(ctx context.Context) DirectRedshiftArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectRedshiftArrayOutput) +} + +// DirectRedshiftMapInput is an input type that accepts DirectRedshiftMap and DirectRedshiftMapOutput values. +// You can construct a concrete instance of `DirectRedshiftMapInput` via: +// +// DirectRedshiftMap{ "key": DirectRedshiftArgs{...} } +type DirectRedshiftMapInput interface { + pulumi.Input + + ToDirectRedshiftMapOutput() DirectRedshiftMapOutput + ToDirectRedshiftMapOutputWithContext(context.Context) DirectRedshiftMapOutput +} + +type DirectRedshiftMap map[string]DirectRedshiftInput + +func (DirectRedshiftMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectRedshift)(nil)).Elem() +} + +func (i DirectRedshiftMap) ToDirectRedshiftMapOutput() DirectRedshiftMapOutput { + return i.ToDirectRedshiftMapOutputWithContext(context.Background()) +} + +func (i DirectRedshiftMap) ToDirectRedshiftMapOutputWithContext(ctx context.Context) DirectRedshiftMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectRedshiftMapOutput) +} + +type DirectRedshiftOutput struct{ *pulumi.OutputState } + +func (DirectRedshiftOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectRedshift)(nil)).Elem() +} + +func (o DirectRedshiftOutput) ToDirectRedshiftOutput() DirectRedshiftOutput { + return o +} + +func (o DirectRedshiftOutput) ToDirectRedshiftOutputWithContext(ctx context.Context) DirectRedshiftOutput { + return o +} + +// [required] | AWS Access Key ID. +func (o DirectRedshiftOutput) AccessKeyId() pulumi.StringOutput { + return o.ApplyT(func(v *DirectRedshift) pulumi.StringOutput { return v.AccessKeyId }).(pulumi.StringOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectRedshiftOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectRedshift) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectRedshiftOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectRedshift) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectRedshiftOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectRedshift) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectRedshiftOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectRedshift) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectRedshiftOutput) QueryDelay() DirectRedshiftQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectRedshift) DirectRedshiftQueryDelayPtrOutput { return v.QueryDelay }).(DirectRedshiftQueryDelayPtrOutput) +} + +// [required] | AWS Secret Access Key. +func (o DirectRedshiftOutput) SecretAccessKey() pulumi.StringOutput { + return o.ApplyT(func(v *DirectRedshift) pulumi.StringOutput { return v.SecretAccessKey }).(pulumi.StringOutput) +} + +// AWS Secret ARN. +func (o DirectRedshiftOutput) SecretArn() pulumi.StringOutput { + return o.ApplyT(func(v *DirectRedshift) pulumi.StringOutput { return v.SecretArn }).(pulumi.StringOutput) +} + +// Source of Metrics and/or Services. +func (o DirectRedshiftOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectRedshift) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectRedshiftOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectRedshift) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +type DirectRedshiftArrayOutput struct{ *pulumi.OutputState } + +func (DirectRedshiftArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectRedshift)(nil)).Elem() +} + +func (o DirectRedshiftArrayOutput) ToDirectRedshiftArrayOutput() DirectRedshiftArrayOutput { + return o +} + +func (o DirectRedshiftArrayOutput) ToDirectRedshiftArrayOutputWithContext(ctx context.Context) DirectRedshiftArrayOutput { + return o +} + +func (o DirectRedshiftArrayOutput) Index(i pulumi.IntInput) DirectRedshiftOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectRedshift { + return vs[0].([]*DirectRedshift)[vs[1].(int)] + }).(DirectRedshiftOutput) +} + +type DirectRedshiftMapOutput struct{ *pulumi.OutputState } + +func (DirectRedshiftMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectRedshift)(nil)).Elem() +} + +func (o DirectRedshiftMapOutput) ToDirectRedshiftMapOutput() DirectRedshiftMapOutput { + return o +} + +func (o DirectRedshiftMapOutput) ToDirectRedshiftMapOutputWithContext(ctx context.Context) DirectRedshiftMapOutput { + return o +} + +func (o DirectRedshiftMapOutput) MapIndex(k pulumi.StringInput) DirectRedshiftOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectRedshift { + return vs[0].(map[string]*DirectRedshift)[vs[1].(string)] + }).(DirectRedshiftOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectRedshiftInput)(nil)).Elem(), &DirectRedshift{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectRedshiftArrayInput)(nil)).Elem(), DirectRedshiftArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectRedshiftMapInput)(nil)).Elem(), DirectRedshiftMap{}) + pulumi.RegisterOutputType(DirectRedshiftOutput{}) + pulumi.RegisterOutputType(DirectRedshiftArrayOutput{}) + pulumi.RegisterOutputType(DirectRedshiftMapOutput{}) +} diff --git a/sdk/go/nobl9/directSplunk.go b/sdk/go/nobl9/directSplunk.go new file mode 100644 index 0000000..e5a6835 --- /dev/null +++ b/sdk/go/nobl9/directSplunk.go @@ -0,0 +1,405 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Splunk provides software for searching, monitoring, and analyzing machine-generated data via a Web-style interface. Nobl9 connects with Splunk to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [Splunk Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/splunk#splunk-direct). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectSplunk(ctx, "test-splunk", &nobl9.DirectSplunkArgs{ +// AccessToken: pulumi.String("secret"), +// Description: pulumi.String("desc"), +// HistoricalDataRetrieval: &DirectSplunkHistoricalDataRetrievalArgs{ +// DefaultDurations: DirectSplunkHistoricalDataRetrievalDefaultDurationArray{ +// &DirectSplunkHistoricalDataRetrievalDefaultDurationArgs{ +// Unit: pulumi.String("Day"), +// Value: pulumi.Int(0), +// }, +// }, +// MaxDurations: DirectSplunkHistoricalDataRetrievalMaxDurationArray{ +// &DirectSplunkHistoricalDataRetrievalMaxDurationArgs{ +// Unit: pulumi.String("Day"), +// Value: pulumi.Int(30), +// }, +// }, +// }, +// Project: pulumi.String("terraform"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// Url: pulumi.String("https://web.net"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectSplunk struct { + pulumi.CustomResourceState + + // [required] | Splunk API Access Token. + AccessToken pulumi.StringOutput `pulumi:"accessToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectSplunkHistoricalDataRetrievalPtrOutput `pulumi:"historicalDataRetrieval"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectSplunkQueryDelayPtrOutput `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` + // Base API URL to the Splunk Search app. + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewDirectSplunk registers a new resource with the given unique name, arguments, and options. +func NewDirectSplunk(ctx *pulumi.Context, + name string, args *DirectSplunkArgs, opts ...pulumi.ResourceOption) (*DirectSplunk, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectSplunk + err := ctx.RegisterResource("nobl9:index/directSplunk:DirectSplunk", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectSplunk gets an existing DirectSplunk 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 GetDirectSplunk(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectSplunkState, opts ...pulumi.ResourceOption) (*DirectSplunk, error) { + var resource DirectSplunk + err := ctx.ReadResource("nobl9:index/directSplunk:DirectSplunk", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectSplunk resources. +type directSplunkState struct { + // [required] | Splunk API Access Token. + AccessToken *string `pulumi:"accessToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval *DirectSplunkHistoricalDataRetrieval `pulumi:"historicalDataRetrieval"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectSplunkQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` + // Base API URL to the Splunk Search app. + Url *string `pulumi:"url"` +} + +type DirectSplunkState struct { + // [required] | Splunk API Access Token. + AccessToken pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectSplunkHistoricalDataRetrievalPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectSplunkQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput + // Base API URL to the Splunk Search app. + Url pulumi.StringPtrInput +} + +func (DirectSplunkState) ElementType() reflect.Type { + return reflect.TypeOf((*directSplunkState)(nil)).Elem() +} + +type directSplunkArgs struct { + // [required] | Splunk API Access Token. + AccessToken *string `pulumi:"accessToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval *DirectSplunkHistoricalDataRetrieval `pulumi:"historicalDataRetrieval"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectSplunkQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // Base API URL to the Splunk Search app. + Url string `pulumi:"url"` +} + +// The set of arguments for constructing a DirectSplunk resource. +type DirectSplunkArgs struct { + // [required] | Splunk API Access Token. + AccessToken pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Replay configuration documentation](https://docs.nobl9.com/replay) + HistoricalDataRetrieval DirectSplunkHistoricalDataRetrievalPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectSplunkQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // Base API URL to the Splunk Search app. + Url pulumi.StringInput +} + +func (DirectSplunkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directSplunkArgs)(nil)).Elem() +} + +type DirectSplunkInput interface { + pulumi.Input + + ToDirectSplunkOutput() DirectSplunkOutput + ToDirectSplunkOutputWithContext(ctx context.Context) DirectSplunkOutput +} + +func (*DirectSplunk) ElementType() reflect.Type { + return reflect.TypeOf((**DirectSplunk)(nil)).Elem() +} + +func (i *DirectSplunk) ToDirectSplunkOutput() DirectSplunkOutput { + return i.ToDirectSplunkOutputWithContext(context.Background()) +} + +func (i *DirectSplunk) ToDirectSplunkOutputWithContext(ctx context.Context) DirectSplunkOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkOutput) +} + +// DirectSplunkArrayInput is an input type that accepts DirectSplunkArray and DirectSplunkArrayOutput values. +// You can construct a concrete instance of `DirectSplunkArrayInput` via: +// +// DirectSplunkArray{ DirectSplunkArgs{...} } +type DirectSplunkArrayInput interface { + pulumi.Input + + ToDirectSplunkArrayOutput() DirectSplunkArrayOutput + ToDirectSplunkArrayOutputWithContext(context.Context) DirectSplunkArrayOutput +} + +type DirectSplunkArray []DirectSplunkInput + +func (DirectSplunkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectSplunk)(nil)).Elem() +} + +func (i DirectSplunkArray) ToDirectSplunkArrayOutput() DirectSplunkArrayOutput { + return i.ToDirectSplunkArrayOutputWithContext(context.Background()) +} + +func (i DirectSplunkArray) ToDirectSplunkArrayOutputWithContext(ctx context.Context) DirectSplunkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkArrayOutput) +} + +// DirectSplunkMapInput is an input type that accepts DirectSplunkMap and DirectSplunkMapOutput values. +// You can construct a concrete instance of `DirectSplunkMapInput` via: +// +// DirectSplunkMap{ "key": DirectSplunkArgs{...} } +type DirectSplunkMapInput interface { + pulumi.Input + + ToDirectSplunkMapOutput() DirectSplunkMapOutput + ToDirectSplunkMapOutputWithContext(context.Context) DirectSplunkMapOutput +} + +type DirectSplunkMap map[string]DirectSplunkInput + +func (DirectSplunkMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectSplunk)(nil)).Elem() +} + +func (i DirectSplunkMap) ToDirectSplunkMapOutput() DirectSplunkMapOutput { + return i.ToDirectSplunkMapOutputWithContext(context.Background()) +} + +func (i DirectSplunkMap) ToDirectSplunkMapOutputWithContext(ctx context.Context) DirectSplunkMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkMapOutput) +} + +type DirectSplunkOutput struct{ *pulumi.OutputState } + +func (DirectSplunkOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectSplunk)(nil)).Elem() +} + +func (o DirectSplunkOutput) ToDirectSplunkOutput() DirectSplunkOutput { + return o +} + +func (o DirectSplunkOutput) ToDirectSplunkOutputWithContext(ctx context.Context) DirectSplunkOutput { + return o +} + +// [required] | Splunk API Access Token. +func (o DirectSplunkOutput) AccessToken() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSplunk) pulumi.StringOutput { return v.AccessToken }).(pulumi.StringOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectSplunkOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectSplunk) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectSplunkOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectSplunk) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// [Replay configuration documentation](https://docs.nobl9.com/replay) +func (o DirectSplunkOutput) HistoricalDataRetrieval() DirectSplunkHistoricalDataRetrievalPtrOutput { + return o.ApplyT(func(v *DirectSplunk) DirectSplunkHistoricalDataRetrievalPtrOutput { return v.HistoricalDataRetrieval }).(DirectSplunkHistoricalDataRetrievalPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectSplunkOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSplunk) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectSplunkOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSplunk) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectSplunkOutput) QueryDelay() DirectSplunkQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectSplunk) DirectSplunkQueryDelayPtrOutput { return v.QueryDelay }).(DirectSplunkQueryDelayPtrOutput) +} + +// Source of Metrics and/or Services. +func (o DirectSplunkOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectSplunk) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectSplunkOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSplunk) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Base API URL to the Splunk Search app. +func (o DirectSplunkOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSplunk) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type DirectSplunkArrayOutput struct{ *pulumi.OutputState } + +func (DirectSplunkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectSplunk)(nil)).Elem() +} + +func (o DirectSplunkArrayOutput) ToDirectSplunkArrayOutput() DirectSplunkArrayOutput { + return o +} + +func (o DirectSplunkArrayOutput) ToDirectSplunkArrayOutputWithContext(ctx context.Context) DirectSplunkArrayOutput { + return o +} + +func (o DirectSplunkArrayOutput) Index(i pulumi.IntInput) DirectSplunkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectSplunk { + return vs[0].([]*DirectSplunk)[vs[1].(int)] + }).(DirectSplunkOutput) +} + +type DirectSplunkMapOutput struct{ *pulumi.OutputState } + +func (DirectSplunkMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectSplunk)(nil)).Elem() +} + +func (o DirectSplunkMapOutput) ToDirectSplunkMapOutput() DirectSplunkMapOutput { + return o +} + +func (o DirectSplunkMapOutput) ToDirectSplunkMapOutputWithContext(ctx context.Context) DirectSplunkMapOutput { + return o +} + +func (o DirectSplunkMapOutput) MapIndex(k pulumi.StringInput) DirectSplunkOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectSplunk { + return vs[0].(map[string]*DirectSplunk)[vs[1].(string)] + }).(DirectSplunkOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkInput)(nil)).Elem(), &DirectSplunk{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkArrayInput)(nil)).Elem(), DirectSplunkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkMapInput)(nil)).Elem(), DirectSplunkMap{}) + pulumi.RegisterOutputType(DirectSplunkOutput{}) + pulumi.RegisterOutputType(DirectSplunkArrayOutput{}) + pulumi.RegisterOutputType(DirectSplunkMapOutput{}) +} diff --git a/sdk/go/nobl9/directSplunkObservability.go b/sdk/go/nobl9/directSplunkObservability.go new file mode 100644 index 0000000..4494f99 --- /dev/null +++ b/sdk/go/nobl9/directSplunkObservability.go @@ -0,0 +1,375 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Splunk Observability allows users to search, monitor, and analyze machine-generated big data. Splunk Observability enables collecting and monitoring metrics, logs, and traces from common data sources. Data collection and monitoring in one place enables full-stack, end-to-end observability of the entire infrastructure. Nobl9 connects with Splunk Observability to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [Splunk Observability Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-direct). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectSplunkObservability(ctx, "test-splunkobservability", &nobl9.DirectSplunkObservabilityArgs{ +// AccessToken: pulumi.String("secret"), +// Description: pulumi.String("desc"), +// Project: pulumi.String("terraform"), +// Realm: pulumi.String("eu"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectSplunkObservability struct { + pulumi.CustomResourceState + + // [required] | Splunk API Access Token. + AccessToken pulumi.StringOutput `pulumi:"accessToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectSplunkObservabilityQueryDelayPtrOutput `pulumi:"queryDelay"` + // SplunkObservability Realm. + Realm pulumi.StringOutput `pulumi:"realm"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewDirectSplunkObservability registers a new resource with the given unique name, arguments, and options. +func NewDirectSplunkObservability(ctx *pulumi.Context, + name string, args *DirectSplunkObservabilityArgs, opts ...pulumi.ResourceOption) (*DirectSplunkObservability, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Realm == nil { + return nil, errors.New("invalid value for required argument 'Realm'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectSplunkObservability + err := ctx.RegisterResource("nobl9:index/directSplunkObservability:DirectSplunkObservability", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectSplunkObservability gets an existing DirectSplunkObservability 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 GetDirectSplunkObservability(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectSplunkObservabilityState, opts ...pulumi.ResourceOption) (*DirectSplunkObservability, error) { + var resource DirectSplunkObservability + err := ctx.ReadResource("nobl9:index/directSplunkObservability:DirectSplunkObservability", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectSplunkObservability resources. +type directSplunkObservabilityState struct { + // [required] | Splunk API Access Token. + AccessToken *string `pulumi:"accessToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectSplunkObservabilityQueryDelay `pulumi:"queryDelay"` + // SplunkObservability Realm. + Realm *string `pulumi:"realm"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` +} + +type DirectSplunkObservabilityState struct { + // [required] | Splunk API Access Token. + AccessToken pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectSplunkObservabilityQueryDelayPtrInput + // SplunkObservability Realm. + Realm pulumi.StringPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput +} + +func (DirectSplunkObservabilityState) ElementType() reflect.Type { + return reflect.TypeOf((*directSplunkObservabilityState)(nil)).Elem() +} + +type directSplunkObservabilityArgs struct { + // [required] | Splunk API Access Token. + AccessToken *string `pulumi:"accessToken"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectSplunkObservabilityQueryDelay `pulumi:"queryDelay"` + // SplunkObservability Realm. + Realm string `pulumi:"realm"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` +} + +// The set of arguments for constructing a DirectSplunkObservability resource. +type DirectSplunkObservabilityArgs struct { + // [required] | Splunk API Access Token. + AccessToken pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectSplunkObservabilityQueryDelayPtrInput + // SplunkObservability Realm. + Realm pulumi.StringInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput +} + +func (DirectSplunkObservabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directSplunkObservabilityArgs)(nil)).Elem() +} + +type DirectSplunkObservabilityInput interface { + pulumi.Input + + ToDirectSplunkObservabilityOutput() DirectSplunkObservabilityOutput + ToDirectSplunkObservabilityOutputWithContext(ctx context.Context) DirectSplunkObservabilityOutput +} + +func (*DirectSplunkObservability) ElementType() reflect.Type { + return reflect.TypeOf((**DirectSplunkObservability)(nil)).Elem() +} + +func (i *DirectSplunkObservability) ToDirectSplunkObservabilityOutput() DirectSplunkObservabilityOutput { + return i.ToDirectSplunkObservabilityOutputWithContext(context.Background()) +} + +func (i *DirectSplunkObservability) ToDirectSplunkObservabilityOutputWithContext(ctx context.Context) DirectSplunkObservabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkObservabilityOutput) +} + +// DirectSplunkObservabilityArrayInput is an input type that accepts DirectSplunkObservabilityArray and DirectSplunkObservabilityArrayOutput values. +// You can construct a concrete instance of `DirectSplunkObservabilityArrayInput` via: +// +// DirectSplunkObservabilityArray{ DirectSplunkObservabilityArgs{...} } +type DirectSplunkObservabilityArrayInput interface { + pulumi.Input + + ToDirectSplunkObservabilityArrayOutput() DirectSplunkObservabilityArrayOutput + ToDirectSplunkObservabilityArrayOutputWithContext(context.Context) DirectSplunkObservabilityArrayOutput +} + +type DirectSplunkObservabilityArray []DirectSplunkObservabilityInput + +func (DirectSplunkObservabilityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectSplunkObservability)(nil)).Elem() +} + +func (i DirectSplunkObservabilityArray) ToDirectSplunkObservabilityArrayOutput() DirectSplunkObservabilityArrayOutput { + return i.ToDirectSplunkObservabilityArrayOutputWithContext(context.Background()) +} + +func (i DirectSplunkObservabilityArray) ToDirectSplunkObservabilityArrayOutputWithContext(ctx context.Context) DirectSplunkObservabilityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkObservabilityArrayOutput) +} + +// DirectSplunkObservabilityMapInput is an input type that accepts DirectSplunkObservabilityMap and DirectSplunkObservabilityMapOutput values. +// You can construct a concrete instance of `DirectSplunkObservabilityMapInput` via: +// +// DirectSplunkObservabilityMap{ "key": DirectSplunkObservabilityArgs{...} } +type DirectSplunkObservabilityMapInput interface { + pulumi.Input + + ToDirectSplunkObservabilityMapOutput() DirectSplunkObservabilityMapOutput + ToDirectSplunkObservabilityMapOutputWithContext(context.Context) DirectSplunkObservabilityMapOutput +} + +type DirectSplunkObservabilityMap map[string]DirectSplunkObservabilityInput + +func (DirectSplunkObservabilityMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectSplunkObservability)(nil)).Elem() +} + +func (i DirectSplunkObservabilityMap) ToDirectSplunkObservabilityMapOutput() DirectSplunkObservabilityMapOutput { + return i.ToDirectSplunkObservabilityMapOutputWithContext(context.Background()) +} + +func (i DirectSplunkObservabilityMap) ToDirectSplunkObservabilityMapOutputWithContext(ctx context.Context) DirectSplunkObservabilityMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkObservabilityMapOutput) +} + +type DirectSplunkObservabilityOutput struct{ *pulumi.OutputState } + +func (DirectSplunkObservabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectSplunkObservability)(nil)).Elem() +} + +func (o DirectSplunkObservabilityOutput) ToDirectSplunkObservabilityOutput() DirectSplunkObservabilityOutput { + return o +} + +func (o DirectSplunkObservabilityOutput) ToDirectSplunkObservabilityOutputWithContext(ctx context.Context) DirectSplunkObservabilityOutput { + return o +} + +// [required] | Splunk API Access Token. +func (o DirectSplunkObservabilityOutput) AccessToken() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSplunkObservability) pulumi.StringOutput { return v.AccessToken }).(pulumi.StringOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectSplunkObservabilityOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectSplunkObservability) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectSplunkObservabilityOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectSplunkObservability) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectSplunkObservabilityOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSplunkObservability) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectSplunkObservabilityOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSplunkObservability) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectSplunkObservabilityOutput) QueryDelay() DirectSplunkObservabilityQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectSplunkObservability) DirectSplunkObservabilityQueryDelayPtrOutput { return v.QueryDelay }).(DirectSplunkObservabilityQueryDelayPtrOutput) +} + +// SplunkObservability Realm. +func (o DirectSplunkObservabilityOutput) Realm() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSplunkObservability) pulumi.StringOutput { return v.Realm }).(pulumi.StringOutput) +} + +// Source of Metrics and/or Services. +func (o DirectSplunkObservabilityOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectSplunkObservability) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectSplunkObservabilityOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSplunkObservability) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +type DirectSplunkObservabilityArrayOutput struct{ *pulumi.OutputState } + +func (DirectSplunkObservabilityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectSplunkObservability)(nil)).Elem() +} + +func (o DirectSplunkObservabilityArrayOutput) ToDirectSplunkObservabilityArrayOutput() DirectSplunkObservabilityArrayOutput { + return o +} + +func (o DirectSplunkObservabilityArrayOutput) ToDirectSplunkObservabilityArrayOutputWithContext(ctx context.Context) DirectSplunkObservabilityArrayOutput { + return o +} + +func (o DirectSplunkObservabilityArrayOutput) Index(i pulumi.IntInput) DirectSplunkObservabilityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectSplunkObservability { + return vs[0].([]*DirectSplunkObservability)[vs[1].(int)] + }).(DirectSplunkObservabilityOutput) +} + +type DirectSplunkObservabilityMapOutput struct{ *pulumi.OutputState } + +func (DirectSplunkObservabilityMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectSplunkObservability)(nil)).Elem() +} + +func (o DirectSplunkObservabilityMapOutput) ToDirectSplunkObservabilityMapOutput() DirectSplunkObservabilityMapOutput { + return o +} + +func (o DirectSplunkObservabilityMapOutput) ToDirectSplunkObservabilityMapOutputWithContext(ctx context.Context) DirectSplunkObservabilityMapOutput { + return o +} + +func (o DirectSplunkObservabilityMapOutput) MapIndex(k pulumi.StringInput) DirectSplunkObservabilityOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectSplunkObservability { + return vs[0].(map[string]*DirectSplunkObservability)[vs[1].(string)] + }).(DirectSplunkObservabilityOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkObservabilityInput)(nil)).Elem(), &DirectSplunkObservability{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkObservabilityArrayInput)(nil)).Elem(), DirectSplunkObservabilityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkObservabilityMapInput)(nil)).Elem(), DirectSplunkObservabilityMap{}) + pulumi.RegisterOutputType(DirectSplunkObservabilityOutput{}) + pulumi.RegisterOutputType(DirectSplunkObservabilityArrayOutput{}) + pulumi.RegisterOutputType(DirectSplunkObservabilityMapOutput{}) +} diff --git a/sdk/go/nobl9/directSumologic.go b/sdk/go/nobl9/directSumologic.go new file mode 100644 index 0000000..7655c9f --- /dev/null +++ b/sdk/go/nobl9/directSumologic.go @@ -0,0 +1,390 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Sumo Logic is an observability platform that provides visibility into AWS, Azure, and GCP cloud applications and infrastructure. Nobl9 connects with Sumo Logic to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [Sumo Logic Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-direct). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectSumologic(ctx, "test-sumologic", &nobl9.DirectSumologicArgs{ +// AccessId: pulumi.String("secret"), +// AccessKey: pulumi.String("secret"), +// Description: pulumi.String("desc"), +// Project: pulumi.String("terraform"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// }, +// Url: pulumi.String("http://web.net"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectSumologic struct { + pulumi.CustomResourceState + + // [required] | Sumo Logic API Access ID. + AccessId pulumi.StringOutput `pulumi:"accessId"` + // [required] | Sumo Logic API Access Key. + AccessKey pulumi.StringOutput `pulumi:"accessKey"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectSumologicQueryDelayPtrOutput `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` + // Sumo Logic API URL. + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewDirectSumologic registers a new resource with the given unique name, arguments, and options. +func NewDirectSumologic(ctx *pulumi.Context, + name string, args *DirectSumologicArgs, opts ...pulumi.ResourceOption) (*DirectSumologic, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectSumologic + err := ctx.RegisterResource("nobl9:index/directSumologic:DirectSumologic", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectSumologic gets an existing DirectSumologic 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 GetDirectSumologic(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectSumologicState, opts ...pulumi.ResourceOption) (*DirectSumologic, error) { + var resource DirectSumologic + err := ctx.ReadResource("nobl9:index/directSumologic:DirectSumologic", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectSumologic resources. +type directSumologicState struct { + // [required] | Sumo Logic API Access ID. + AccessId *string `pulumi:"accessId"` + // [required] | Sumo Logic API Access Key. + AccessKey *string `pulumi:"accessKey"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectSumologicQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` + // Sumo Logic API URL. + Url *string `pulumi:"url"` +} + +type DirectSumologicState struct { + // [required] | Sumo Logic API Access ID. + AccessId pulumi.StringPtrInput + // [required] | Sumo Logic API Access Key. + AccessKey pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectSumologicQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput + // Sumo Logic API URL. + Url pulumi.StringPtrInput +} + +func (DirectSumologicState) ElementType() reflect.Type { + return reflect.TypeOf((*directSumologicState)(nil)).Elem() +} + +type directSumologicArgs struct { + // [required] | Sumo Logic API Access ID. + AccessId *string `pulumi:"accessId"` + // [required] | Sumo Logic API Access Key. + AccessKey *string `pulumi:"accessKey"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectSumologicQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // Sumo Logic API URL. + Url string `pulumi:"url"` +} + +// The set of arguments for constructing a DirectSumologic resource. +type DirectSumologicArgs struct { + // [required] | Sumo Logic API Access ID. + AccessId pulumi.StringPtrInput + // [required] | Sumo Logic API Access Key. + AccessKey pulumi.StringPtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectSumologicQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // Sumo Logic API URL. + Url pulumi.StringInput +} + +func (DirectSumologicArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directSumologicArgs)(nil)).Elem() +} + +type DirectSumologicInput interface { + pulumi.Input + + ToDirectSumologicOutput() DirectSumologicOutput + ToDirectSumologicOutputWithContext(ctx context.Context) DirectSumologicOutput +} + +func (*DirectSumologic) ElementType() reflect.Type { + return reflect.TypeOf((**DirectSumologic)(nil)).Elem() +} + +func (i *DirectSumologic) ToDirectSumologicOutput() DirectSumologicOutput { + return i.ToDirectSumologicOutputWithContext(context.Background()) +} + +func (i *DirectSumologic) ToDirectSumologicOutputWithContext(ctx context.Context) DirectSumologicOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSumologicOutput) +} + +// DirectSumologicArrayInput is an input type that accepts DirectSumologicArray and DirectSumologicArrayOutput values. +// You can construct a concrete instance of `DirectSumologicArrayInput` via: +// +// DirectSumologicArray{ DirectSumologicArgs{...} } +type DirectSumologicArrayInput interface { + pulumi.Input + + ToDirectSumologicArrayOutput() DirectSumologicArrayOutput + ToDirectSumologicArrayOutputWithContext(context.Context) DirectSumologicArrayOutput +} + +type DirectSumologicArray []DirectSumologicInput + +func (DirectSumologicArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectSumologic)(nil)).Elem() +} + +func (i DirectSumologicArray) ToDirectSumologicArrayOutput() DirectSumologicArrayOutput { + return i.ToDirectSumologicArrayOutputWithContext(context.Background()) +} + +func (i DirectSumologicArray) ToDirectSumologicArrayOutputWithContext(ctx context.Context) DirectSumologicArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSumologicArrayOutput) +} + +// DirectSumologicMapInput is an input type that accepts DirectSumologicMap and DirectSumologicMapOutput values. +// You can construct a concrete instance of `DirectSumologicMapInput` via: +// +// DirectSumologicMap{ "key": DirectSumologicArgs{...} } +type DirectSumologicMapInput interface { + pulumi.Input + + ToDirectSumologicMapOutput() DirectSumologicMapOutput + ToDirectSumologicMapOutputWithContext(context.Context) DirectSumologicMapOutput +} + +type DirectSumologicMap map[string]DirectSumologicInput + +func (DirectSumologicMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectSumologic)(nil)).Elem() +} + +func (i DirectSumologicMap) ToDirectSumologicMapOutput() DirectSumologicMapOutput { + return i.ToDirectSumologicMapOutputWithContext(context.Background()) +} + +func (i DirectSumologicMap) ToDirectSumologicMapOutputWithContext(ctx context.Context) DirectSumologicMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSumologicMapOutput) +} + +type DirectSumologicOutput struct{ *pulumi.OutputState } + +func (DirectSumologicOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectSumologic)(nil)).Elem() +} + +func (o DirectSumologicOutput) ToDirectSumologicOutput() DirectSumologicOutput { + return o +} + +func (o DirectSumologicOutput) ToDirectSumologicOutputWithContext(ctx context.Context) DirectSumologicOutput { + return o +} + +// [required] | Sumo Logic API Access ID. +func (o DirectSumologicOutput) AccessId() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSumologic) pulumi.StringOutput { return v.AccessId }).(pulumi.StringOutput) +} + +// [required] | Sumo Logic API Access Key. +func (o DirectSumologicOutput) AccessKey() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSumologic) pulumi.StringOutput { return v.AccessKey }).(pulumi.StringOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectSumologicOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectSumologic) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectSumologicOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectSumologic) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectSumologicOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSumologic) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectSumologicOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSumologic) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectSumologicOutput) QueryDelay() DirectSumologicQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectSumologic) DirectSumologicQueryDelayPtrOutput { return v.QueryDelay }).(DirectSumologicQueryDelayPtrOutput) +} + +// Source of Metrics and/or Services. +func (o DirectSumologicOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectSumologic) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectSumologicOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSumologic) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Sumo Logic API URL. +func (o DirectSumologicOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *DirectSumologic) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type DirectSumologicArrayOutput struct{ *pulumi.OutputState } + +func (DirectSumologicArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectSumologic)(nil)).Elem() +} + +func (o DirectSumologicArrayOutput) ToDirectSumologicArrayOutput() DirectSumologicArrayOutput { + return o +} + +func (o DirectSumologicArrayOutput) ToDirectSumologicArrayOutputWithContext(ctx context.Context) DirectSumologicArrayOutput { + return o +} + +func (o DirectSumologicArrayOutput) Index(i pulumi.IntInput) DirectSumologicOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectSumologic { + return vs[0].([]*DirectSumologic)[vs[1].(int)] + }).(DirectSumologicOutput) +} + +type DirectSumologicMapOutput struct{ *pulumi.OutputState } + +func (DirectSumologicMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectSumologic)(nil)).Elem() +} + +func (o DirectSumologicMapOutput) ToDirectSumologicMapOutput() DirectSumologicMapOutput { + return o +} + +func (o DirectSumologicMapOutput) ToDirectSumologicMapOutputWithContext(ctx context.Context) DirectSumologicMapOutput { + return o +} + +func (o DirectSumologicMapOutput) MapIndex(k pulumi.StringInput) DirectSumologicOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectSumologic { + return vs[0].(map[string]*DirectSumologic)[vs[1].(string)] + }).(DirectSumologicOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectSumologicInput)(nil)).Elem(), &DirectSumologic{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSumologicArrayInput)(nil)).Elem(), DirectSumologicArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSumologicMapInput)(nil)).Elem(), DirectSumologicMap{}) + pulumi.RegisterOutputType(DirectSumologicOutput{}) + pulumi.RegisterOutputType(DirectSumologicArrayOutput{}) + pulumi.RegisterOutputType(DirectSumologicMapOutput{}) +} diff --git a/sdk/go/nobl9/directThousandeyes.go b/sdk/go/nobl9/directThousandeyes.go new file mode 100644 index 0000000..fe47882 --- /dev/null +++ b/sdk/go/nobl9/directThousandeyes.go @@ -0,0 +1,356 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ThousandEyes monitors the performance of both local and wide-area networks. ThousandEyes combines Internet and WAN visibility, browser synthetics, end-user monitoring, and Internet Insights to deliver a holistic view of your hybrid digital ecosystem – across cloud, SaaS, and the Internet. It's a SaaS-based tool that helps troubleshoot application delivery and maps Internet performance. Nobl9 connects with ThousandEyes to collect SLI measurements and compare them to SLO targets. +// +// For more information, refer to [ThousandEyes Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-direct). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewDirectThousandeyes(ctx, "test-thousandeyes", &nobl9.DirectThousandeyesArgs{ +// Description: pulumi.String("desc"), +// OauthBearerToken: pulumi.String("secret"), +// Project: pulumi.String("terraform"), +// SourceOfs: pulumi.StringArray{ +// pulumi.String("Metrics"), +// pulumi.String("Services"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/ +type DirectThousandeyes struct { + pulumi.CustomResourceState + + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // [required] | ThousandEyes OAuth Bearer Token. + OauthBearerToken pulumi.StringOutput `pulumi:"oauthBearerToken"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectThousandeyesQueryDelayPtrOutput `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayOutput `pulumi:"sourceOfs"` + // The status of the created direct. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewDirectThousandeyes registers a new resource with the given unique name, arguments, and options. +func NewDirectThousandeyes(ctx *pulumi.Context, + name string, args *DirectThousandeyesArgs, opts ...pulumi.ResourceOption) (*DirectThousandeyes, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.SourceOfs == nil { + return nil, errors.New("invalid value for required argument 'SourceOfs'") + } + opts = pkgResourceDefaultOpts(opts) + var resource DirectThousandeyes + err := ctx.RegisterResource("nobl9:index/directThousandeyes:DirectThousandeyes", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDirectThousandeyes gets an existing DirectThousandeyes 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 GetDirectThousandeyes(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DirectThousandeyesState, opts ...pulumi.ResourceOption) (*DirectThousandeyes, error) { + var resource DirectThousandeyes + err := ctx.ReadResource("nobl9:index/directThousandeyes:DirectThousandeyes", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DirectThousandeyes resources. +type directThousandeyesState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // [required] | ThousandEyes OAuth Bearer Token. + OauthBearerToken *string `pulumi:"oauthBearerToken"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectThousandeyesQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` + // The status of the created direct. + Status *string `pulumi:"status"` +} + +type DirectThousandeyesState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // [required] | ThousandEyes OAuth Bearer Token. + OauthBearerToken pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectThousandeyesQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput + // The status of the created direct. + Status pulumi.StringPtrInput +} + +func (DirectThousandeyesState) ElementType() reflect.Type { + return reflect.TypeOf((*directThousandeyesState)(nil)).Elem() +} + +type directThousandeyesArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // [required] | ThousandEyes OAuth Bearer Token. + OauthBearerToken *string `pulumi:"oauthBearerToken"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay *DirectThousandeyesQueryDelay `pulumi:"queryDelay"` + // Source of Metrics and/or Services. + SourceOfs []string `pulumi:"sourceOfs"` +} + +// The set of arguments for constructing a DirectThousandeyes resource. +type DirectThousandeyesArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // [required] | ThousandEyes OAuth Bearer Token. + OauthBearerToken pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + QueryDelay DirectThousandeyesQueryDelayPtrInput + // Source of Metrics and/or Services. + SourceOfs pulumi.StringArrayInput +} + +func (DirectThousandeyesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*directThousandeyesArgs)(nil)).Elem() +} + +type DirectThousandeyesInput interface { + pulumi.Input + + ToDirectThousandeyesOutput() DirectThousandeyesOutput + ToDirectThousandeyesOutputWithContext(ctx context.Context) DirectThousandeyesOutput +} + +func (*DirectThousandeyes) ElementType() reflect.Type { + return reflect.TypeOf((**DirectThousandeyes)(nil)).Elem() +} + +func (i *DirectThousandeyes) ToDirectThousandeyesOutput() DirectThousandeyesOutput { + return i.ToDirectThousandeyesOutputWithContext(context.Background()) +} + +func (i *DirectThousandeyes) ToDirectThousandeyesOutputWithContext(ctx context.Context) DirectThousandeyesOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectThousandeyesOutput) +} + +// DirectThousandeyesArrayInput is an input type that accepts DirectThousandeyesArray and DirectThousandeyesArrayOutput values. +// You can construct a concrete instance of `DirectThousandeyesArrayInput` via: +// +// DirectThousandeyesArray{ DirectThousandeyesArgs{...} } +type DirectThousandeyesArrayInput interface { + pulumi.Input + + ToDirectThousandeyesArrayOutput() DirectThousandeyesArrayOutput + ToDirectThousandeyesArrayOutputWithContext(context.Context) DirectThousandeyesArrayOutput +} + +type DirectThousandeyesArray []DirectThousandeyesInput + +func (DirectThousandeyesArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectThousandeyes)(nil)).Elem() +} + +func (i DirectThousandeyesArray) ToDirectThousandeyesArrayOutput() DirectThousandeyesArrayOutput { + return i.ToDirectThousandeyesArrayOutputWithContext(context.Background()) +} + +func (i DirectThousandeyesArray) ToDirectThousandeyesArrayOutputWithContext(ctx context.Context) DirectThousandeyesArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectThousandeyesArrayOutput) +} + +// DirectThousandeyesMapInput is an input type that accepts DirectThousandeyesMap and DirectThousandeyesMapOutput values. +// You can construct a concrete instance of `DirectThousandeyesMapInput` via: +// +// DirectThousandeyesMap{ "key": DirectThousandeyesArgs{...} } +type DirectThousandeyesMapInput interface { + pulumi.Input + + ToDirectThousandeyesMapOutput() DirectThousandeyesMapOutput + ToDirectThousandeyesMapOutputWithContext(context.Context) DirectThousandeyesMapOutput +} + +type DirectThousandeyesMap map[string]DirectThousandeyesInput + +func (DirectThousandeyesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectThousandeyes)(nil)).Elem() +} + +func (i DirectThousandeyesMap) ToDirectThousandeyesMapOutput() DirectThousandeyesMapOutput { + return i.ToDirectThousandeyesMapOutputWithContext(context.Background()) +} + +func (i DirectThousandeyesMap) ToDirectThousandeyesMapOutputWithContext(ctx context.Context) DirectThousandeyesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectThousandeyesMapOutput) +} + +type DirectThousandeyesOutput struct{ *pulumi.OutputState } + +func (DirectThousandeyesOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectThousandeyes)(nil)).Elem() +} + +func (o DirectThousandeyesOutput) ToDirectThousandeyesOutput() DirectThousandeyesOutput { + return o +} + +func (o DirectThousandeyesOutput) ToDirectThousandeyesOutputWithContext(ctx context.Context) DirectThousandeyesOutput { + return o +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o DirectThousandeyesOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectThousandeyes) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o DirectThousandeyesOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectThousandeyes) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectThousandeyesOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DirectThousandeyes) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// [required] | ThousandEyes OAuth Bearer Token. +func (o DirectThousandeyesOutput) OauthBearerToken() pulumi.StringOutput { + return o.ApplyT(func(v *DirectThousandeyes) pulumi.StringOutput { return v.OauthBearerToken }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o DirectThousandeyesOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *DirectThousandeyes) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. +func (o DirectThousandeyesOutput) QueryDelay() DirectThousandeyesQueryDelayPtrOutput { + return o.ApplyT(func(v *DirectThousandeyes) DirectThousandeyesQueryDelayPtrOutput { return v.QueryDelay }).(DirectThousandeyesQueryDelayPtrOutput) +} + +// Source of Metrics and/or Services. +func (o DirectThousandeyesOutput) SourceOfs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DirectThousandeyes) pulumi.StringArrayOutput { return v.SourceOfs }).(pulumi.StringArrayOutput) +} + +// The status of the created direct. +func (o DirectThousandeyesOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *DirectThousandeyes) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +type DirectThousandeyesArrayOutput struct{ *pulumi.OutputState } + +func (DirectThousandeyesArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DirectThousandeyes)(nil)).Elem() +} + +func (o DirectThousandeyesArrayOutput) ToDirectThousandeyesArrayOutput() DirectThousandeyesArrayOutput { + return o +} + +func (o DirectThousandeyesArrayOutput) ToDirectThousandeyesArrayOutputWithContext(ctx context.Context) DirectThousandeyesArrayOutput { + return o +} + +func (o DirectThousandeyesArrayOutput) Index(i pulumi.IntInput) DirectThousandeyesOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DirectThousandeyes { + return vs[0].([]*DirectThousandeyes)[vs[1].(int)] + }).(DirectThousandeyesOutput) +} + +type DirectThousandeyesMapOutput struct{ *pulumi.OutputState } + +func (DirectThousandeyesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DirectThousandeyes)(nil)).Elem() +} + +func (o DirectThousandeyesMapOutput) ToDirectThousandeyesMapOutput() DirectThousandeyesMapOutput { + return o +} + +func (o DirectThousandeyesMapOutput) ToDirectThousandeyesMapOutputWithContext(ctx context.Context) DirectThousandeyesMapOutput { + return o +} + +func (o DirectThousandeyesMapOutput) MapIndex(k pulumi.StringInput) DirectThousandeyesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DirectThousandeyes { + return vs[0].(map[string]*DirectThousandeyes)[vs[1].(string)] + }).(DirectThousandeyesOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectThousandeyesInput)(nil)).Elem(), &DirectThousandeyes{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectThousandeyesArrayInput)(nil)).Elem(), DirectThousandeyesArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectThousandeyesMapInput)(nil)).Elem(), DirectThousandeyesMap{}) + pulumi.RegisterOutputType(DirectThousandeyesOutput{}) + pulumi.RegisterOutputType(DirectThousandeyesArrayOutput{}) + pulumi.RegisterOutputType(DirectThousandeyesMapOutput{}) +} diff --git a/sdk/go/nobl9/doc.go b/sdk/go/nobl9/doc.go new file mode 100644 index 0000000..f229139 --- /dev/null +++ b/sdk/go/nobl9/doc.go @@ -0,0 +1,3 @@ +// A Pulumi package for creating and managing Nobl9 cloud resources. + +package nobl9 diff --git a/sdk/go/nobl9/init.go b/sdk/go/nobl9/init.go new file mode 100644 index 0000000..7fdc9b5 --- /dev/null +++ b/sdk/go/nobl9/init.go @@ -0,0 +1,272 @@ +// 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 nobl9 + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "nobl9:index/agent:Agent": + r = &Agent{} + case "nobl9:index/alertMethodDiscord:AlertMethodDiscord": + r = &AlertMethodDiscord{} + case "nobl9:index/alertMethodEmail:AlertMethodEmail": + r = &AlertMethodEmail{} + case "nobl9:index/alertMethodJira:AlertMethodJira": + r = &AlertMethodJira{} + case "nobl9:index/alertMethodMsteams:AlertMethodMsteams": + r = &AlertMethodMsteams{} + case "nobl9:index/alertMethodOpsgenie:AlertMethodOpsgenie": + r = &AlertMethodOpsgenie{} + case "nobl9:index/alertMethodPagerduty:AlertMethodPagerduty": + r = &AlertMethodPagerduty{} + case "nobl9:index/alertMethodServicenow:AlertMethodServicenow": + r = &AlertMethodServicenow{} + case "nobl9:index/alertMethodSlack:AlertMethodSlack": + r = &AlertMethodSlack{} + case "nobl9:index/alertMethodWebhook:AlertMethodWebhook": + r = &AlertMethodWebhook{} + case "nobl9:index/alertPolicy:AlertPolicy": + r = &AlertPolicy{} + case "nobl9:index/directAppdynamics:DirectAppdynamics": + r = &DirectAppdynamics{} + case "nobl9:index/directBigquery:DirectBigquery": + r = &DirectBigquery{} + case "nobl9:index/directCloudwatch:DirectCloudwatch": + r = &DirectCloudwatch{} + case "nobl9:index/directDatadog:DirectDatadog": + r = &DirectDatadog{} + case "nobl9:index/directDynatrace:DirectDynatrace": + r = &DirectDynatrace{} + case "nobl9:index/directGcm:DirectGcm": + r = &DirectGcm{} + case "nobl9:index/directInfluxdb:DirectInfluxdb": + r = &DirectInfluxdb{} + case "nobl9:index/directInstana:DirectInstana": + r = &DirectInstana{} + case "nobl9:index/directLightstep:DirectLightstep": + r = &DirectLightstep{} + case "nobl9:index/directNewrelic:DirectNewrelic": + r = &DirectNewrelic{} + case "nobl9:index/directPingdom:DirectPingdom": + r = &DirectPingdom{} + case "nobl9:index/directRedshift:DirectRedshift": + r = &DirectRedshift{} + case "nobl9:index/directSplunk:DirectSplunk": + r = &DirectSplunk{} + case "nobl9:index/directSplunkObservability:DirectSplunkObservability": + r = &DirectSplunkObservability{} + case "nobl9:index/directSumologic:DirectSumologic": + r = &DirectSumologic{} + case "nobl9:index/directThousandeyes:DirectThousandeyes": + r = &DirectThousandeyes{} + case "nobl9:index/project:Project": + r = &Project{} + case "nobl9:index/roleBinding:RoleBinding": + r = &RoleBinding{} + case "nobl9:index/service:Service": + r = &Service{} + case "nobl9:index/slo:Slo": + r = &Slo{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +type pkg struct { + version semver.Version +} + +func (p *pkg) Version() semver.Version { + return p.version +} + +func (p *pkg) ConstructProvider(ctx *pulumi.Context, name, typ, urn string) (pulumi.ProviderResource, error) { + if typ != "pulumi:providers:nobl9" { + return nil, fmt.Errorf("unknown provider type: %s", typ) + } + + r := &Provider{} + err := ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return r, err +} + +func init() { + version, _ := PkgVersion() + pulumi.RegisterResourceModule( + "nobl9", + "index/agent", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/alertMethodDiscord", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/alertMethodEmail", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/alertMethodJira", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/alertMethodMsteams", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/alertMethodOpsgenie", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/alertMethodPagerduty", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/alertMethodServicenow", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/alertMethodSlack", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/alertMethodWebhook", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/alertPolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directAppdynamics", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directBigquery", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directCloudwatch", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directDatadog", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directDynatrace", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directGcm", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directInfluxdb", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directInstana", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directLightstep", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directNewrelic", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directPingdom", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directRedshift", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directSplunk", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directSplunkObservability", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directSumologic", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/directThousandeyes", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/project", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/roleBinding", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/service", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nobl9", + "index/slo", + &module{version}, + ) + pulumi.RegisterResourcePackage( + "nobl9", + &pkg{version}, + ) +} diff --git a/sdk/go/nobl9/project.go b/sdk/go/nobl9/project.go new file mode 100644 index 0000000..2be2631 --- /dev/null +++ b/sdk/go/nobl9/project.go @@ -0,0 +1,310 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// **Projects** are the primary logical grouping of resources in the Nobl9 platform. All Nobl9 resources, such as data sources, SLOs, and alerts, are created within a project. +// +// Access controls at the project level enable users to control who can see and change these resources. For example, you can allow all of your users to view the SLOs in a given project, but only a few users to make changes. +// +// For more details, refer to [Project configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#project). +// +// ## Example Usage +// +// Here's an example of Project resource configuration: +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewProject(ctx, "this", &nobl9.ProjectArgs{ +// Description: pulumi.String("An example N9 Terraform project"), +// DisplayName: pulumi.String("My Project"), +// Labels: ProjectLabelArray{ +// &ProjectLabelArgs{ +// Key: pulumi.String("env"), +// Values: pulumi.StringArray{ +// pulumi.String("dev"), +// pulumi.String("prod"), +// }, +// }, +// &ProjectLabelArgs{ +// Key: pulumi.String("team"), +// Values: pulumi.StringArray{ +// pulumi.String("red"), +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Useful Links +// +// [Projects in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/#projects) +// +// [Projects YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#project) +type Project struct { + pulumi.CustomResourceState + + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + Labels ProjectLabelArrayOutput `pulumi:"labels"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` +} + +// NewProject registers a new resource with the given unique name, arguments, and options. +func NewProject(ctx *pulumi.Context, + name string, args *ProjectArgs, opts ...pulumi.ResourceOption) (*Project, error) { + if args == nil { + args = &ProjectArgs{} + } + + opts = pkgResourceDefaultOpts(opts) + var resource Project + err := ctx.RegisterResource("nobl9:index/project:Project", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProject gets an existing Project 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 GetProject(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectState, opts ...pulumi.ResourceOption) (*Project, error) { + var resource Project + err := ctx.ReadResource("nobl9:index/project:Project", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Project resources. +type projectState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + Labels []ProjectLabel `pulumi:"labels"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` +} + +type ProjectState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + Labels ProjectLabelArrayInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput +} + +func (ProjectState) ElementType() reflect.Type { + return reflect.TypeOf((*projectState)(nil)).Elem() +} + +type projectArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + Labels []ProjectLabel `pulumi:"labels"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a Project resource. +type ProjectArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + Labels ProjectLabelArrayInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput +} + +func (ProjectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectArgs)(nil)).Elem() +} + +type ProjectInput interface { + pulumi.Input + + ToProjectOutput() ProjectOutput + ToProjectOutputWithContext(ctx context.Context) ProjectOutput +} + +func (*Project) ElementType() reflect.Type { + return reflect.TypeOf((**Project)(nil)).Elem() +} + +func (i *Project) ToProjectOutput() ProjectOutput { + return i.ToProjectOutputWithContext(context.Background()) +} + +func (i *Project) ToProjectOutputWithContext(ctx context.Context) ProjectOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectOutput) +} + +// ProjectArrayInput is an input type that accepts ProjectArray and ProjectArrayOutput values. +// You can construct a concrete instance of `ProjectArrayInput` via: +// +// ProjectArray{ ProjectArgs{...} } +type ProjectArrayInput interface { + pulumi.Input + + ToProjectArrayOutput() ProjectArrayOutput + ToProjectArrayOutputWithContext(context.Context) ProjectArrayOutput +} + +type ProjectArray []ProjectInput + +func (ProjectArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Project)(nil)).Elem() +} + +func (i ProjectArray) ToProjectArrayOutput() ProjectArrayOutput { + return i.ToProjectArrayOutputWithContext(context.Background()) +} + +func (i ProjectArray) ToProjectArrayOutputWithContext(ctx context.Context) ProjectArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectArrayOutput) +} + +// ProjectMapInput is an input type that accepts ProjectMap and ProjectMapOutput values. +// You can construct a concrete instance of `ProjectMapInput` via: +// +// ProjectMap{ "key": ProjectArgs{...} } +type ProjectMapInput interface { + pulumi.Input + + ToProjectMapOutput() ProjectMapOutput + ToProjectMapOutputWithContext(context.Context) ProjectMapOutput +} + +type ProjectMap map[string]ProjectInput + +func (ProjectMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Project)(nil)).Elem() +} + +func (i ProjectMap) ToProjectMapOutput() ProjectMapOutput { + return i.ToProjectMapOutputWithContext(context.Background()) +} + +func (i ProjectMap) ToProjectMapOutputWithContext(ctx context.Context) ProjectMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectMapOutput) +} + +type ProjectOutput struct{ *pulumi.OutputState } + +func (ProjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Project)(nil)).Elem() +} + +func (o ProjectOutput) ToProjectOutput() ProjectOutput { + return o +} + +func (o ProjectOutput) ToProjectOutputWithContext(ctx context.Context) ProjectOutput { + return o +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o ProjectOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Project) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o ProjectOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Project) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. +func (o ProjectOutput) Labels() ProjectLabelArrayOutput { + return o.ApplyT(func(v *Project) ProjectLabelArrayOutput { return v.Labels }).(ProjectLabelArrayOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o ProjectOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +type ProjectArrayOutput struct{ *pulumi.OutputState } + +func (ProjectArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Project)(nil)).Elem() +} + +func (o ProjectArrayOutput) ToProjectArrayOutput() ProjectArrayOutput { + return o +} + +func (o ProjectArrayOutput) ToProjectArrayOutputWithContext(ctx context.Context) ProjectArrayOutput { + return o +} + +func (o ProjectArrayOutput) Index(i pulumi.IntInput) ProjectOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Project { + return vs[0].([]*Project)[vs[1].(int)] + }).(ProjectOutput) +} + +type ProjectMapOutput struct{ *pulumi.OutputState } + +func (ProjectMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Project)(nil)).Elem() +} + +func (o ProjectMapOutput) ToProjectMapOutput() ProjectMapOutput { + return o +} + +func (o ProjectMapOutput) ToProjectMapOutputWithContext(ctx context.Context) ProjectMapOutput { + return o +} + +func (o ProjectMapOutput) MapIndex(k pulumi.StringInput) ProjectOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Project { + return vs[0].(map[string]*Project)[vs[1].(string)] + }).(ProjectOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectInput)(nil)).Elem(), &Project{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectArrayInput)(nil)).Elem(), ProjectArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectMapInput)(nil)).Elem(), ProjectMap{}) + pulumi.RegisterOutputType(ProjectOutput{}) + pulumi.RegisterOutputType(ProjectArrayOutput{}) + pulumi.RegisterOutputType(ProjectMapOutput{}) +} diff --git a/sdk/go/nobl9/provider.go b/sdk/go/nobl9/provider.go new file mode 100644 index 0000000..ef7f06b --- /dev/null +++ b/sdk/go/nobl9/provider.go @@ -0,0 +1,187 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The provider type for the nobl9 package. By default, resources use package-wide configuration +// settings, however an explicit `Provider` instance may be created and passed during resource +// construction to achieve fine-grained programmatic control over provider settings. See the +// [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information. +type Provider struct { + pulumi.ProviderResourceState + + // the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to + // Nobl9. + ClientId pulumi.StringOutput `pulumi:"clientId"` + // the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect + // to Nobl9. + ClientSecret pulumi.StringOutput `pulumi:"clientSecret"` + // Nobl9 API URL. + IngestUrl pulumi.StringPtrOutput `pulumi:"ingestUrl"` + // Authorization service configuration. + OktaAuthServer pulumi.StringPtrOutput `pulumi:"oktaAuthServer"` + // Authorization service URL. + OktaOrgUrl pulumi.StringPtrOutput `pulumi:"oktaOrgUrl"` + // Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that + // contains resources managed by the Nobl9 Terraform provider. + Organization pulumi.StringOutput `pulumi:"organization"` + // Nobl9 project used when importing resources. + Project pulumi.StringOutput `pulumi:"project"` +} + +// NewProvider registers a new resource with the given unique name, arguments, and options. +func NewProvider(ctx *pulumi.Context, + name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ClientId == nil { + return nil, errors.New("invalid value for required argument 'ClientId'") + } + if args.ClientSecret == nil { + return nil, errors.New("invalid value for required argument 'ClientSecret'") + } + if args.Organization == nil { + return nil, errors.New("invalid value for required argument 'Organization'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + opts = pkgResourceDefaultOpts(opts) + var resource Provider + err := ctx.RegisterResource("pulumi:providers:nobl9", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +type providerArgs struct { + // the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to + // Nobl9. + ClientId string `pulumi:"clientId"` + // the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect + // to Nobl9. + ClientSecret string `pulumi:"clientSecret"` + // Nobl9 API URL. + IngestUrl *string `pulumi:"ingestUrl"` + // Authorization service configuration. + OktaAuthServer *string `pulumi:"oktaAuthServer"` + // Authorization service URL. + OktaOrgUrl *string `pulumi:"oktaOrgUrl"` + // Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that + // contains resources managed by the Nobl9 Terraform provider. + Organization string `pulumi:"organization"` + // Nobl9 project used when importing resources. + Project string `pulumi:"project"` +} + +// The set of arguments for constructing a Provider resource. +type ProviderArgs struct { + // the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to + // Nobl9. + ClientId pulumi.StringInput + // the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect + // to Nobl9. + ClientSecret pulumi.StringInput + // Nobl9 API URL. + IngestUrl pulumi.StringPtrInput + // Authorization service configuration. + OktaAuthServer pulumi.StringPtrInput + // Authorization service URL. + OktaOrgUrl pulumi.StringPtrInput + // Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that + // contains resources managed by the Nobl9 Terraform provider. + Organization pulumi.StringInput + // Nobl9 project used when importing resources. + Project pulumi.StringInput +} + +func (ProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*providerArgs)(nil)).Elem() +} + +type ProviderInput interface { + pulumi.Input + + ToProviderOutput() ProviderOutput + ToProviderOutputWithContext(ctx context.Context) ProviderOutput +} + +func (*Provider) ElementType() reflect.Type { + return reflect.TypeOf((**Provider)(nil)).Elem() +} + +func (i *Provider) ToProviderOutput() ProviderOutput { + return i.ToProviderOutputWithContext(context.Background()) +} + +func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput) +} + +type ProviderOutput struct{ *pulumi.OutputState } + +func (ProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Provider)(nil)).Elem() +} + +func (o ProviderOutput) ToProviderOutput() ProviderOutput { + return o +} + +func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { + return o +} + +// the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to +// Nobl9. +func (o ProviderOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v *Provider) pulumi.StringOutput { return v.ClientId }).(pulumi.StringOutput) +} + +// the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect +// to Nobl9. +func (o ProviderOutput) ClientSecret() pulumi.StringOutput { + return o.ApplyT(func(v *Provider) pulumi.StringOutput { return v.ClientSecret }).(pulumi.StringOutput) +} + +// Nobl9 API URL. +func (o ProviderOutput) IngestUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.IngestUrl }).(pulumi.StringPtrOutput) +} + +// Authorization service configuration. +func (o ProviderOutput) OktaAuthServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.OktaAuthServer }).(pulumi.StringPtrOutput) +} + +// Authorization service URL. +func (o ProviderOutput) OktaOrgUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.OktaOrgUrl }).(pulumi.StringPtrOutput) +} + +// Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that +// contains resources managed by the Nobl9 Terraform provider. +func (o ProviderOutput) Organization() pulumi.StringOutput { + return o.ApplyT(func(v *Provider) pulumi.StringOutput { return v.Organization }).(pulumi.StringOutput) +} + +// Nobl9 project used when importing resources. +func (o ProviderOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *Provider) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProviderInput)(nil)).Elem(), &Provider{}) + pulumi.RegisterOutputType(ProviderOutput{}) +} diff --git a/sdk/go/nobl9/pulumi-plugin.json b/sdk/go/nobl9/pulumi-plugin.json new file mode 100644 index 0000000..44404ee --- /dev/null +++ b/sdk/go/nobl9/pulumi-plugin.json @@ -0,0 +1,5 @@ +{ + "resource": true, + "name": "nobl9", + "server": "https://github.com/piclemx/pulumi-nobl9/releases/" +} diff --git a/sdk/go/nobl9/pulumiTypes.go b/sdk/go/nobl9/pulumiTypes.go new file mode 100644 index 0000000..eef1ae8 --- /dev/null +++ b/sdk/go/nobl9/pulumiTypes.go @@ -0,0 +1,18819 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type AgentAmazonPrometheusConfig struct { + // AWS region e.g., eu-central-1 + Region string `pulumi:"region"` + // Base URL to Amazon Prometheus server. + Url string `pulumi:"url"` +} + +// AgentAmazonPrometheusConfigInput is an input type that accepts AgentAmazonPrometheusConfigArgs and AgentAmazonPrometheusConfigOutput values. +// You can construct a concrete instance of `AgentAmazonPrometheusConfigInput` via: +// +// AgentAmazonPrometheusConfigArgs{...} +type AgentAmazonPrometheusConfigInput interface { + pulumi.Input + + ToAgentAmazonPrometheusConfigOutput() AgentAmazonPrometheusConfigOutput + ToAgentAmazonPrometheusConfigOutputWithContext(context.Context) AgentAmazonPrometheusConfigOutput +} + +type AgentAmazonPrometheusConfigArgs struct { + // AWS region e.g., eu-central-1 + Region pulumi.StringInput `pulumi:"region"` + // Base URL to Amazon Prometheus server. + Url pulumi.StringInput `pulumi:"url"` +} + +func (AgentAmazonPrometheusConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAmazonPrometheusConfig)(nil)).Elem() +} + +func (i AgentAmazonPrometheusConfigArgs) ToAgentAmazonPrometheusConfigOutput() AgentAmazonPrometheusConfigOutput { + return i.ToAgentAmazonPrometheusConfigOutputWithContext(context.Background()) +} + +func (i AgentAmazonPrometheusConfigArgs) ToAgentAmazonPrometheusConfigOutputWithContext(ctx context.Context) AgentAmazonPrometheusConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAmazonPrometheusConfigOutput) +} + +func (i AgentAmazonPrometheusConfigArgs) ToAgentAmazonPrometheusConfigPtrOutput() AgentAmazonPrometheusConfigPtrOutput { + return i.ToAgentAmazonPrometheusConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentAmazonPrometheusConfigArgs) ToAgentAmazonPrometheusConfigPtrOutputWithContext(ctx context.Context) AgentAmazonPrometheusConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAmazonPrometheusConfigOutput).ToAgentAmazonPrometheusConfigPtrOutputWithContext(ctx) +} + +// AgentAmazonPrometheusConfigPtrInput is an input type that accepts AgentAmazonPrometheusConfigArgs, AgentAmazonPrometheusConfigPtr and AgentAmazonPrometheusConfigPtrOutput values. +// You can construct a concrete instance of `AgentAmazonPrometheusConfigPtrInput` via: +// +// AgentAmazonPrometheusConfigArgs{...} +// +// or: +// +// nil +type AgentAmazonPrometheusConfigPtrInput interface { + pulumi.Input + + ToAgentAmazonPrometheusConfigPtrOutput() AgentAmazonPrometheusConfigPtrOutput + ToAgentAmazonPrometheusConfigPtrOutputWithContext(context.Context) AgentAmazonPrometheusConfigPtrOutput +} + +type agentAmazonPrometheusConfigPtrType AgentAmazonPrometheusConfigArgs + +func AgentAmazonPrometheusConfigPtr(v *AgentAmazonPrometheusConfigArgs) AgentAmazonPrometheusConfigPtrInput { + return (*agentAmazonPrometheusConfigPtrType)(v) +} + +func (*agentAmazonPrometheusConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAmazonPrometheusConfig)(nil)).Elem() +} + +func (i *agentAmazonPrometheusConfigPtrType) ToAgentAmazonPrometheusConfigPtrOutput() AgentAmazonPrometheusConfigPtrOutput { + return i.ToAgentAmazonPrometheusConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentAmazonPrometheusConfigPtrType) ToAgentAmazonPrometheusConfigPtrOutputWithContext(ctx context.Context) AgentAmazonPrometheusConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAmazonPrometheusConfigPtrOutput) +} + +type AgentAmazonPrometheusConfigOutput struct{ *pulumi.OutputState } + +func (AgentAmazonPrometheusConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAmazonPrometheusConfig)(nil)).Elem() +} + +func (o AgentAmazonPrometheusConfigOutput) ToAgentAmazonPrometheusConfigOutput() AgentAmazonPrometheusConfigOutput { + return o +} + +func (o AgentAmazonPrometheusConfigOutput) ToAgentAmazonPrometheusConfigOutputWithContext(ctx context.Context) AgentAmazonPrometheusConfigOutput { + return o +} + +func (o AgentAmazonPrometheusConfigOutput) ToAgentAmazonPrometheusConfigPtrOutput() AgentAmazonPrometheusConfigPtrOutput { + return o.ToAgentAmazonPrometheusConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentAmazonPrometheusConfigOutput) ToAgentAmazonPrometheusConfigPtrOutputWithContext(ctx context.Context) AgentAmazonPrometheusConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentAmazonPrometheusConfig) *AgentAmazonPrometheusConfig { + return &v + }).(AgentAmazonPrometheusConfigPtrOutput) +} + +// AWS region e.g., eu-central-1 +func (o AgentAmazonPrometheusConfigOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v AgentAmazonPrometheusConfig) string { return v.Region }).(pulumi.StringOutput) +} + +// Base URL to Amazon Prometheus server. +func (o AgentAmazonPrometheusConfigOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v AgentAmazonPrometheusConfig) string { return v.Url }).(pulumi.StringOutput) +} + +type AgentAmazonPrometheusConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentAmazonPrometheusConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAmazonPrometheusConfig)(nil)).Elem() +} + +func (o AgentAmazonPrometheusConfigPtrOutput) ToAgentAmazonPrometheusConfigPtrOutput() AgentAmazonPrometheusConfigPtrOutput { + return o +} + +func (o AgentAmazonPrometheusConfigPtrOutput) ToAgentAmazonPrometheusConfigPtrOutputWithContext(ctx context.Context) AgentAmazonPrometheusConfigPtrOutput { + return o +} + +func (o AgentAmazonPrometheusConfigPtrOutput) Elem() AgentAmazonPrometheusConfigOutput { + return o.ApplyT(func(v *AgentAmazonPrometheusConfig) AgentAmazonPrometheusConfig { + if v != nil { + return *v + } + var ret AgentAmazonPrometheusConfig + return ret + }).(AgentAmazonPrometheusConfigOutput) +} + +// AWS region e.g., eu-central-1 +func (o AgentAmazonPrometheusConfigPtrOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAmazonPrometheusConfig) *string { + if v == nil { + return nil + } + return &v.Region + }).(pulumi.StringPtrOutput) +} + +// Base URL to Amazon Prometheus server. +func (o AgentAmazonPrometheusConfigPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAmazonPrometheusConfig) *string { + if v == nil { + return nil + } + return &v.Url + }).(pulumi.StringPtrOutput) +} + +type AgentAppdynamicsConfig struct { + // Base URL to the AppDynamics Controller. + Url string `pulumi:"url"` +} + +// AgentAppdynamicsConfigInput is an input type that accepts AgentAppdynamicsConfigArgs and AgentAppdynamicsConfigOutput values. +// You can construct a concrete instance of `AgentAppdynamicsConfigInput` via: +// +// AgentAppdynamicsConfigArgs{...} +type AgentAppdynamicsConfigInput interface { + pulumi.Input + + ToAgentAppdynamicsConfigOutput() AgentAppdynamicsConfigOutput + ToAgentAppdynamicsConfigOutputWithContext(context.Context) AgentAppdynamicsConfigOutput +} + +type AgentAppdynamicsConfigArgs struct { + // Base URL to the AppDynamics Controller. + Url pulumi.StringInput `pulumi:"url"` +} + +func (AgentAppdynamicsConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAppdynamicsConfig)(nil)).Elem() +} + +func (i AgentAppdynamicsConfigArgs) ToAgentAppdynamicsConfigOutput() AgentAppdynamicsConfigOutput { + return i.ToAgentAppdynamicsConfigOutputWithContext(context.Background()) +} + +func (i AgentAppdynamicsConfigArgs) ToAgentAppdynamicsConfigOutputWithContext(ctx context.Context) AgentAppdynamicsConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAppdynamicsConfigOutput) +} + +func (i AgentAppdynamicsConfigArgs) ToAgentAppdynamicsConfigPtrOutput() AgentAppdynamicsConfigPtrOutput { + return i.ToAgentAppdynamicsConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentAppdynamicsConfigArgs) ToAgentAppdynamicsConfigPtrOutputWithContext(ctx context.Context) AgentAppdynamicsConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAppdynamicsConfigOutput).ToAgentAppdynamicsConfigPtrOutputWithContext(ctx) +} + +// AgentAppdynamicsConfigPtrInput is an input type that accepts AgentAppdynamicsConfigArgs, AgentAppdynamicsConfigPtr and AgentAppdynamicsConfigPtrOutput values. +// You can construct a concrete instance of `AgentAppdynamicsConfigPtrInput` via: +// +// AgentAppdynamicsConfigArgs{...} +// +// or: +// +// nil +type AgentAppdynamicsConfigPtrInput interface { + pulumi.Input + + ToAgentAppdynamicsConfigPtrOutput() AgentAppdynamicsConfigPtrOutput + ToAgentAppdynamicsConfigPtrOutputWithContext(context.Context) AgentAppdynamicsConfigPtrOutput +} + +type agentAppdynamicsConfigPtrType AgentAppdynamicsConfigArgs + +func AgentAppdynamicsConfigPtr(v *AgentAppdynamicsConfigArgs) AgentAppdynamicsConfigPtrInput { + return (*agentAppdynamicsConfigPtrType)(v) +} + +func (*agentAppdynamicsConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAppdynamicsConfig)(nil)).Elem() +} + +func (i *agentAppdynamicsConfigPtrType) ToAgentAppdynamicsConfigPtrOutput() AgentAppdynamicsConfigPtrOutput { + return i.ToAgentAppdynamicsConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentAppdynamicsConfigPtrType) ToAgentAppdynamicsConfigPtrOutputWithContext(ctx context.Context) AgentAppdynamicsConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAppdynamicsConfigPtrOutput) +} + +type AgentAppdynamicsConfigOutput struct{ *pulumi.OutputState } + +func (AgentAppdynamicsConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAppdynamicsConfig)(nil)).Elem() +} + +func (o AgentAppdynamicsConfigOutput) ToAgentAppdynamicsConfigOutput() AgentAppdynamicsConfigOutput { + return o +} + +func (o AgentAppdynamicsConfigOutput) ToAgentAppdynamicsConfigOutputWithContext(ctx context.Context) AgentAppdynamicsConfigOutput { + return o +} + +func (o AgentAppdynamicsConfigOutput) ToAgentAppdynamicsConfigPtrOutput() AgentAppdynamicsConfigPtrOutput { + return o.ToAgentAppdynamicsConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentAppdynamicsConfigOutput) ToAgentAppdynamicsConfigPtrOutputWithContext(ctx context.Context) AgentAppdynamicsConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentAppdynamicsConfig) *AgentAppdynamicsConfig { + return &v + }).(AgentAppdynamicsConfigPtrOutput) +} + +// Base URL to the AppDynamics Controller. +func (o AgentAppdynamicsConfigOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v AgentAppdynamicsConfig) string { return v.Url }).(pulumi.StringOutput) +} + +type AgentAppdynamicsConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentAppdynamicsConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAppdynamicsConfig)(nil)).Elem() +} + +func (o AgentAppdynamicsConfigPtrOutput) ToAgentAppdynamicsConfigPtrOutput() AgentAppdynamicsConfigPtrOutput { + return o +} + +func (o AgentAppdynamicsConfigPtrOutput) ToAgentAppdynamicsConfigPtrOutputWithContext(ctx context.Context) AgentAppdynamicsConfigPtrOutput { + return o +} + +func (o AgentAppdynamicsConfigPtrOutput) Elem() AgentAppdynamicsConfigOutput { + return o.ApplyT(func(v *AgentAppdynamicsConfig) AgentAppdynamicsConfig { + if v != nil { + return *v + } + var ret AgentAppdynamicsConfig + return ret + }).(AgentAppdynamicsConfigOutput) +} + +// Base URL to the AppDynamics Controller. +func (o AgentAppdynamicsConfigPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAppdynamicsConfig) *string { + if v == nil { + return nil + } + return &v.Url + }).(pulumi.StringPtrOutput) +} + +type AgentBigqueryConfig struct { +} + +// AgentBigqueryConfigInput is an input type that accepts AgentBigqueryConfigArgs and AgentBigqueryConfigOutput values. +// You can construct a concrete instance of `AgentBigqueryConfigInput` via: +// +// AgentBigqueryConfigArgs{...} +type AgentBigqueryConfigInput interface { + pulumi.Input + + ToAgentBigqueryConfigOutput() AgentBigqueryConfigOutput + ToAgentBigqueryConfigOutputWithContext(context.Context) AgentBigqueryConfigOutput +} + +type AgentBigqueryConfigArgs struct { +} + +func (AgentBigqueryConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentBigqueryConfig)(nil)).Elem() +} + +func (i AgentBigqueryConfigArgs) ToAgentBigqueryConfigOutput() AgentBigqueryConfigOutput { + return i.ToAgentBigqueryConfigOutputWithContext(context.Background()) +} + +func (i AgentBigqueryConfigArgs) ToAgentBigqueryConfigOutputWithContext(ctx context.Context) AgentBigqueryConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentBigqueryConfigOutput) +} + +func (i AgentBigqueryConfigArgs) ToAgentBigqueryConfigPtrOutput() AgentBigqueryConfigPtrOutput { + return i.ToAgentBigqueryConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentBigqueryConfigArgs) ToAgentBigqueryConfigPtrOutputWithContext(ctx context.Context) AgentBigqueryConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentBigqueryConfigOutput).ToAgentBigqueryConfigPtrOutputWithContext(ctx) +} + +// AgentBigqueryConfigPtrInput is an input type that accepts AgentBigqueryConfigArgs, AgentBigqueryConfigPtr and AgentBigqueryConfigPtrOutput values. +// You can construct a concrete instance of `AgentBigqueryConfigPtrInput` via: +// +// AgentBigqueryConfigArgs{...} +// +// or: +// +// nil +type AgentBigqueryConfigPtrInput interface { + pulumi.Input + + ToAgentBigqueryConfigPtrOutput() AgentBigqueryConfigPtrOutput + ToAgentBigqueryConfigPtrOutputWithContext(context.Context) AgentBigqueryConfigPtrOutput +} + +type agentBigqueryConfigPtrType AgentBigqueryConfigArgs + +func AgentBigqueryConfigPtr(v *AgentBigqueryConfigArgs) AgentBigqueryConfigPtrInput { + return (*agentBigqueryConfigPtrType)(v) +} + +func (*agentBigqueryConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentBigqueryConfig)(nil)).Elem() +} + +func (i *agentBigqueryConfigPtrType) ToAgentBigqueryConfigPtrOutput() AgentBigqueryConfigPtrOutput { + return i.ToAgentBigqueryConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentBigqueryConfigPtrType) ToAgentBigqueryConfigPtrOutputWithContext(ctx context.Context) AgentBigqueryConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentBigqueryConfigPtrOutput) +} + +type AgentBigqueryConfigOutput struct{ *pulumi.OutputState } + +func (AgentBigqueryConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentBigqueryConfig)(nil)).Elem() +} + +func (o AgentBigqueryConfigOutput) ToAgentBigqueryConfigOutput() AgentBigqueryConfigOutput { + return o +} + +func (o AgentBigqueryConfigOutput) ToAgentBigqueryConfigOutputWithContext(ctx context.Context) AgentBigqueryConfigOutput { + return o +} + +func (o AgentBigqueryConfigOutput) ToAgentBigqueryConfigPtrOutput() AgentBigqueryConfigPtrOutput { + return o.ToAgentBigqueryConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentBigqueryConfigOutput) ToAgentBigqueryConfigPtrOutputWithContext(ctx context.Context) AgentBigqueryConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentBigqueryConfig) *AgentBigqueryConfig { + return &v + }).(AgentBigqueryConfigPtrOutput) +} + +type AgentBigqueryConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentBigqueryConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentBigqueryConfig)(nil)).Elem() +} + +func (o AgentBigqueryConfigPtrOutput) ToAgentBigqueryConfigPtrOutput() AgentBigqueryConfigPtrOutput { + return o +} + +func (o AgentBigqueryConfigPtrOutput) ToAgentBigqueryConfigPtrOutputWithContext(ctx context.Context) AgentBigqueryConfigPtrOutput { + return o +} + +func (o AgentBigqueryConfigPtrOutput) Elem() AgentBigqueryConfigOutput { + return o.ApplyT(func(v *AgentBigqueryConfig) AgentBigqueryConfig { + if v != nil { + return *v + } + var ret AgentBigqueryConfig + return ret + }).(AgentBigqueryConfigOutput) +} + +type AgentCloudwatchConfig struct { +} + +// AgentCloudwatchConfigInput is an input type that accepts AgentCloudwatchConfigArgs and AgentCloudwatchConfigOutput values. +// You can construct a concrete instance of `AgentCloudwatchConfigInput` via: +// +// AgentCloudwatchConfigArgs{...} +type AgentCloudwatchConfigInput interface { + pulumi.Input + + ToAgentCloudwatchConfigOutput() AgentCloudwatchConfigOutput + ToAgentCloudwatchConfigOutputWithContext(context.Context) AgentCloudwatchConfigOutput +} + +type AgentCloudwatchConfigArgs struct { +} + +func (AgentCloudwatchConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentCloudwatchConfig)(nil)).Elem() +} + +func (i AgentCloudwatchConfigArgs) ToAgentCloudwatchConfigOutput() AgentCloudwatchConfigOutput { + return i.ToAgentCloudwatchConfigOutputWithContext(context.Background()) +} + +func (i AgentCloudwatchConfigArgs) ToAgentCloudwatchConfigOutputWithContext(ctx context.Context) AgentCloudwatchConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentCloudwatchConfigOutput) +} + +func (i AgentCloudwatchConfigArgs) ToAgentCloudwatchConfigPtrOutput() AgentCloudwatchConfigPtrOutput { + return i.ToAgentCloudwatchConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentCloudwatchConfigArgs) ToAgentCloudwatchConfigPtrOutputWithContext(ctx context.Context) AgentCloudwatchConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentCloudwatchConfigOutput).ToAgentCloudwatchConfigPtrOutputWithContext(ctx) +} + +// AgentCloudwatchConfigPtrInput is an input type that accepts AgentCloudwatchConfigArgs, AgentCloudwatchConfigPtr and AgentCloudwatchConfigPtrOutput values. +// You can construct a concrete instance of `AgentCloudwatchConfigPtrInput` via: +// +// AgentCloudwatchConfigArgs{...} +// +// or: +// +// nil +type AgentCloudwatchConfigPtrInput interface { + pulumi.Input + + ToAgentCloudwatchConfigPtrOutput() AgentCloudwatchConfigPtrOutput + ToAgentCloudwatchConfigPtrOutputWithContext(context.Context) AgentCloudwatchConfigPtrOutput +} + +type agentCloudwatchConfigPtrType AgentCloudwatchConfigArgs + +func AgentCloudwatchConfigPtr(v *AgentCloudwatchConfigArgs) AgentCloudwatchConfigPtrInput { + return (*agentCloudwatchConfigPtrType)(v) +} + +func (*agentCloudwatchConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentCloudwatchConfig)(nil)).Elem() +} + +func (i *agentCloudwatchConfigPtrType) ToAgentCloudwatchConfigPtrOutput() AgentCloudwatchConfigPtrOutput { + return i.ToAgentCloudwatchConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentCloudwatchConfigPtrType) ToAgentCloudwatchConfigPtrOutputWithContext(ctx context.Context) AgentCloudwatchConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentCloudwatchConfigPtrOutput) +} + +type AgentCloudwatchConfigOutput struct{ *pulumi.OutputState } + +func (AgentCloudwatchConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentCloudwatchConfig)(nil)).Elem() +} + +func (o AgentCloudwatchConfigOutput) ToAgentCloudwatchConfigOutput() AgentCloudwatchConfigOutput { + return o +} + +func (o AgentCloudwatchConfigOutput) ToAgentCloudwatchConfigOutputWithContext(ctx context.Context) AgentCloudwatchConfigOutput { + return o +} + +func (o AgentCloudwatchConfigOutput) ToAgentCloudwatchConfigPtrOutput() AgentCloudwatchConfigPtrOutput { + return o.ToAgentCloudwatchConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentCloudwatchConfigOutput) ToAgentCloudwatchConfigPtrOutputWithContext(ctx context.Context) AgentCloudwatchConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentCloudwatchConfig) *AgentCloudwatchConfig { + return &v + }).(AgentCloudwatchConfigPtrOutput) +} + +type AgentCloudwatchConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentCloudwatchConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentCloudwatchConfig)(nil)).Elem() +} + +func (o AgentCloudwatchConfigPtrOutput) ToAgentCloudwatchConfigPtrOutput() AgentCloudwatchConfigPtrOutput { + return o +} + +func (o AgentCloudwatchConfigPtrOutput) ToAgentCloudwatchConfigPtrOutputWithContext(ctx context.Context) AgentCloudwatchConfigPtrOutput { + return o +} + +func (o AgentCloudwatchConfigPtrOutput) Elem() AgentCloudwatchConfigOutput { + return o.ApplyT(func(v *AgentCloudwatchConfig) AgentCloudwatchConfig { + if v != nil { + return *v + } + var ret AgentCloudwatchConfig + return ret + }).(AgentCloudwatchConfigOutput) +} + +type AgentDatadogConfig struct { + // `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union) + Site string `pulumi:"site"` +} + +// AgentDatadogConfigInput is an input type that accepts AgentDatadogConfigArgs and AgentDatadogConfigOutput values. +// You can construct a concrete instance of `AgentDatadogConfigInput` via: +// +// AgentDatadogConfigArgs{...} +type AgentDatadogConfigInput interface { + pulumi.Input + + ToAgentDatadogConfigOutput() AgentDatadogConfigOutput + ToAgentDatadogConfigOutputWithContext(context.Context) AgentDatadogConfigOutput +} + +type AgentDatadogConfigArgs struct { + // `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union) + Site pulumi.StringInput `pulumi:"site"` +} + +func (AgentDatadogConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentDatadogConfig)(nil)).Elem() +} + +func (i AgentDatadogConfigArgs) ToAgentDatadogConfigOutput() AgentDatadogConfigOutput { + return i.ToAgentDatadogConfigOutputWithContext(context.Background()) +} + +func (i AgentDatadogConfigArgs) ToAgentDatadogConfigOutputWithContext(ctx context.Context) AgentDatadogConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentDatadogConfigOutput) +} + +func (i AgentDatadogConfigArgs) ToAgentDatadogConfigPtrOutput() AgentDatadogConfigPtrOutput { + return i.ToAgentDatadogConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentDatadogConfigArgs) ToAgentDatadogConfigPtrOutputWithContext(ctx context.Context) AgentDatadogConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentDatadogConfigOutput).ToAgentDatadogConfigPtrOutputWithContext(ctx) +} + +// AgentDatadogConfigPtrInput is an input type that accepts AgentDatadogConfigArgs, AgentDatadogConfigPtr and AgentDatadogConfigPtrOutput values. +// You can construct a concrete instance of `AgentDatadogConfigPtrInput` via: +// +// AgentDatadogConfigArgs{...} +// +// or: +// +// nil +type AgentDatadogConfigPtrInput interface { + pulumi.Input + + ToAgentDatadogConfigPtrOutput() AgentDatadogConfigPtrOutput + ToAgentDatadogConfigPtrOutputWithContext(context.Context) AgentDatadogConfigPtrOutput +} + +type agentDatadogConfigPtrType AgentDatadogConfigArgs + +func AgentDatadogConfigPtr(v *AgentDatadogConfigArgs) AgentDatadogConfigPtrInput { + return (*agentDatadogConfigPtrType)(v) +} + +func (*agentDatadogConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentDatadogConfig)(nil)).Elem() +} + +func (i *agentDatadogConfigPtrType) ToAgentDatadogConfigPtrOutput() AgentDatadogConfigPtrOutput { + return i.ToAgentDatadogConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentDatadogConfigPtrType) ToAgentDatadogConfigPtrOutputWithContext(ctx context.Context) AgentDatadogConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentDatadogConfigPtrOutput) +} + +type AgentDatadogConfigOutput struct{ *pulumi.OutputState } + +func (AgentDatadogConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentDatadogConfig)(nil)).Elem() +} + +func (o AgentDatadogConfigOutput) ToAgentDatadogConfigOutput() AgentDatadogConfigOutput { + return o +} + +func (o AgentDatadogConfigOutput) ToAgentDatadogConfigOutputWithContext(ctx context.Context) AgentDatadogConfigOutput { + return o +} + +func (o AgentDatadogConfigOutput) ToAgentDatadogConfigPtrOutput() AgentDatadogConfigPtrOutput { + return o.ToAgentDatadogConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentDatadogConfigOutput) ToAgentDatadogConfigPtrOutputWithContext(ctx context.Context) AgentDatadogConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentDatadogConfig) *AgentDatadogConfig { + return &v + }).(AgentDatadogConfigPtrOutput) +} + +// `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union) +func (o AgentDatadogConfigOutput) Site() pulumi.StringOutput { + return o.ApplyT(func(v AgentDatadogConfig) string { return v.Site }).(pulumi.StringOutput) +} + +type AgentDatadogConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentDatadogConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentDatadogConfig)(nil)).Elem() +} + +func (o AgentDatadogConfigPtrOutput) ToAgentDatadogConfigPtrOutput() AgentDatadogConfigPtrOutput { + return o +} + +func (o AgentDatadogConfigPtrOutput) ToAgentDatadogConfigPtrOutputWithContext(ctx context.Context) AgentDatadogConfigPtrOutput { + return o +} + +func (o AgentDatadogConfigPtrOutput) Elem() AgentDatadogConfigOutput { + return o.ApplyT(func(v *AgentDatadogConfig) AgentDatadogConfig { + if v != nil { + return *v + } + var ret AgentDatadogConfig + return ret + }).(AgentDatadogConfigOutput) +} + +// `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union) +func (o AgentDatadogConfigPtrOutput) Site() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentDatadogConfig) *string { + if v == nil { + return nil + } + return &v.Site + }).(pulumi.StringPtrOutput) +} + +type AgentDynatraceConfig struct { + // Dynatrace API URL. + Url string `pulumi:"url"` +} + +// AgentDynatraceConfigInput is an input type that accepts AgentDynatraceConfigArgs and AgentDynatraceConfigOutput values. +// You can construct a concrete instance of `AgentDynatraceConfigInput` via: +// +// AgentDynatraceConfigArgs{...} +type AgentDynatraceConfigInput interface { + pulumi.Input + + ToAgentDynatraceConfigOutput() AgentDynatraceConfigOutput + ToAgentDynatraceConfigOutputWithContext(context.Context) AgentDynatraceConfigOutput +} + +type AgentDynatraceConfigArgs struct { + // Dynatrace API URL. + Url pulumi.StringInput `pulumi:"url"` +} + +func (AgentDynatraceConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentDynatraceConfig)(nil)).Elem() +} + +func (i AgentDynatraceConfigArgs) ToAgentDynatraceConfigOutput() AgentDynatraceConfigOutput { + return i.ToAgentDynatraceConfigOutputWithContext(context.Background()) +} + +func (i AgentDynatraceConfigArgs) ToAgentDynatraceConfigOutputWithContext(ctx context.Context) AgentDynatraceConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentDynatraceConfigOutput) +} + +func (i AgentDynatraceConfigArgs) ToAgentDynatraceConfigPtrOutput() AgentDynatraceConfigPtrOutput { + return i.ToAgentDynatraceConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentDynatraceConfigArgs) ToAgentDynatraceConfigPtrOutputWithContext(ctx context.Context) AgentDynatraceConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentDynatraceConfigOutput).ToAgentDynatraceConfigPtrOutputWithContext(ctx) +} + +// AgentDynatraceConfigPtrInput is an input type that accepts AgentDynatraceConfigArgs, AgentDynatraceConfigPtr and AgentDynatraceConfigPtrOutput values. +// You can construct a concrete instance of `AgentDynatraceConfigPtrInput` via: +// +// AgentDynatraceConfigArgs{...} +// +// or: +// +// nil +type AgentDynatraceConfigPtrInput interface { + pulumi.Input + + ToAgentDynatraceConfigPtrOutput() AgentDynatraceConfigPtrOutput + ToAgentDynatraceConfigPtrOutputWithContext(context.Context) AgentDynatraceConfigPtrOutput +} + +type agentDynatraceConfigPtrType AgentDynatraceConfigArgs + +func AgentDynatraceConfigPtr(v *AgentDynatraceConfigArgs) AgentDynatraceConfigPtrInput { + return (*agentDynatraceConfigPtrType)(v) +} + +func (*agentDynatraceConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentDynatraceConfig)(nil)).Elem() +} + +func (i *agentDynatraceConfigPtrType) ToAgentDynatraceConfigPtrOutput() AgentDynatraceConfigPtrOutput { + return i.ToAgentDynatraceConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentDynatraceConfigPtrType) ToAgentDynatraceConfigPtrOutputWithContext(ctx context.Context) AgentDynatraceConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentDynatraceConfigPtrOutput) +} + +type AgentDynatraceConfigOutput struct{ *pulumi.OutputState } + +func (AgentDynatraceConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentDynatraceConfig)(nil)).Elem() +} + +func (o AgentDynatraceConfigOutput) ToAgentDynatraceConfigOutput() AgentDynatraceConfigOutput { + return o +} + +func (o AgentDynatraceConfigOutput) ToAgentDynatraceConfigOutputWithContext(ctx context.Context) AgentDynatraceConfigOutput { + return o +} + +func (o AgentDynatraceConfigOutput) ToAgentDynatraceConfigPtrOutput() AgentDynatraceConfigPtrOutput { + return o.ToAgentDynatraceConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentDynatraceConfigOutput) ToAgentDynatraceConfigPtrOutputWithContext(ctx context.Context) AgentDynatraceConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentDynatraceConfig) *AgentDynatraceConfig { + return &v + }).(AgentDynatraceConfigPtrOutput) +} + +// Dynatrace API URL. +func (o AgentDynatraceConfigOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v AgentDynatraceConfig) string { return v.Url }).(pulumi.StringOutput) +} + +type AgentDynatraceConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentDynatraceConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentDynatraceConfig)(nil)).Elem() +} + +func (o AgentDynatraceConfigPtrOutput) ToAgentDynatraceConfigPtrOutput() AgentDynatraceConfigPtrOutput { + return o +} + +func (o AgentDynatraceConfigPtrOutput) ToAgentDynatraceConfigPtrOutputWithContext(ctx context.Context) AgentDynatraceConfigPtrOutput { + return o +} + +func (o AgentDynatraceConfigPtrOutput) Elem() AgentDynatraceConfigOutput { + return o.ApplyT(func(v *AgentDynatraceConfig) AgentDynatraceConfig { + if v != nil { + return *v + } + var ret AgentDynatraceConfig + return ret + }).(AgentDynatraceConfigOutput) +} + +// Dynatrace API URL. +func (o AgentDynatraceConfigPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentDynatraceConfig) *string { + if v == nil { + return nil + } + return &v.Url + }).(pulumi.StringPtrOutput) +} + +type AgentElasticsearchConfig struct { + // API URL endpoint to the Elasticsearch's instance. + Url string `pulumi:"url"` +} + +// AgentElasticsearchConfigInput is an input type that accepts AgentElasticsearchConfigArgs and AgentElasticsearchConfigOutput values. +// You can construct a concrete instance of `AgentElasticsearchConfigInput` via: +// +// AgentElasticsearchConfigArgs{...} +type AgentElasticsearchConfigInput interface { + pulumi.Input + + ToAgentElasticsearchConfigOutput() AgentElasticsearchConfigOutput + ToAgentElasticsearchConfigOutputWithContext(context.Context) AgentElasticsearchConfigOutput +} + +type AgentElasticsearchConfigArgs struct { + // API URL endpoint to the Elasticsearch's instance. + Url pulumi.StringInput `pulumi:"url"` +} + +func (AgentElasticsearchConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentElasticsearchConfig)(nil)).Elem() +} + +func (i AgentElasticsearchConfigArgs) ToAgentElasticsearchConfigOutput() AgentElasticsearchConfigOutput { + return i.ToAgentElasticsearchConfigOutputWithContext(context.Background()) +} + +func (i AgentElasticsearchConfigArgs) ToAgentElasticsearchConfigOutputWithContext(ctx context.Context) AgentElasticsearchConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentElasticsearchConfigOutput) +} + +func (i AgentElasticsearchConfigArgs) ToAgentElasticsearchConfigPtrOutput() AgentElasticsearchConfigPtrOutput { + return i.ToAgentElasticsearchConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentElasticsearchConfigArgs) ToAgentElasticsearchConfigPtrOutputWithContext(ctx context.Context) AgentElasticsearchConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentElasticsearchConfigOutput).ToAgentElasticsearchConfigPtrOutputWithContext(ctx) +} + +// AgentElasticsearchConfigPtrInput is an input type that accepts AgentElasticsearchConfigArgs, AgentElasticsearchConfigPtr and AgentElasticsearchConfigPtrOutput values. +// You can construct a concrete instance of `AgentElasticsearchConfigPtrInput` via: +// +// AgentElasticsearchConfigArgs{...} +// +// or: +// +// nil +type AgentElasticsearchConfigPtrInput interface { + pulumi.Input + + ToAgentElasticsearchConfigPtrOutput() AgentElasticsearchConfigPtrOutput + ToAgentElasticsearchConfigPtrOutputWithContext(context.Context) AgentElasticsearchConfigPtrOutput +} + +type agentElasticsearchConfigPtrType AgentElasticsearchConfigArgs + +func AgentElasticsearchConfigPtr(v *AgentElasticsearchConfigArgs) AgentElasticsearchConfigPtrInput { + return (*agentElasticsearchConfigPtrType)(v) +} + +func (*agentElasticsearchConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentElasticsearchConfig)(nil)).Elem() +} + +func (i *agentElasticsearchConfigPtrType) ToAgentElasticsearchConfigPtrOutput() AgentElasticsearchConfigPtrOutput { + return i.ToAgentElasticsearchConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentElasticsearchConfigPtrType) ToAgentElasticsearchConfigPtrOutputWithContext(ctx context.Context) AgentElasticsearchConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentElasticsearchConfigPtrOutput) +} + +type AgentElasticsearchConfigOutput struct{ *pulumi.OutputState } + +func (AgentElasticsearchConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentElasticsearchConfig)(nil)).Elem() +} + +func (o AgentElasticsearchConfigOutput) ToAgentElasticsearchConfigOutput() AgentElasticsearchConfigOutput { + return o +} + +func (o AgentElasticsearchConfigOutput) ToAgentElasticsearchConfigOutputWithContext(ctx context.Context) AgentElasticsearchConfigOutput { + return o +} + +func (o AgentElasticsearchConfigOutput) ToAgentElasticsearchConfigPtrOutput() AgentElasticsearchConfigPtrOutput { + return o.ToAgentElasticsearchConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentElasticsearchConfigOutput) ToAgentElasticsearchConfigPtrOutputWithContext(ctx context.Context) AgentElasticsearchConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentElasticsearchConfig) *AgentElasticsearchConfig { + return &v + }).(AgentElasticsearchConfigPtrOutput) +} + +// API URL endpoint to the Elasticsearch's instance. +func (o AgentElasticsearchConfigOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v AgentElasticsearchConfig) string { return v.Url }).(pulumi.StringOutput) +} + +type AgentElasticsearchConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentElasticsearchConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentElasticsearchConfig)(nil)).Elem() +} + +func (o AgentElasticsearchConfigPtrOutput) ToAgentElasticsearchConfigPtrOutput() AgentElasticsearchConfigPtrOutput { + return o +} + +func (o AgentElasticsearchConfigPtrOutput) ToAgentElasticsearchConfigPtrOutputWithContext(ctx context.Context) AgentElasticsearchConfigPtrOutput { + return o +} + +func (o AgentElasticsearchConfigPtrOutput) Elem() AgentElasticsearchConfigOutput { + return o.ApplyT(func(v *AgentElasticsearchConfig) AgentElasticsearchConfig { + if v != nil { + return *v + } + var ret AgentElasticsearchConfig + return ret + }).(AgentElasticsearchConfigOutput) +} + +// API URL endpoint to the Elasticsearch's instance. +func (o AgentElasticsearchConfigPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentElasticsearchConfig) *string { + if v == nil { + return nil + } + return &v.Url + }).(pulumi.StringPtrOutput) +} + +type AgentGcmConfig struct { +} + +// AgentGcmConfigInput is an input type that accepts AgentGcmConfigArgs and AgentGcmConfigOutput values. +// You can construct a concrete instance of `AgentGcmConfigInput` via: +// +// AgentGcmConfigArgs{...} +type AgentGcmConfigInput interface { + pulumi.Input + + ToAgentGcmConfigOutput() AgentGcmConfigOutput + ToAgentGcmConfigOutputWithContext(context.Context) AgentGcmConfigOutput +} + +type AgentGcmConfigArgs struct { +} + +func (AgentGcmConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentGcmConfig)(nil)).Elem() +} + +func (i AgentGcmConfigArgs) ToAgentGcmConfigOutput() AgentGcmConfigOutput { + return i.ToAgentGcmConfigOutputWithContext(context.Background()) +} + +func (i AgentGcmConfigArgs) ToAgentGcmConfigOutputWithContext(ctx context.Context) AgentGcmConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentGcmConfigOutput) +} + +func (i AgentGcmConfigArgs) ToAgentGcmConfigPtrOutput() AgentGcmConfigPtrOutput { + return i.ToAgentGcmConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentGcmConfigArgs) ToAgentGcmConfigPtrOutputWithContext(ctx context.Context) AgentGcmConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentGcmConfigOutput).ToAgentGcmConfigPtrOutputWithContext(ctx) +} + +// AgentGcmConfigPtrInput is an input type that accepts AgentGcmConfigArgs, AgentGcmConfigPtr and AgentGcmConfigPtrOutput values. +// You can construct a concrete instance of `AgentGcmConfigPtrInput` via: +// +// AgentGcmConfigArgs{...} +// +// or: +// +// nil +type AgentGcmConfigPtrInput interface { + pulumi.Input + + ToAgentGcmConfigPtrOutput() AgentGcmConfigPtrOutput + ToAgentGcmConfigPtrOutputWithContext(context.Context) AgentGcmConfigPtrOutput +} + +type agentGcmConfigPtrType AgentGcmConfigArgs + +func AgentGcmConfigPtr(v *AgentGcmConfigArgs) AgentGcmConfigPtrInput { + return (*agentGcmConfigPtrType)(v) +} + +func (*agentGcmConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentGcmConfig)(nil)).Elem() +} + +func (i *agentGcmConfigPtrType) ToAgentGcmConfigPtrOutput() AgentGcmConfigPtrOutput { + return i.ToAgentGcmConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentGcmConfigPtrType) ToAgentGcmConfigPtrOutputWithContext(ctx context.Context) AgentGcmConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentGcmConfigPtrOutput) +} + +type AgentGcmConfigOutput struct{ *pulumi.OutputState } + +func (AgentGcmConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentGcmConfig)(nil)).Elem() +} + +func (o AgentGcmConfigOutput) ToAgentGcmConfigOutput() AgentGcmConfigOutput { + return o +} + +func (o AgentGcmConfigOutput) ToAgentGcmConfigOutputWithContext(ctx context.Context) AgentGcmConfigOutput { + return o +} + +func (o AgentGcmConfigOutput) ToAgentGcmConfigPtrOutput() AgentGcmConfigPtrOutput { + return o.ToAgentGcmConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentGcmConfigOutput) ToAgentGcmConfigPtrOutputWithContext(ctx context.Context) AgentGcmConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentGcmConfig) *AgentGcmConfig { + return &v + }).(AgentGcmConfigPtrOutput) +} + +type AgentGcmConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentGcmConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentGcmConfig)(nil)).Elem() +} + +func (o AgentGcmConfigPtrOutput) ToAgentGcmConfigPtrOutput() AgentGcmConfigPtrOutput { + return o +} + +func (o AgentGcmConfigPtrOutput) ToAgentGcmConfigPtrOutputWithContext(ctx context.Context) AgentGcmConfigPtrOutput { + return o +} + +func (o AgentGcmConfigPtrOutput) Elem() AgentGcmConfigOutput { + return o.ApplyT(func(v *AgentGcmConfig) AgentGcmConfig { + if v != nil { + return *v + } + var ret AgentGcmConfig + return ret + }).(AgentGcmConfigOutput) +} + +type AgentGrafanaLokiConfig struct { + // API URL endpoint to the Grafana Loki instance. + Url string `pulumi:"url"` +} + +// AgentGrafanaLokiConfigInput is an input type that accepts AgentGrafanaLokiConfigArgs and AgentGrafanaLokiConfigOutput values. +// You can construct a concrete instance of `AgentGrafanaLokiConfigInput` via: +// +// AgentGrafanaLokiConfigArgs{...} +type AgentGrafanaLokiConfigInput interface { + pulumi.Input + + ToAgentGrafanaLokiConfigOutput() AgentGrafanaLokiConfigOutput + ToAgentGrafanaLokiConfigOutputWithContext(context.Context) AgentGrafanaLokiConfigOutput +} + +type AgentGrafanaLokiConfigArgs struct { + // API URL endpoint to the Grafana Loki instance. + Url pulumi.StringInput `pulumi:"url"` +} + +func (AgentGrafanaLokiConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentGrafanaLokiConfig)(nil)).Elem() +} + +func (i AgentGrafanaLokiConfigArgs) ToAgentGrafanaLokiConfigOutput() AgentGrafanaLokiConfigOutput { + return i.ToAgentGrafanaLokiConfigOutputWithContext(context.Background()) +} + +func (i AgentGrafanaLokiConfigArgs) ToAgentGrafanaLokiConfigOutputWithContext(ctx context.Context) AgentGrafanaLokiConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentGrafanaLokiConfigOutput) +} + +func (i AgentGrafanaLokiConfigArgs) ToAgentGrafanaLokiConfigPtrOutput() AgentGrafanaLokiConfigPtrOutput { + return i.ToAgentGrafanaLokiConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentGrafanaLokiConfigArgs) ToAgentGrafanaLokiConfigPtrOutputWithContext(ctx context.Context) AgentGrafanaLokiConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentGrafanaLokiConfigOutput).ToAgentGrafanaLokiConfigPtrOutputWithContext(ctx) +} + +// AgentGrafanaLokiConfigPtrInput is an input type that accepts AgentGrafanaLokiConfigArgs, AgentGrafanaLokiConfigPtr and AgentGrafanaLokiConfigPtrOutput values. +// You can construct a concrete instance of `AgentGrafanaLokiConfigPtrInput` via: +// +// AgentGrafanaLokiConfigArgs{...} +// +// or: +// +// nil +type AgentGrafanaLokiConfigPtrInput interface { + pulumi.Input + + ToAgentGrafanaLokiConfigPtrOutput() AgentGrafanaLokiConfigPtrOutput + ToAgentGrafanaLokiConfigPtrOutputWithContext(context.Context) AgentGrafanaLokiConfigPtrOutput +} + +type agentGrafanaLokiConfigPtrType AgentGrafanaLokiConfigArgs + +func AgentGrafanaLokiConfigPtr(v *AgentGrafanaLokiConfigArgs) AgentGrafanaLokiConfigPtrInput { + return (*agentGrafanaLokiConfigPtrType)(v) +} + +func (*agentGrafanaLokiConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentGrafanaLokiConfig)(nil)).Elem() +} + +func (i *agentGrafanaLokiConfigPtrType) ToAgentGrafanaLokiConfigPtrOutput() AgentGrafanaLokiConfigPtrOutput { + return i.ToAgentGrafanaLokiConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentGrafanaLokiConfigPtrType) ToAgentGrafanaLokiConfigPtrOutputWithContext(ctx context.Context) AgentGrafanaLokiConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentGrafanaLokiConfigPtrOutput) +} + +type AgentGrafanaLokiConfigOutput struct{ *pulumi.OutputState } + +func (AgentGrafanaLokiConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentGrafanaLokiConfig)(nil)).Elem() +} + +func (o AgentGrafanaLokiConfigOutput) ToAgentGrafanaLokiConfigOutput() AgentGrafanaLokiConfigOutput { + return o +} + +func (o AgentGrafanaLokiConfigOutput) ToAgentGrafanaLokiConfigOutputWithContext(ctx context.Context) AgentGrafanaLokiConfigOutput { + return o +} + +func (o AgentGrafanaLokiConfigOutput) ToAgentGrafanaLokiConfigPtrOutput() AgentGrafanaLokiConfigPtrOutput { + return o.ToAgentGrafanaLokiConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentGrafanaLokiConfigOutput) ToAgentGrafanaLokiConfigPtrOutputWithContext(ctx context.Context) AgentGrafanaLokiConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentGrafanaLokiConfig) *AgentGrafanaLokiConfig { + return &v + }).(AgentGrafanaLokiConfigPtrOutput) +} + +// API URL endpoint to the Grafana Loki instance. +func (o AgentGrafanaLokiConfigOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v AgentGrafanaLokiConfig) string { return v.Url }).(pulumi.StringOutput) +} + +type AgentGrafanaLokiConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentGrafanaLokiConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentGrafanaLokiConfig)(nil)).Elem() +} + +func (o AgentGrafanaLokiConfigPtrOutput) ToAgentGrafanaLokiConfigPtrOutput() AgentGrafanaLokiConfigPtrOutput { + return o +} + +func (o AgentGrafanaLokiConfigPtrOutput) ToAgentGrafanaLokiConfigPtrOutputWithContext(ctx context.Context) AgentGrafanaLokiConfigPtrOutput { + return o +} + +func (o AgentGrafanaLokiConfigPtrOutput) Elem() AgentGrafanaLokiConfigOutput { + return o.ApplyT(func(v *AgentGrafanaLokiConfig) AgentGrafanaLokiConfig { + if v != nil { + return *v + } + var ret AgentGrafanaLokiConfig + return ret + }).(AgentGrafanaLokiConfigOutput) +} + +// API URL endpoint to the Grafana Loki instance. +func (o AgentGrafanaLokiConfigPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentGrafanaLokiConfig) *string { + if v == nil { + return nil + } + return &v.Url + }).(pulumi.StringPtrOutput) +} + +type AgentGraphiteConfig struct { + // API URL endpoint to the Graphite's instance. + Url string `pulumi:"url"` +} + +// AgentGraphiteConfigInput is an input type that accepts AgentGraphiteConfigArgs and AgentGraphiteConfigOutput values. +// You can construct a concrete instance of `AgentGraphiteConfigInput` via: +// +// AgentGraphiteConfigArgs{...} +type AgentGraphiteConfigInput interface { + pulumi.Input + + ToAgentGraphiteConfigOutput() AgentGraphiteConfigOutput + ToAgentGraphiteConfigOutputWithContext(context.Context) AgentGraphiteConfigOutput +} + +type AgentGraphiteConfigArgs struct { + // API URL endpoint to the Graphite's instance. + Url pulumi.StringInput `pulumi:"url"` +} + +func (AgentGraphiteConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentGraphiteConfig)(nil)).Elem() +} + +func (i AgentGraphiteConfigArgs) ToAgentGraphiteConfigOutput() AgentGraphiteConfigOutput { + return i.ToAgentGraphiteConfigOutputWithContext(context.Background()) +} + +func (i AgentGraphiteConfigArgs) ToAgentGraphiteConfigOutputWithContext(ctx context.Context) AgentGraphiteConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentGraphiteConfigOutput) +} + +func (i AgentGraphiteConfigArgs) ToAgentGraphiteConfigPtrOutput() AgentGraphiteConfigPtrOutput { + return i.ToAgentGraphiteConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentGraphiteConfigArgs) ToAgentGraphiteConfigPtrOutputWithContext(ctx context.Context) AgentGraphiteConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentGraphiteConfigOutput).ToAgentGraphiteConfigPtrOutputWithContext(ctx) +} + +// AgentGraphiteConfigPtrInput is an input type that accepts AgentGraphiteConfigArgs, AgentGraphiteConfigPtr and AgentGraphiteConfigPtrOutput values. +// You can construct a concrete instance of `AgentGraphiteConfigPtrInput` via: +// +// AgentGraphiteConfigArgs{...} +// +// or: +// +// nil +type AgentGraphiteConfigPtrInput interface { + pulumi.Input + + ToAgentGraphiteConfigPtrOutput() AgentGraphiteConfigPtrOutput + ToAgentGraphiteConfigPtrOutputWithContext(context.Context) AgentGraphiteConfigPtrOutput +} + +type agentGraphiteConfigPtrType AgentGraphiteConfigArgs + +func AgentGraphiteConfigPtr(v *AgentGraphiteConfigArgs) AgentGraphiteConfigPtrInput { + return (*agentGraphiteConfigPtrType)(v) +} + +func (*agentGraphiteConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentGraphiteConfig)(nil)).Elem() +} + +func (i *agentGraphiteConfigPtrType) ToAgentGraphiteConfigPtrOutput() AgentGraphiteConfigPtrOutput { + return i.ToAgentGraphiteConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentGraphiteConfigPtrType) ToAgentGraphiteConfigPtrOutputWithContext(ctx context.Context) AgentGraphiteConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentGraphiteConfigPtrOutput) +} + +type AgentGraphiteConfigOutput struct{ *pulumi.OutputState } + +func (AgentGraphiteConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentGraphiteConfig)(nil)).Elem() +} + +func (o AgentGraphiteConfigOutput) ToAgentGraphiteConfigOutput() AgentGraphiteConfigOutput { + return o +} + +func (o AgentGraphiteConfigOutput) ToAgentGraphiteConfigOutputWithContext(ctx context.Context) AgentGraphiteConfigOutput { + return o +} + +func (o AgentGraphiteConfigOutput) ToAgentGraphiteConfigPtrOutput() AgentGraphiteConfigPtrOutput { + return o.ToAgentGraphiteConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentGraphiteConfigOutput) ToAgentGraphiteConfigPtrOutputWithContext(ctx context.Context) AgentGraphiteConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentGraphiteConfig) *AgentGraphiteConfig { + return &v + }).(AgentGraphiteConfigPtrOutput) +} + +// API URL endpoint to the Graphite's instance. +func (o AgentGraphiteConfigOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v AgentGraphiteConfig) string { return v.Url }).(pulumi.StringOutput) +} + +type AgentGraphiteConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentGraphiteConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentGraphiteConfig)(nil)).Elem() +} + +func (o AgentGraphiteConfigPtrOutput) ToAgentGraphiteConfigPtrOutput() AgentGraphiteConfigPtrOutput { + return o +} + +func (o AgentGraphiteConfigPtrOutput) ToAgentGraphiteConfigPtrOutputWithContext(ctx context.Context) AgentGraphiteConfigPtrOutput { + return o +} + +func (o AgentGraphiteConfigPtrOutput) Elem() AgentGraphiteConfigOutput { + return o.ApplyT(func(v *AgentGraphiteConfig) AgentGraphiteConfig { + if v != nil { + return *v + } + var ret AgentGraphiteConfig + return ret + }).(AgentGraphiteConfigOutput) +} + +// API URL endpoint to the Graphite's instance. +func (o AgentGraphiteConfigPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentGraphiteConfig) *string { + if v == nil { + return nil + } + return &v.Url + }).(pulumi.StringPtrOutput) +} + +type AgentInfluxdbConfig struct { + // API URL endpoint to the InfluxDB's instance. + Url string `pulumi:"url"` +} + +// AgentInfluxdbConfigInput is an input type that accepts AgentInfluxdbConfigArgs and AgentInfluxdbConfigOutput values. +// You can construct a concrete instance of `AgentInfluxdbConfigInput` via: +// +// AgentInfluxdbConfigArgs{...} +type AgentInfluxdbConfigInput interface { + pulumi.Input + + ToAgentInfluxdbConfigOutput() AgentInfluxdbConfigOutput + ToAgentInfluxdbConfigOutputWithContext(context.Context) AgentInfluxdbConfigOutput +} + +type AgentInfluxdbConfigArgs struct { + // API URL endpoint to the InfluxDB's instance. + Url pulumi.StringInput `pulumi:"url"` +} + +func (AgentInfluxdbConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentInfluxdbConfig)(nil)).Elem() +} + +func (i AgentInfluxdbConfigArgs) ToAgentInfluxdbConfigOutput() AgentInfluxdbConfigOutput { + return i.ToAgentInfluxdbConfigOutputWithContext(context.Background()) +} + +func (i AgentInfluxdbConfigArgs) ToAgentInfluxdbConfigOutputWithContext(ctx context.Context) AgentInfluxdbConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentInfluxdbConfigOutput) +} + +func (i AgentInfluxdbConfigArgs) ToAgentInfluxdbConfigPtrOutput() AgentInfluxdbConfigPtrOutput { + return i.ToAgentInfluxdbConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentInfluxdbConfigArgs) ToAgentInfluxdbConfigPtrOutputWithContext(ctx context.Context) AgentInfluxdbConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentInfluxdbConfigOutput).ToAgentInfluxdbConfigPtrOutputWithContext(ctx) +} + +// AgentInfluxdbConfigPtrInput is an input type that accepts AgentInfluxdbConfigArgs, AgentInfluxdbConfigPtr and AgentInfluxdbConfigPtrOutput values. +// You can construct a concrete instance of `AgentInfluxdbConfigPtrInput` via: +// +// AgentInfluxdbConfigArgs{...} +// +// or: +// +// nil +type AgentInfluxdbConfigPtrInput interface { + pulumi.Input + + ToAgentInfluxdbConfigPtrOutput() AgentInfluxdbConfigPtrOutput + ToAgentInfluxdbConfigPtrOutputWithContext(context.Context) AgentInfluxdbConfigPtrOutput +} + +type agentInfluxdbConfigPtrType AgentInfluxdbConfigArgs + +func AgentInfluxdbConfigPtr(v *AgentInfluxdbConfigArgs) AgentInfluxdbConfigPtrInput { + return (*agentInfluxdbConfigPtrType)(v) +} + +func (*agentInfluxdbConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentInfluxdbConfig)(nil)).Elem() +} + +func (i *agentInfluxdbConfigPtrType) ToAgentInfluxdbConfigPtrOutput() AgentInfluxdbConfigPtrOutput { + return i.ToAgentInfluxdbConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentInfluxdbConfigPtrType) ToAgentInfluxdbConfigPtrOutputWithContext(ctx context.Context) AgentInfluxdbConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentInfluxdbConfigPtrOutput) +} + +type AgentInfluxdbConfigOutput struct{ *pulumi.OutputState } + +func (AgentInfluxdbConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentInfluxdbConfig)(nil)).Elem() +} + +func (o AgentInfluxdbConfigOutput) ToAgentInfluxdbConfigOutput() AgentInfluxdbConfigOutput { + return o +} + +func (o AgentInfluxdbConfigOutput) ToAgentInfluxdbConfigOutputWithContext(ctx context.Context) AgentInfluxdbConfigOutput { + return o +} + +func (o AgentInfluxdbConfigOutput) ToAgentInfluxdbConfigPtrOutput() AgentInfluxdbConfigPtrOutput { + return o.ToAgentInfluxdbConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentInfluxdbConfigOutput) ToAgentInfluxdbConfigPtrOutputWithContext(ctx context.Context) AgentInfluxdbConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentInfluxdbConfig) *AgentInfluxdbConfig { + return &v + }).(AgentInfluxdbConfigPtrOutput) +} + +// API URL endpoint to the InfluxDB's instance. +func (o AgentInfluxdbConfigOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v AgentInfluxdbConfig) string { return v.Url }).(pulumi.StringOutput) +} + +type AgentInfluxdbConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentInfluxdbConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentInfluxdbConfig)(nil)).Elem() +} + +func (o AgentInfluxdbConfigPtrOutput) ToAgentInfluxdbConfigPtrOutput() AgentInfluxdbConfigPtrOutput { + return o +} + +func (o AgentInfluxdbConfigPtrOutput) ToAgentInfluxdbConfigPtrOutputWithContext(ctx context.Context) AgentInfluxdbConfigPtrOutput { + return o +} + +func (o AgentInfluxdbConfigPtrOutput) Elem() AgentInfluxdbConfigOutput { + return o.ApplyT(func(v *AgentInfluxdbConfig) AgentInfluxdbConfig { + if v != nil { + return *v + } + var ret AgentInfluxdbConfig + return ret + }).(AgentInfluxdbConfigOutput) +} + +// API URL endpoint to the InfluxDB's instance. +func (o AgentInfluxdbConfigPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentInfluxdbConfig) *string { + if v == nil { + return nil + } + return &v.Url + }).(pulumi.StringPtrOutput) +} + +type AgentInstanaConfig struct { + // API URL endpoint to the InfluxDB's instance. + Url string `pulumi:"url"` +} + +// AgentInstanaConfigInput is an input type that accepts AgentInstanaConfigArgs and AgentInstanaConfigOutput values. +// You can construct a concrete instance of `AgentInstanaConfigInput` via: +// +// AgentInstanaConfigArgs{...} +type AgentInstanaConfigInput interface { + pulumi.Input + + ToAgentInstanaConfigOutput() AgentInstanaConfigOutput + ToAgentInstanaConfigOutputWithContext(context.Context) AgentInstanaConfigOutput +} + +type AgentInstanaConfigArgs struct { + // API URL endpoint to the InfluxDB's instance. + Url pulumi.StringInput `pulumi:"url"` +} + +func (AgentInstanaConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentInstanaConfig)(nil)).Elem() +} + +func (i AgentInstanaConfigArgs) ToAgentInstanaConfigOutput() AgentInstanaConfigOutput { + return i.ToAgentInstanaConfigOutputWithContext(context.Background()) +} + +func (i AgentInstanaConfigArgs) ToAgentInstanaConfigOutputWithContext(ctx context.Context) AgentInstanaConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentInstanaConfigOutput) +} + +func (i AgentInstanaConfigArgs) ToAgentInstanaConfigPtrOutput() AgentInstanaConfigPtrOutput { + return i.ToAgentInstanaConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentInstanaConfigArgs) ToAgentInstanaConfigPtrOutputWithContext(ctx context.Context) AgentInstanaConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentInstanaConfigOutput).ToAgentInstanaConfigPtrOutputWithContext(ctx) +} + +// AgentInstanaConfigPtrInput is an input type that accepts AgentInstanaConfigArgs, AgentInstanaConfigPtr and AgentInstanaConfigPtrOutput values. +// You can construct a concrete instance of `AgentInstanaConfigPtrInput` via: +// +// AgentInstanaConfigArgs{...} +// +// or: +// +// nil +type AgentInstanaConfigPtrInput interface { + pulumi.Input + + ToAgentInstanaConfigPtrOutput() AgentInstanaConfigPtrOutput + ToAgentInstanaConfigPtrOutputWithContext(context.Context) AgentInstanaConfigPtrOutput +} + +type agentInstanaConfigPtrType AgentInstanaConfigArgs + +func AgentInstanaConfigPtr(v *AgentInstanaConfigArgs) AgentInstanaConfigPtrInput { + return (*agentInstanaConfigPtrType)(v) +} + +func (*agentInstanaConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentInstanaConfig)(nil)).Elem() +} + +func (i *agentInstanaConfigPtrType) ToAgentInstanaConfigPtrOutput() AgentInstanaConfigPtrOutput { + return i.ToAgentInstanaConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentInstanaConfigPtrType) ToAgentInstanaConfigPtrOutputWithContext(ctx context.Context) AgentInstanaConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentInstanaConfigPtrOutput) +} + +type AgentInstanaConfigOutput struct{ *pulumi.OutputState } + +func (AgentInstanaConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentInstanaConfig)(nil)).Elem() +} + +func (o AgentInstanaConfigOutput) ToAgentInstanaConfigOutput() AgentInstanaConfigOutput { + return o +} + +func (o AgentInstanaConfigOutput) ToAgentInstanaConfigOutputWithContext(ctx context.Context) AgentInstanaConfigOutput { + return o +} + +func (o AgentInstanaConfigOutput) ToAgentInstanaConfigPtrOutput() AgentInstanaConfigPtrOutput { + return o.ToAgentInstanaConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentInstanaConfigOutput) ToAgentInstanaConfigPtrOutputWithContext(ctx context.Context) AgentInstanaConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentInstanaConfig) *AgentInstanaConfig { + return &v + }).(AgentInstanaConfigPtrOutput) +} + +// API URL endpoint to the InfluxDB's instance. +func (o AgentInstanaConfigOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v AgentInstanaConfig) string { return v.Url }).(pulumi.StringOutput) +} + +type AgentInstanaConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentInstanaConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentInstanaConfig)(nil)).Elem() +} + +func (o AgentInstanaConfigPtrOutput) ToAgentInstanaConfigPtrOutput() AgentInstanaConfigPtrOutput { + return o +} + +func (o AgentInstanaConfigPtrOutput) ToAgentInstanaConfigPtrOutputWithContext(ctx context.Context) AgentInstanaConfigPtrOutput { + return o +} + +func (o AgentInstanaConfigPtrOutput) Elem() AgentInstanaConfigOutput { + return o.ApplyT(func(v *AgentInstanaConfig) AgentInstanaConfig { + if v != nil { + return *v + } + var ret AgentInstanaConfig + return ret + }).(AgentInstanaConfigOutput) +} + +// API URL endpoint to the InfluxDB's instance. +func (o AgentInstanaConfigPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentInstanaConfig) *string { + if v == nil { + return nil + } + return &v.Url + }).(pulumi.StringPtrOutput) +} + +type AgentLightstepConfig struct { + // Organization name registered in Lightstep. + Organization string `pulumi:"organization"` + // Name of the Lightstep project. + Project string `pulumi:"project"` +} + +// AgentLightstepConfigInput is an input type that accepts AgentLightstepConfigArgs and AgentLightstepConfigOutput values. +// You can construct a concrete instance of `AgentLightstepConfigInput` via: +// +// AgentLightstepConfigArgs{...} +type AgentLightstepConfigInput interface { + pulumi.Input + + ToAgentLightstepConfigOutput() AgentLightstepConfigOutput + ToAgentLightstepConfigOutputWithContext(context.Context) AgentLightstepConfigOutput +} + +type AgentLightstepConfigArgs struct { + // Organization name registered in Lightstep. + Organization pulumi.StringInput `pulumi:"organization"` + // Name of the Lightstep project. + Project pulumi.StringInput `pulumi:"project"` +} + +func (AgentLightstepConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentLightstepConfig)(nil)).Elem() +} + +func (i AgentLightstepConfigArgs) ToAgentLightstepConfigOutput() AgentLightstepConfigOutput { + return i.ToAgentLightstepConfigOutputWithContext(context.Background()) +} + +func (i AgentLightstepConfigArgs) ToAgentLightstepConfigOutputWithContext(ctx context.Context) AgentLightstepConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentLightstepConfigOutput) +} + +func (i AgentLightstepConfigArgs) ToAgentLightstepConfigPtrOutput() AgentLightstepConfigPtrOutput { + return i.ToAgentLightstepConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentLightstepConfigArgs) ToAgentLightstepConfigPtrOutputWithContext(ctx context.Context) AgentLightstepConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentLightstepConfigOutput).ToAgentLightstepConfigPtrOutputWithContext(ctx) +} + +// AgentLightstepConfigPtrInput is an input type that accepts AgentLightstepConfigArgs, AgentLightstepConfigPtr and AgentLightstepConfigPtrOutput values. +// You can construct a concrete instance of `AgentLightstepConfigPtrInput` via: +// +// AgentLightstepConfigArgs{...} +// +// or: +// +// nil +type AgentLightstepConfigPtrInput interface { + pulumi.Input + + ToAgentLightstepConfigPtrOutput() AgentLightstepConfigPtrOutput + ToAgentLightstepConfigPtrOutputWithContext(context.Context) AgentLightstepConfigPtrOutput +} + +type agentLightstepConfigPtrType AgentLightstepConfigArgs + +func AgentLightstepConfigPtr(v *AgentLightstepConfigArgs) AgentLightstepConfigPtrInput { + return (*agentLightstepConfigPtrType)(v) +} + +func (*agentLightstepConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentLightstepConfig)(nil)).Elem() +} + +func (i *agentLightstepConfigPtrType) ToAgentLightstepConfigPtrOutput() AgentLightstepConfigPtrOutput { + return i.ToAgentLightstepConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentLightstepConfigPtrType) ToAgentLightstepConfigPtrOutputWithContext(ctx context.Context) AgentLightstepConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentLightstepConfigPtrOutput) +} + +type AgentLightstepConfigOutput struct{ *pulumi.OutputState } + +func (AgentLightstepConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentLightstepConfig)(nil)).Elem() +} + +func (o AgentLightstepConfigOutput) ToAgentLightstepConfigOutput() AgentLightstepConfigOutput { + return o +} + +func (o AgentLightstepConfigOutput) ToAgentLightstepConfigOutputWithContext(ctx context.Context) AgentLightstepConfigOutput { + return o +} + +func (o AgentLightstepConfigOutput) ToAgentLightstepConfigPtrOutput() AgentLightstepConfigPtrOutput { + return o.ToAgentLightstepConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentLightstepConfigOutput) ToAgentLightstepConfigPtrOutputWithContext(ctx context.Context) AgentLightstepConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentLightstepConfig) *AgentLightstepConfig { + return &v + }).(AgentLightstepConfigPtrOutput) +} + +// Organization name registered in Lightstep. +func (o AgentLightstepConfigOutput) Organization() pulumi.StringOutput { + return o.ApplyT(func(v AgentLightstepConfig) string { return v.Organization }).(pulumi.StringOutput) +} + +// Name of the Lightstep project. +func (o AgentLightstepConfigOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v AgentLightstepConfig) string { return v.Project }).(pulumi.StringOutput) +} + +type AgentLightstepConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentLightstepConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentLightstepConfig)(nil)).Elem() +} + +func (o AgentLightstepConfigPtrOutput) ToAgentLightstepConfigPtrOutput() AgentLightstepConfigPtrOutput { + return o +} + +func (o AgentLightstepConfigPtrOutput) ToAgentLightstepConfigPtrOutputWithContext(ctx context.Context) AgentLightstepConfigPtrOutput { + return o +} + +func (o AgentLightstepConfigPtrOutput) Elem() AgentLightstepConfigOutput { + return o.ApplyT(func(v *AgentLightstepConfig) AgentLightstepConfig { + if v != nil { + return *v + } + var ret AgentLightstepConfig + return ret + }).(AgentLightstepConfigOutput) +} + +// Organization name registered in Lightstep. +func (o AgentLightstepConfigPtrOutput) Organization() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentLightstepConfig) *string { + if v == nil { + return nil + } + return &v.Organization + }).(pulumi.StringPtrOutput) +} + +// Name of the Lightstep project. +func (o AgentLightstepConfigPtrOutput) Project() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentLightstepConfig) *string { + if v == nil { + return nil + } + return &v.Project + }).(pulumi.StringPtrOutput) +} + +type AgentNewrelicConfig struct { + // ID number assigned to the New Relic user account. + AccountId string `pulumi:"accountId"` +} + +// AgentNewrelicConfigInput is an input type that accepts AgentNewrelicConfigArgs and AgentNewrelicConfigOutput values. +// You can construct a concrete instance of `AgentNewrelicConfigInput` via: +// +// AgentNewrelicConfigArgs{...} +type AgentNewrelicConfigInput interface { + pulumi.Input + + ToAgentNewrelicConfigOutput() AgentNewrelicConfigOutput + ToAgentNewrelicConfigOutputWithContext(context.Context) AgentNewrelicConfigOutput +} + +type AgentNewrelicConfigArgs struct { + // ID number assigned to the New Relic user account. + AccountId pulumi.StringInput `pulumi:"accountId"` +} + +func (AgentNewrelicConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentNewrelicConfig)(nil)).Elem() +} + +func (i AgentNewrelicConfigArgs) ToAgentNewrelicConfigOutput() AgentNewrelicConfigOutput { + return i.ToAgentNewrelicConfigOutputWithContext(context.Background()) +} + +func (i AgentNewrelicConfigArgs) ToAgentNewrelicConfigOutputWithContext(ctx context.Context) AgentNewrelicConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentNewrelicConfigOutput) +} + +func (i AgentNewrelicConfigArgs) ToAgentNewrelicConfigPtrOutput() AgentNewrelicConfigPtrOutput { + return i.ToAgentNewrelicConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentNewrelicConfigArgs) ToAgentNewrelicConfigPtrOutputWithContext(ctx context.Context) AgentNewrelicConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentNewrelicConfigOutput).ToAgentNewrelicConfigPtrOutputWithContext(ctx) +} + +// AgentNewrelicConfigPtrInput is an input type that accepts AgentNewrelicConfigArgs, AgentNewrelicConfigPtr and AgentNewrelicConfigPtrOutput values. +// You can construct a concrete instance of `AgentNewrelicConfigPtrInput` via: +// +// AgentNewrelicConfigArgs{...} +// +// or: +// +// nil +type AgentNewrelicConfigPtrInput interface { + pulumi.Input + + ToAgentNewrelicConfigPtrOutput() AgentNewrelicConfigPtrOutput + ToAgentNewrelicConfigPtrOutputWithContext(context.Context) AgentNewrelicConfigPtrOutput +} + +type agentNewrelicConfigPtrType AgentNewrelicConfigArgs + +func AgentNewrelicConfigPtr(v *AgentNewrelicConfigArgs) AgentNewrelicConfigPtrInput { + return (*agentNewrelicConfigPtrType)(v) +} + +func (*agentNewrelicConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentNewrelicConfig)(nil)).Elem() +} + +func (i *agentNewrelicConfigPtrType) ToAgentNewrelicConfigPtrOutput() AgentNewrelicConfigPtrOutput { + return i.ToAgentNewrelicConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentNewrelicConfigPtrType) ToAgentNewrelicConfigPtrOutputWithContext(ctx context.Context) AgentNewrelicConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentNewrelicConfigPtrOutput) +} + +type AgentNewrelicConfigOutput struct{ *pulumi.OutputState } + +func (AgentNewrelicConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentNewrelicConfig)(nil)).Elem() +} + +func (o AgentNewrelicConfigOutput) ToAgentNewrelicConfigOutput() AgentNewrelicConfigOutput { + return o +} + +func (o AgentNewrelicConfigOutput) ToAgentNewrelicConfigOutputWithContext(ctx context.Context) AgentNewrelicConfigOutput { + return o +} + +func (o AgentNewrelicConfigOutput) ToAgentNewrelicConfigPtrOutput() AgentNewrelicConfigPtrOutput { + return o.ToAgentNewrelicConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentNewrelicConfigOutput) ToAgentNewrelicConfigPtrOutputWithContext(ctx context.Context) AgentNewrelicConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentNewrelicConfig) *AgentNewrelicConfig { + return &v + }).(AgentNewrelicConfigPtrOutput) +} + +// ID number assigned to the New Relic user account. +func (o AgentNewrelicConfigOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v AgentNewrelicConfig) string { return v.AccountId }).(pulumi.StringOutput) +} + +type AgentNewrelicConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentNewrelicConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentNewrelicConfig)(nil)).Elem() +} + +func (o AgentNewrelicConfigPtrOutput) ToAgentNewrelicConfigPtrOutput() AgentNewrelicConfigPtrOutput { + return o +} + +func (o AgentNewrelicConfigPtrOutput) ToAgentNewrelicConfigPtrOutputWithContext(ctx context.Context) AgentNewrelicConfigPtrOutput { + return o +} + +func (o AgentNewrelicConfigPtrOutput) Elem() AgentNewrelicConfigOutput { + return o.ApplyT(func(v *AgentNewrelicConfig) AgentNewrelicConfig { + if v != nil { + return *v + } + var ret AgentNewrelicConfig + return ret + }).(AgentNewrelicConfigOutput) +} + +// ID number assigned to the New Relic user account. +func (o AgentNewrelicConfigPtrOutput) AccountId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentNewrelicConfig) *string { + if v == nil { + return nil + } + return &v.AccountId + }).(pulumi.StringPtrOutput) +} + +type AgentOpentsdbConfig struct { + // OpenTSDB cluster URL. + Url string `pulumi:"url"` +} + +// AgentOpentsdbConfigInput is an input type that accepts AgentOpentsdbConfigArgs and AgentOpentsdbConfigOutput values. +// You can construct a concrete instance of `AgentOpentsdbConfigInput` via: +// +// AgentOpentsdbConfigArgs{...} +type AgentOpentsdbConfigInput interface { + pulumi.Input + + ToAgentOpentsdbConfigOutput() AgentOpentsdbConfigOutput + ToAgentOpentsdbConfigOutputWithContext(context.Context) AgentOpentsdbConfigOutput +} + +type AgentOpentsdbConfigArgs struct { + // OpenTSDB cluster URL. + Url pulumi.StringInput `pulumi:"url"` +} + +func (AgentOpentsdbConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentOpentsdbConfig)(nil)).Elem() +} + +func (i AgentOpentsdbConfigArgs) ToAgentOpentsdbConfigOutput() AgentOpentsdbConfigOutput { + return i.ToAgentOpentsdbConfigOutputWithContext(context.Background()) +} + +func (i AgentOpentsdbConfigArgs) ToAgentOpentsdbConfigOutputWithContext(ctx context.Context) AgentOpentsdbConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentOpentsdbConfigOutput) +} + +func (i AgentOpentsdbConfigArgs) ToAgentOpentsdbConfigPtrOutput() AgentOpentsdbConfigPtrOutput { + return i.ToAgentOpentsdbConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentOpentsdbConfigArgs) ToAgentOpentsdbConfigPtrOutputWithContext(ctx context.Context) AgentOpentsdbConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentOpentsdbConfigOutput).ToAgentOpentsdbConfigPtrOutputWithContext(ctx) +} + +// AgentOpentsdbConfigPtrInput is an input type that accepts AgentOpentsdbConfigArgs, AgentOpentsdbConfigPtr and AgentOpentsdbConfigPtrOutput values. +// You can construct a concrete instance of `AgentOpentsdbConfigPtrInput` via: +// +// AgentOpentsdbConfigArgs{...} +// +// or: +// +// nil +type AgentOpentsdbConfigPtrInput interface { + pulumi.Input + + ToAgentOpentsdbConfigPtrOutput() AgentOpentsdbConfigPtrOutput + ToAgentOpentsdbConfigPtrOutputWithContext(context.Context) AgentOpentsdbConfigPtrOutput +} + +type agentOpentsdbConfigPtrType AgentOpentsdbConfigArgs + +func AgentOpentsdbConfigPtr(v *AgentOpentsdbConfigArgs) AgentOpentsdbConfigPtrInput { + return (*agentOpentsdbConfigPtrType)(v) +} + +func (*agentOpentsdbConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentOpentsdbConfig)(nil)).Elem() +} + +func (i *agentOpentsdbConfigPtrType) ToAgentOpentsdbConfigPtrOutput() AgentOpentsdbConfigPtrOutput { + return i.ToAgentOpentsdbConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentOpentsdbConfigPtrType) ToAgentOpentsdbConfigPtrOutputWithContext(ctx context.Context) AgentOpentsdbConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentOpentsdbConfigPtrOutput) +} + +type AgentOpentsdbConfigOutput struct{ *pulumi.OutputState } + +func (AgentOpentsdbConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentOpentsdbConfig)(nil)).Elem() +} + +func (o AgentOpentsdbConfigOutput) ToAgentOpentsdbConfigOutput() AgentOpentsdbConfigOutput { + return o +} + +func (o AgentOpentsdbConfigOutput) ToAgentOpentsdbConfigOutputWithContext(ctx context.Context) AgentOpentsdbConfigOutput { + return o +} + +func (o AgentOpentsdbConfigOutput) ToAgentOpentsdbConfigPtrOutput() AgentOpentsdbConfigPtrOutput { + return o.ToAgentOpentsdbConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentOpentsdbConfigOutput) ToAgentOpentsdbConfigPtrOutputWithContext(ctx context.Context) AgentOpentsdbConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentOpentsdbConfig) *AgentOpentsdbConfig { + return &v + }).(AgentOpentsdbConfigPtrOutput) +} + +// OpenTSDB cluster URL. +func (o AgentOpentsdbConfigOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v AgentOpentsdbConfig) string { return v.Url }).(pulumi.StringOutput) +} + +type AgentOpentsdbConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentOpentsdbConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentOpentsdbConfig)(nil)).Elem() +} + +func (o AgentOpentsdbConfigPtrOutput) ToAgentOpentsdbConfigPtrOutput() AgentOpentsdbConfigPtrOutput { + return o +} + +func (o AgentOpentsdbConfigPtrOutput) ToAgentOpentsdbConfigPtrOutputWithContext(ctx context.Context) AgentOpentsdbConfigPtrOutput { + return o +} + +func (o AgentOpentsdbConfigPtrOutput) Elem() AgentOpentsdbConfigOutput { + return o.ApplyT(func(v *AgentOpentsdbConfig) AgentOpentsdbConfig { + if v != nil { + return *v + } + var ret AgentOpentsdbConfig + return ret + }).(AgentOpentsdbConfigOutput) +} + +// OpenTSDB cluster URL. +func (o AgentOpentsdbConfigPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentOpentsdbConfig) *string { + if v == nil { + return nil + } + return &v.Url + }).(pulumi.StringPtrOutput) +} + +type AgentPingdomConfig struct { +} + +// AgentPingdomConfigInput is an input type that accepts AgentPingdomConfigArgs and AgentPingdomConfigOutput values. +// You can construct a concrete instance of `AgentPingdomConfigInput` via: +// +// AgentPingdomConfigArgs{...} +type AgentPingdomConfigInput interface { + pulumi.Input + + ToAgentPingdomConfigOutput() AgentPingdomConfigOutput + ToAgentPingdomConfigOutputWithContext(context.Context) AgentPingdomConfigOutput +} + +type AgentPingdomConfigArgs struct { +} + +func (AgentPingdomConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentPingdomConfig)(nil)).Elem() +} + +func (i AgentPingdomConfigArgs) ToAgentPingdomConfigOutput() AgentPingdomConfigOutput { + return i.ToAgentPingdomConfigOutputWithContext(context.Background()) +} + +func (i AgentPingdomConfigArgs) ToAgentPingdomConfigOutputWithContext(ctx context.Context) AgentPingdomConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentPingdomConfigOutput) +} + +func (i AgentPingdomConfigArgs) ToAgentPingdomConfigPtrOutput() AgentPingdomConfigPtrOutput { + return i.ToAgentPingdomConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentPingdomConfigArgs) ToAgentPingdomConfigPtrOutputWithContext(ctx context.Context) AgentPingdomConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentPingdomConfigOutput).ToAgentPingdomConfigPtrOutputWithContext(ctx) +} + +// AgentPingdomConfigPtrInput is an input type that accepts AgentPingdomConfigArgs, AgentPingdomConfigPtr and AgentPingdomConfigPtrOutput values. +// You can construct a concrete instance of `AgentPingdomConfigPtrInput` via: +// +// AgentPingdomConfigArgs{...} +// +// or: +// +// nil +type AgentPingdomConfigPtrInput interface { + pulumi.Input + + ToAgentPingdomConfigPtrOutput() AgentPingdomConfigPtrOutput + ToAgentPingdomConfigPtrOutputWithContext(context.Context) AgentPingdomConfigPtrOutput +} + +type agentPingdomConfigPtrType AgentPingdomConfigArgs + +func AgentPingdomConfigPtr(v *AgentPingdomConfigArgs) AgentPingdomConfigPtrInput { + return (*agentPingdomConfigPtrType)(v) +} + +func (*agentPingdomConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentPingdomConfig)(nil)).Elem() +} + +func (i *agentPingdomConfigPtrType) ToAgentPingdomConfigPtrOutput() AgentPingdomConfigPtrOutput { + return i.ToAgentPingdomConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentPingdomConfigPtrType) ToAgentPingdomConfigPtrOutputWithContext(ctx context.Context) AgentPingdomConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentPingdomConfigPtrOutput) +} + +type AgentPingdomConfigOutput struct{ *pulumi.OutputState } + +func (AgentPingdomConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentPingdomConfig)(nil)).Elem() +} + +func (o AgentPingdomConfigOutput) ToAgentPingdomConfigOutput() AgentPingdomConfigOutput { + return o +} + +func (o AgentPingdomConfigOutput) ToAgentPingdomConfigOutputWithContext(ctx context.Context) AgentPingdomConfigOutput { + return o +} + +func (o AgentPingdomConfigOutput) ToAgentPingdomConfigPtrOutput() AgentPingdomConfigPtrOutput { + return o.ToAgentPingdomConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentPingdomConfigOutput) ToAgentPingdomConfigPtrOutputWithContext(ctx context.Context) AgentPingdomConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentPingdomConfig) *AgentPingdomConfig { + return &v + }).(AgentPingdomConfigPtrOutput) +} + +type AgentPingdomConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentPingdomConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentPingdomConfig)(nil)).Elem() +} + +func (o AgentPingdomConfigPtrOutput) ToAgentPingdomConfigPtrOutput() AgentPingdomConfigPtrOutput { + return o +} + +func (o AgentPingdomConfigPtrOutput) ToAgentPingdomConfigPtrOutputWithContext(ctx context.Context) AgentPingdomConfigPtrOutput { + return o +} + +func (o AgentPingdomConfigPtrOutput) Elem() AgentPingdomConfigOutput { + return o.ApplyT(func(v *AgentPingdomConfig) AgentPingdomConfig { + if v != nil { + return *v + } + var ret AgentPingdomConfig + return ret + }).(AgentPingdomConfigOutput) +} + +type AgentPrometheusConfig struct { + // Base URL to Prometheus server. + Url string `pulumi:"url"` +} + +// AgentPrometheusConfigInput is an input type that accepts AgentPrometheusConfigArgs and AgentPrometheusConfigOutput values. +// You can construct a concrete instance of `AgentPrometheusConfigInput` via: +// +// AgentPrometheusConfigArgs{...} +type AgentPrometheusConfigInput interface { + pulumi.Input + + ToAgentPrometheusConfigOutput() AgentPrometheusConfigOutput + ToAgentPrometheusConfigOutputWithContext(context.Context) AgentPrometheusConfigOutput +} + +type AgentPrometheusConfigArgs struct { + // Base URL to Prometheus server. + Url pulumi.StringInput `pulumi:"url"` +} + +func (AgentPrometheusConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentPrometheusConfig)(nil)).Elem() +} + +func (i AgentPrometheusConfigArgs) ToAgentPrometheusConfigOutput() AgentPrometheusConfigOutput { + return i.ToAgentPrometheusConfigOutputWithContext(context.Background()) +} + +func (i AgentPrometheusConfigArgs) ToAgentPrometheusConfigOutputWithContext(ctx context.Context) AgentPrometheusConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentPrometheusConfigOutput) +} + +func (i AgentPrometheusConfigArgs) ToAgentPrometheusConfigPtrOutput() AgentPrometheusConfigPtrOutput { + return i.ToAgentPrometheusConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentPrometheusConfigArgs) ToAgentPrometheusConfigPtrOutputWithContext(ctx context.Context) AgentPrometheusConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentPrometheusConfigOutput).ToAgentPrometheusConfigPtrOutputWithContext(ctx) +} + +// AgentPrometheusConfigPtrInput is an input type that accepts AgentPrometheusConfigArgs, AgentPrometheusConfigPtr and AgentPrometheusConfigPtrOutput values. +// You can construct a concrete instance of `AgentPrometheusConfigPtrInput` via: +// +// AgentPrometheusConfigArgs{...} +// +// or: +// +// nil +type AgentPrometheusConfigPtrInput interface { + pulumi.Input + + ToAgentPrometheusConfigPtrOutput() AgentPrometheusConfigPtrOutput + ToAgentPrometheusConfigPtrOutputWithContext(context.Context) AgentPrometheusConfigPtrOutput +} + +type agentPrometheusConfigPtrType AgentPrometheusConfigArgs + +func AgentPrometheusConfigPtr(v *AgentPrometheusConfigArgs) AgentPrometheusConfigPtrInput { + return (*agentPrometheusConfigPtrType)(v) +} + +func (*agentPrometheusConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentPrometheusConfig)(nil)).Elem() +} + +func (i *agentPrometheusConfigPtrType) ToAgentPrometheusConfigPtrOutput() AgentPrometheusConfigPtrOutput { + return i.ToAgentPrometheusConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentPrometheusConfigPtrType) ToAgentPrometheusConfigPtrOutputWithContext(ctx context.Context) AgentPrometheusConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentPrometheusConfigPtrOutput) +} + +type AgentPrometheusConfigOutput struct{ *pulumi.OutputState } + +func (AgentPrometheusConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentPrometheusConfig)(nil)).Elem() +} + +func (o AgentPrometheusConfigOutput) ToAgentPrometheusConfigOutput() AgentPrometheusConfigOutput { + return o +} + +func (o AgentPrometheusConfigOutput) ToAgentPrometheusConfigOutputWithContext(ctx context.Context) AgentPrometheusConfigOutput { + return o +} + +func (o AgentPrometheusConfigOutput) ToAgentPrometheusConfigPtrOutput() AgentPrometheusConfigPtrOutput { + return o.ToAgentPrometheusConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentPrometheusConfigOutput) ToAgentPrometheusConfigPtrOutputWithContext(ctx context.Context) AgentPrometheusConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentPrometheusConfig) *AgentPrometheusConfig { + return &v + }).(AgentPrometheusConfigPtrOutput) +} + +// Base URL to Prometheus server. +func (o AgentPrometheusConfigOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v AgentPrometheusConfig) string { return v.Url }).(pulumi.StringOutput) +} + +type AgentPrometheusConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentPrometheusConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentPrometheusConfig)(nil)).Elem() +} + +func (o AgentPrometheusConfigPtrOutput) ToAgentPrometheusConfigPtrOutput() AgentPrometheusConfigPtrOutput { + return o +} + +func (o AgentPrometheusConfigPtrOutput) ToAgentPrometheusConfigPtrOutputWithContext(ctx context.Context) AgentPrometheusConfigPtrOutput { + return o +} + +func (o AgentPrometheusConfigPtrOutput) Elem() AgentPrometheusConfigOutput { + return o.ApplyT(func(v *AgentPrometheusConfig) AgentPrometheusConfig { + if v != nil { + return *v + } + var ret AgentPrometheusConfig + return ret + }).(AgentPrometheusConfigOutput) +} + +// Base URL to Prometheus server. +func (o AgentPrometheusConfigPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentPrometheusConfig) *string { + if v == nil { + return nil + } + return &v.Url + }).(pulumi.StringPtrOutput) +} + +type AgentQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// AgentQueryDelayInput is an input type that accepts AgentQueryDelayArgs and AgentQueryDelayOutput values. +// You can construct a concrete instance of `AgentQueryDelayInput` via: +// +// AgentQueryDelayArgs{...} +type AgentQueryDelayInput interface { + pulumi.Input + + ToAgentQueryDelayOutput() AgentQueryDelayOutput + ToAgentQueryDelayOutputWithContext(context.Context) AgentQueryDelayOutput +} + +type AgentQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (AgentQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentQueryDelay)(nil)).Elem() +} + +func (i AgentQueryDelayArgs) ToAgentQueryDelayOutput() AgentQueryDelayOutput { + return i.ToAgentQueryDelayOutputWithContext(context.Background()) +} + +func (i AgentQueryDelayArgs) ToAgentQueryDelayOutputWithContext(ctx context.Context) AgentQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentQueryDelayOutput) +} + +func (i AgentQueryDelayArgs) ToAgentQueryDelayPtrOutput() AgentQueryDelayPtrOutput { + return i.ToAgentQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i AgentQueryDelayArgs) ToAgentQueryDelayPtrOutputWithContext(ctx context.Context) AgentQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentQueryDelayOutput).ToAgentQueryDelayPtrOutputWithContext(ctx) +} + +// AgentQueryDelayPtrInput is an input type that accepts AgentQueryDelayArgs, AgentQueryDelayPtr and AgentQueryDelayPtrOutput values. +// You can construct a concrete instance of `AgentQueryDelayPtrInput` via: +// +// AgentQueryDelayArgs{...} +// +// or: +// +// nil +type AgentQueryDelayPtrInput interface { + pulumi.Input + + ToAgentQueryDelayPtrOutput() AgentQueryDelayPtrOutput + ToAgentQueryDelayPtrOutputWithContext(context.Context) AgentQueryDelayPtrOutput +} + +type agentQueryDelayPtrType AgentQueryDelayArgs + +func AgentQueryDelayPtr(v *AgentQueryDelayArgs) AgentQueryDelayPtrInput { + return (*agentQueryDelayPtrType)(v) +} + +func (*agentQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentQueryDelay)(nil)).Elem() +} + +func (i *agentQueryDelayPtrType) ToAgentQueryDelayPtrOutput() AgentQueryDelayPtrOutput { + return i.ToAgentQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *agentQueryDelayPtrType) ToAgentQueryDelayPtrOutputWithContext(ctx context.Context) AgentQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentQueryDelayPtrOutput) +} + +type AgentQueryDelayOutput struct{ *pulumi.OutputState } + +func (AgentQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentQueryDelay)(nil)).Elem() +} + +func (o AgentQueryDelayOutput) ToAgentQueryDelayOutput() AgentQueryDelayOutput { + return o +} + +func (o AgentQueryDelayOutput) ToAgentQueryDelayOutputWithContext(ctx context.Context) AgentQueryDelayOutput { + return o +} + +func (o AgentQueryDelayOutput) ToAgentQueryDelayPtrOutput() AgentQueryDelayPtrOutput { + return o.ToAgentQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o AgentQueryDelayOutput) ToAgentQueryDelayPtrOutputWithContext(ctx context.Context) AgentQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentQueryDelay) *AgentQueryDelay { + return &v + }).(AgentQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o AgentQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v AgentQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o AgentQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v AgentQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type AgentQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (AgentQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentQueryDelay)(nil)).Elem() +} + +func (o AgentQueryDelayPtrOutput) ToAgentQueryDelayPtrOutput() AgentQueryDelayPtrOutput { + return o +} + +func (o AgentQueryDelayPtrOutput) ToAgentQueryDelayPtrOutputWithContext(ctx context.Context) AgentQueryDelayPtrOutput { + return o +} + +func (o AgentQueryDelayPtrOutput) Elem() AgentQueryDelayOutput { + return o.ApplyT(func(v *AgentQueryDelay) AgentQueryDelay { + if v != nil { + return *v + } + var ret AgentQueryDelay + return ret + }).(AgentQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o AgentQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o AgentQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *AgentQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type AgentRedshiftConfig struct { +} + +// AgentRedshiftConfigInput is an input type that accepts AgentRedshiftConfigArgs and AgentRedshiftConfigOutput values. +// You can construct a concrete instance of `AgentRedshiftConfigInput` via: +// +// AgentRedshiftConfigArgs{...} +type AgentRedshiftConfigInput interface { + pulumi.Input + + ToAgentRedshiftConfigOutput() AgentRedshiftConfigOutput + ToAgentRedshiftConfigOutputWithContext(context.Context) AgentRedshiftConfigOutput +} + +type AgentRedshiftConfigArgs struct { +} + +func (AgentRedshiftConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentRedshiftConfig)(nil)).Elem() +} + +func (i AgentRedshiftConfigArgs) ToAgentRedshiftConfigOutput() AgentRedshiftConfigOutput { + return i.ToAgentRedshiftConfigOutputWithContext(context.Background()) +} + +func (i AgentRedshiftConfigArgs) ToAgentRedshiftConfigOutputWithContext(ctx context.Context) AgentRedshiftConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentRedshiftConfigOutput) +} + +func (i AgentRedshiftConfigArgs) ToAgentRedshiftConfigPtrOutput() AgentRedshiftConfigPtrOutput { + return i.ToAgentRedshiftConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentRedshiftConfigArgs) ToAgentRedshiftConfigPtrOutputWithContext(ctx context.Context) AgentRedshiftConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentRedshiftConfigOutput).ToAgentRedshiftConfigPtrOutputWithContext(ctx) +} + +// AgentRedshiftConfigPtrInput is an input type that accepts AgentRedshiftConfigArgs, AgentRedshiftConfigPtr and AgentRedshiftConfigPtrOutput values. +// You can construct a concrete instance of `AgentRedshiftConfigPtrInput` via: +// +// AgentRedshiftConfigArgs{...} +// +// or: +// +// nil +type AgentRedshiftConfigPtrInput interface { + pulumi.Input + + ToAgentRedshiftConfigPtrOutput() AgentRedshiftConfigPtrOutput + ToAgentRedshiftConfigPtrOutputWithContext(context.Context) AgentRedshiftConfigPtrOutput +} + +type agentRedshiftConfigPtrType AgentRedshiftConfigArgs + +func AgentRedshiftConfigPtr(v *AgentRedshiftConfigArgs) AgentRedshiftConfigPtrInput { + return (*agentRedshiftConfigPtrType)(v) +} + +func (*agentRedshiftConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentRedshiftConfig)(nil)).Elem() +} + +func (i *agentRedshiftConfigPtrType) ToAgentRedshiftConfigPtrOutput() AgentRedshiftConfigPtrOutput { + return i.ToAgentRedshiftConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentRedshiftConfigPtrType) ToAgentRedshiftConfigPtrOutputWithContext(ctx context.Context) AgentRedshiftConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentRedshiftConfigPtrOutput) +} + +type AgentRedshiftConfigOutput struct{ *pulumi.OutputState } + +func (AgentRedshiftConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentRedshiftConfig)(nil)).Elem() +} + +func (o AgentRedshiftConfigOutput) ToAgentRedshiftConfigOutput() AgentRedshiftConfigOutput { + return o +} + +func (o AgentRedshiftConfigOutput) ToAgentRedshiftConfigOutputWithContext(ctx context.Context) AgentRedshiftConfigOutput { + return o +} + +func (o AgentRedshiftConfigOutput) ToAgentRedshiftConfigPtrOutput() AgentRedshiftConfigPtrOutput { + return o.ToAgentRedshiftConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentRedshiftConfigOutput) ToAgentRedshiftConfigPtrOutputWithContext(ctx context.Context) AgentRedshiftConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentRedshiftConfig) *AgentRedshiftConfig { + return &v + }).(AgentRedshiftConfigPtrOutput) +} + +type AgentRedshiftConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentRedshiftConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentRedshiftConfig)(nil)).Elem() +} + +func (o AgentRedshiftConfigPtrOutput) ToAgentRedshiftConfigPtrOutput() AgentRedshiftConfigPtrOutput { + return o +} + +func (o AgentRedshiftConfigPtrOutput) ToAgentRedshiftConfigPtrOutputWithContext(ctx context.Context) AgentRedshiftConfigPtrOutput { + return o +} + +func (o AgentRedshiftConfigPtrOutput) Elem() AgentRedshiftConfigOutput { + return o.ApplyT(func(v *AgentRedshiftConfig) AgentRedshiftConfig { + if v != nil { + return *v + } + var ret AgentRedshiftConfig + return ret + }).(AgentRedshiftConfigOutput) +} + +type AgentSplunkConfig struct { + // Base API URL to the Splunk Search app. + Url string `pulumi:"url"` +} + +// AgentSplunkConfigInput is an input type that accepts AgentSplunkConfigArgs and AgentSplunkConfigOutput values. +// You can construct a concrete instance of `AgentSplunkConfigInput` via: +// +// AgentSplunkConfigArgs{...} +type AgentSplunkConfigInput interface { + pulumi.Input + + ToAgentSplunkConfigOutput() AgentSplunkConfigOutput + ToAgentSplunkConfigOutputWithContext(context.Context) AgentSplunkConfigOutput +} + +type AgentSplunkConfigArgs struct { + // Base API URL to the Splunk Search app. + Url pulumi.StringInput `pulumi:"url"` +} + +func (AgentSplunkConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentSplunkConfig)(nil)).Elem() +} + +func (i AgentSplunkConfigArgs) ToAgentSplunkConfigOutput() AgentSplunkConfigOutput { + return i.ToAgentSplunkConfigOutputWithContext(context.Background()) +} + +func (i AgentSplunkConfigArgs) ToAgentSplunkConfigOutputWithContext(ctx context.Context) AgentSplunkConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentSplunkConfigOutput) +} + +func (i AgentSplunkConfigArgs) ToAgentSplunkConfigPtrOutput() AgentSplunkConfigPtrOutput { + return i.ToAgentSplunkConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentSplunkConfigArgs) ToAgentSplunkConfigPtrOutputWithContext(ctx context.Context) AgentSplunkConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentSplunkConfigOutput).ToAgentSplunkConfigPtrOutputWithContext(ctx) +} + +// AgentSplunkConfigPtrInput is an input type that accepts AgentSplunkConfigArgs, AgentSplunkConfigPtr and AgentSplunkConfigPtrOutput values. +// You can construct a concrete instance of `AgentSplunkConfigPtrInput` via: +// +// AgentSplunkConfigArgs{...} +// +// or: +// +// nil +type AgentSplunkConfigPtrInput interface { + pulumi.Input + + ToAgentSplunkConfigPtrOutput() AgentSplunkConfigPtrOutput + ToAgentSplunkConfigPtrOutputWithContext(context.Context) AgentSplunkConfigPtrOutput +} + +type agentSplunkConfigPtrType AgentSplunkConfigArgs + +func AgentSplunkConfigPtr(v *AgentSplunkConfigArgs) AgentSplunkConfigPtrInput { + return (*agentSplunkConfigPtrType)(v) +} + +func (*agentSplunkConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentSplunkConfig)(nil)).Elem() +} + +func (i *agentSplunkConfigPtrType) ToAgentSplunkConfigPtrOutput() AgentSplunkConfigPtrOutput { + return i.ToAgentSplunkConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentSplunkConfigPtrType) ToAgentSplunkConfigPtrOutputWithContext(ctx context.Context) AgentSplunkConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentSplunkConfigPtrOutput) +} + +type AgentSplunkConfigOutput struct{ *pulumi.OutputState } + +func (AgentSplunkConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentSplunkConfig)(nil)).Elem() +} + +func (o AgentSplunkConfigOutput) ToAgentSplunkConfigOutput() AgentSplunkConfigOutput { + return o +} + +func (o AgentSplunkConfigOutput) ToAgentSplunkConfigOutputWithContext(ctx context.Context) AgentSplunkConfigOutput { + return o +} + +func (o AgentSplunkConfigOutput) ToAgentSplunkConfigPtrOutput() AgentSplunkConfigPtrOutput { + return o.ToAgentSplunkConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentSplunkConfigOutput) ToAgentSplunkConfigPtrOutputWithContext(ctx context.Context) AgentSplunkConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentSplunkConfig) *AgentSplunkConfig { + return &v + }).(AgentSplunkConfigPtrOutput) +} + +// Base API URL to the Splunk Search app. +func (o AgentSplunkConfigOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v AgentSplunkConfig) string { return v.Url }).(pulumi.StringOutput) +} + +type AgentSplunkConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentSplunkConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentSplunkConfig)(nil)).Elem() +} + +func (o AgentSplunkConfigPtrOutput) ToAgentSplunkConfigPtrOutput() AgentSplunkConfigPtrOutput { + return o +} + +func (o AgentSplunkConfigPtrOutput) ToAgentSplunkConfigPtrOutputWithContext(ctx context.Context) AgentSplunkConfigPtrOutput { + return o +} + +func (o AgentSplunkConfigPtrOutput) Elem() AgentSplunkConfigOutput { + return o.ApplyT(func(v *AgentSplunkConfig) AgentSplunkConfig { + if v != nil { + return *v + } + var ret AgentSplunkConfig + return ret + }).(AgentSplunkConfigOutput) +} + +// Base API URL to the Splunk Search app. +func (o AgentSplunkConfigPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentSplunkConfig) *string { + if v == nil { + return nil + } + return &v.Url + }).(pulumi.StringPtrOutput) +} + +type AgentSplunkObservabilityConfig struct { + // SplunkObservability Realm. + Realm string `pulumi:"realm"` +} + +// AgentSplunkObservabilityConfigInput is an input type that accepts AgentSplunkObservabilityConfigArgs and AgentSplunkObservabilityConfigOutput values. +// You can construct a concrete instance of `AgentSplunkObservabilityConfigInput` via: +// +// AgentSplunkObservabilityConfigArgs{...} +type AgentSplunkObservabilityConfigInput interface { + pulumi.Input + + ToAgentSplunkObservabilityConfigOutput() AgentSplunkObservabilityConfigOutput + ToAgentSplunkObservabilityConfigOutputWithContext(context.Context) AgentSplunkObservabilityConfigOutput +} + +type AgentSplunkObservabilityConfigArgs struct { + // SplunkObservability Realm. + Realm pulumi.StringInput `pulumi:"realm"` +} + +func (AgentSplunkObservabilityConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentSplunkObservabilityConfig)(nil)).Elem() +} + +func (i AgentSplunkObservabilityConfigArgs) ToAgentSplunkObservabilityConfigOutput() AgentSplunkObservabilityConfigOutput { + return i.ToAgentSplunkObservabilityConfigOutputWithContext(context.Background()) +} + +func (i AgentSplunkObservabilityConfigArgs) ToAgentSplunkObservabilityConfigOutputWithContext(ctx context.Context) AgentSplunkObservabilityConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentSplunkObservabilityConfigOutput) +} + +func (i AgentSplunkObservabilityConfigArgs) ToAgentSplunkObservabilityConfigPtrOutput() AgentSplunkObservabilityConfigPtrOutput { + return i.ToAgentSplunkObservabilityConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentSplunkObservabilityConfigArgs) ToAgentSplunkObservabilityConfigPtrOutputWithContext(ctx context.Context) AgentSplunkObservabilityConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentSplunkObservabilityConfigOutput).ToAgentSplunkObservabilityConfigPtrOutputWithContext(ctx) +} + +// AgentSplunkObservabilityConfigPtrInput is an input type that accepts AgentSplunkObservabilityConfigArgs, AgentSplunkObservabilityConfigPtr and AgentSplunkObservabilityConfigPtrOutput values. +// You can construct a concrete instance of `AgentSplunkObservabilityConfigPtrInput` via: +// +// AgentSplunkObservabilityConfigArgs{...} +// +// or: +// +// nil +type AgentSplunkObservabilityConfigPtrInput interface { + pulumi.Input + + ToAgentSplunkObservabilityConfigPtrOutput() AgentSplunkObservabilityConfigPtrOutput + ToAgentSplunkObservabilityConfigPtrOutputWithContext(context.Context) AgentSplunkObservabilityConfigPtrOutput +} + +type agentSplunkObservabilityConfigPtrType AgentSplunkObservabilityConfigArgs + +func AgentSplunkObservabilityConfigPtr(v *AgentSplunkObservabilityConfigArgs) AgentSplunkObservabilityConfigPtrInput { + return (*agentSplunkObservabilityConfigPtrType)(v) +} + +func (*agentSplunkObservabilityConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentSplunkObservabilityConfig)(nil)).Elem() +} + +func (i *agentSplunkObservabilityConfigPtrType) ToAgentSplunkObservabilityConfigPtrOutput() AgentSplunkObservabilityConfigPtrOutput { + return i.ToAgentSplunkObservabilityConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentSplunkObservabilityConfigPtrType) ToAgentSplunkObservabilityConfigPtrOutputWithContext(ctx context.Context) AgentSplunkObservabilityConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentSplunkObservabilityConfigPtrOutput) +} + +type AgentSplunkObservabilityConfigOutput struct{ *pulumi.OutputState } + +func (AgentSplunkObservabilityConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentSplunkObservabilityConfig)(nil)).Elem() +} + +func (o AgentSplunkObservabilityConfigOutput) ToAgentSplunkObservabilityConfigOutput() AgentSplunkObservabilityConfigOutput { + return o +} + +func (o AgentSplunkObservabilityConfigOutput) ToAgentSplunkObservabilityConfigOutputWithContext(ctx context.Context) AgentSplunkObservabilityConfigOutput { + return o +} + +func (o AgentSplunkObservabilityConfigOutput) ToAgentSplunkObservabilityConfigPtrOutput() AgentSplunkObservabilityConfigPtrOutput { + return o.ToAgentSplunkObservabilityConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentSplunkObservabilityConfigOutput) ToAgentSplunkObservabilityConfigPtrOutputWithContext(ctx context.Context) AgentSplunkObservabilityConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentSplunkObservabilityConfig) *AgentSplunkObservabilityConfig { + return &v + }).(AgentSplunkObservabilityConfigPtrOutput) +} + +// SplunkObservability Realm. +func (o AgentSplunkObservabilityConfigOutput) Realm() pulumi.StringOutput { + return o.ApplyT(func(v AgentSplunkObservabilityConfig) string { return v.Realm }).(pulumi.StringOutput) +} + +type AgentSplunkObservabilityConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentSplunkObservabilityConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentSplunkObservabilityConfig)(nil)).Elem() +} + +func (o AgentSplunkObservabilityConfigPtrOutput) ToAgentSplunkObservabilityConfigPtrOutput() AgentSplunkObservabilityConfigPtrOutput { + return o +} + +func (o AgentSplunkObservabilityConfigPtrOutput) ToAgentSplunkObservabilityConfigPtrOutputWithContext(ctx context.Context) AgentSplunkObservabilityConfigPtrOutput { + return o +} + +func (o AgentSplunkObservabilityConfigPtrOutput) Elem() AgentSplunkObservabilityConfigOutput { + return o.ApplyT(func(v *AgentSplunkObservabilityConfig) AgentSplunkObservabilityConfig { + if v != nil { + return *v + } + var ret AgentSplunkObservabilityConfig + return ret + }).(AgentSplunkObservabilityConfigOutput) +} + +// SplunkObservability Realm. +func (o AgentSplunkObservabilityConfigPtrOutput) Realm() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentSplunkObservabilityConfig) *string { + if v == nil { + return nil + } + return &v.Realm + }).(pulumi.StringPtrOutput) +} + +type AgentSumologicConfig struct { + // Sumo Logic API URL. + Url string `pulumi:"url"` +} + +// AgentSumologicConfigInput is an input type that accepts AgentSumologicConfigArgs and AgentSumologicConfigOutput values. +// You can construct a concrete instance of `AgentSumologicConfigInput` via: +// +// AgentSumologicConfigArgs{...} +type AgentSumologicConfigInput interface { + pulumi.Input + + ToAgentSumologicConfigOutput() AgentSumologicConfigOutput + ToAgentSumologicConfigOutputWithContext(context.Context) AgentSumologicConfigOutput +} + +type AgentSumologicConfigArgs struct { + // Sumo Logic API URL. + Url pulumi.StringInput `pulumi:"url"` +} + +func (AgentSumologicConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentSumologicConfig)(nil)).Elem() +} + +func (i AgentSumologicConfigArgs) ToAgentSumologicConfigOutput() AgentSumologicConfigOutput { + return i.ToAgentSumologicConfigOutputWithContext(context.Background()) +} + +func (i AgentSumologicConfigArgs) ToAgentSumologicConfigOutputWithContext(ctx context.Context) AgentSumologicConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentSumologicConfigOutput) +} + +func (i AgentSumologicConfigArgs) ToAgentSumologicConfigPtrOutput() AgentSumologicConfigPtrOutput { + return i.ToAgentSumologicConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentSumologicConfigArgs) ToAgentSumologicConfigPtrOutputWithContext(ctx context.Context) AgentSumologicConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentSumologicConfigOutput).ToAgentSumologicConfigPtrOutputWithContext(ctx) +} + +// AgentSumologicConfigPtrInput is an input type that accepts AgentSumologicConfigArgs, AgentSumologicConfigPtr and AgentSumologicConfigPtrOutput values. +// You can construct a concrete instance of `AgentSumologicConfigPtrInput` via: +// +// AgentSumologicConfigArgs{...} +// +// or: +// +// nil +type AgentSumologicConfigPtrInput interface { + pulumi.Input + + ToAgentSumologicConfigPtrOutput() AgentSumologicConfigPtrOutput + ToAgentSumologicConfigPtrOutputWithContext(context.Context) AgentSumologicConfigPtrOutput +} + +type agentSumologicConfigPtrType AgentSumologicConfigArgs + +func AgentSumologicConfigPtr(v *AgentSumologicConfigArgs) AgentSumologicConfigPtrInput { + return (*agentSumologicConfigPtrType)(v) +} + +func (*agentSumologicConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentSumologicConfig)(nil)).Elem() +} + +func (i *agentSumologicConfigPtrType) ToAgentSumologicConfigPtrOutput() AgentSumologicConfigPtrOutput { + return i.ToAgentSumologicConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentSumologicConfigPtrType) ToAgentSumologicConfigPtrOutputWithContext(ctx context.Context) AgentSumologicConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentSumologicConfigPtrOutput) +} + +type AgentSumologicConfigOutput struct{ *pulumi.OutputState } + +func (AgentSumologicConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentSumologicConfig)(nil)).Elem() +} + +func (o AgentSumologicConfigOutput) ToAgentSumologicConfigOutput() AgentSumologicConfigOutput { + return o +} + +func (o AgentSumologicConfigOutput) ToAgentSumologicConfigOutputWithContext(ctx context.Context) AgentSumologicConfigOutput { + return o +} + +func (o AgentSumologicConfigOutput) ToAgentSumologicConfigPtrOutput() AgentSumologicConfigPtrOutput { + return o.ToAgentSumologicConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentSumologicConfigOutput) ToAgentSumologicConfigPtrOutputWithContext(ctx context.Context) AgentSumologicConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentSumologicConfig) *AgentSumologicConfig { + return &v + }).(AgentSumologicConfigPtrOutput) +} + +// Sumo Logic API URL. +func (o AgentSumologicConfigOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v AgentSumologicConfig) string { return v.Url }).(pulumi.StringOutput) +} + +type AgentSumologicConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentSumologicConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentSumologicConfig)(nil)).Elem() +} + +func (o AgentSumologicConfigPtrOutput) ToAgentSumologicConfigPtrOutput() AgentSumologicConfigPtrOutput { + return o +} + +func (o AgentSumologicConfigPtrOutput) ToAgentSumologicConfigPtrOutputWithContext(ctx context.Context) AgentSumologicConfigPtrOutput { + return o +} + +func (o AgentSumologicConfigPtrOutput) Elem() AgentSumologicConfigOutput { + return o.ApplyT(func(v *AgentSumologicConfig) AgentSumologicConfig { + if v != nil { + return *v + } + var ret AgentSumologicConfig + return ret + }).(AgentSumologicConfigOutput) +} + +// Sumo Logic API URL. +func (o AgentSumologicConfigPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentSumologicConfig) *string { + if v == nil { + return nil + } + return &v.Url + }).(pulumi.StringPtrOutput) +} + +type AgentThousandeyesConfig struct { +} + +// AgentThousandeyesConfigInput is an input type that accepts AgentThousandeyesConfigArgs and AgentThousandeyesConfigOutput values. +// You can construct a concrete instance of `AgentThousandeyesConfigInput` via: +// +// AgentThousandeyesConfigArgs{...} +type AgentThousandeyesConfigInput interface { + pulumi.Input + + ToAgentThousandeyesConfigOutput() AgentThousandeyesConfigOutput + ToAgentThousandeyesConfigOutputWithContext(context.Context) AgentThousandeyesConfigOutput +} + +type AgentThousandeyesConfigArgs struct { +} + +func (AgentThousandeyesConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentThousandeyesConfig)(nil)).Elem() +} + +func (i AgentThousandeyesConfigArgs) ToAgentThousandeyesConfigOutput() AgentThousandeyesConfigOutput { + return i.ToAgentThousandeyesConfigOutputWithContext(context.Background()) +} + +func (i AgentThousandeyesConfigArgs) ToAgentThousandeyesConfigOutputWithContext(ctx context.Context) AgentThousandeyesConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentThousandeyesConfigOutput) +} + +func (i AgentThousandeyesConfigArgs) ToAgentThousandeyesConfigPtrOutput() AgentThousandeyesConfigPtrOutput { + return i.ToAgentThousandeyesConfigPtrOutputWithContext(context.Background()) +} + +func (i AgentThousandeyesConfigArgs) ToAgentThousandeyesConfigPtrOutputWithContext(ctx context.Context) AgentThousandeyesConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentThousandeyesConfigOutput).ToAgentThousandeyesConfigPtrOutputWithContext(ctx) +} + +// AgentThousandeyesConfigPtrInput is an input type that accepts AgentThousandeyesConfigArgs, AgentThousandeyesConfigPtr and AgentThousandeyesConfigPtrOutput values. +// You can construct a concrete instance of `AgentThousandeyesConfigPtrInput` via: +// +// AgentThousandeyesConfigArgs{...} +// +// or: +// +// nil +type AgentThousandeyesConfigPtrInput interface { + pulumi.Input + + ToAgentThousandeyesConfigPtrOutput() AgentThousandeyesConfigPtrOutput + ToAgentThousandeyesConfigPtrOutputWithContext(context.Context) AgentThousandeyesConfigPtrOutput +} + +type agentThousandeyesConfigPtrType AgentThousandeyesConfigArgs + +func AgentThousandeyesConfigPtr(v *AgentThousandeyesConfigArgs) AgentThousandeyesConfigPtrInput { + return (*agentThousandeyesConfigPtrType)(v) +} + +func (*agentThousandeyesConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentThousandeyesConfig)(nil)).Elem() +} + +func (i *agentThousandeyesConfigPtrType) ToAgentThousandeyesConfigPtrOutput() AgentThousandeyesConfigPtrOutput { + return i.ToAgentThousandeyesConfigPtrOutputWithContext(context.Background()) +} + +func (i *agentThousandeyesConfigPtrType) ToAgentThousandeyesConfigPtrOutputWithContext(ctx context.Context) AgentThousandeyesConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentThousandeyesConfigPtrOutput) +} + +type AgentThousandeyesConfigOutput struct{ *pulumi.OutputState } + +func (AgentThousandeyesConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentThousandeyesConfig)(nil)).Elem() +} + +func (o AgentThousandeyesConfigOutput) ToAgentThousandeyesConfigOutput() AgentThousandeyesConfigOutput { + return o +} + +func (o AgentThousandeyesConfigOutput) ToAgentThousandeyesConfigOutputWithContext(ctx context.Context) AgentThousandeyesConfigOutput { + return o +} + +func (o AgentThousandeyesConfigOutput) ToAgentThousandeyesConfigPtrOutput() AgentThousandeyesConfigPtrOutput { + return o.ToAgentThousandeyesConfigPtrOutputWithContext(context.Background()) +} + +func (o AgentThousandeyesConfigOutput) ToAgentThousandeyesConfigPtrOutputWithContext(ctx context.Context) AgentThousandeyesConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentThousandeyesConfig) *AgentThousandeyesConfig { + return &v + }).(AgentThousandeyesConfigPtrOutput) +} + +type AgentThousandeyesConfigPtrOutput struct{ *pulumi.OutputState } + +func (AgentThousandeyesConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentThousandeyesConfig)(nil)).Elem() +} + +func (o AgentThousandeyesConfigPtrOutput) ToAgentThousandeyesConfigPtrOutput() AgentThousandeyesConfigPtrOutput { + return o +} + +func (o AgentThousandeyesConfigPtrOutput) ToAgentThousandeyesConfigPtrOutputWithContext(ctx context.Context) AgentThousandeyesConfigPtrOutput { + return o +} + +func (o AgentThousandeyesConfigPtrOutput) Elem() AgentThousandeyesConfigOutput { + return o.ApplyT(func(v *AgentThousandeyesConfig) AgentThousandeyesConfig { + if v != nil { + return *v + } + var ret AgentThousandeyesConfig + return ret + }).(AgentThousandeyesConfigOutput) +} + +type AlertPolicyAlertMethod struct { + // The name of the previously defined alert method. + Name string `pulumi:"name"` + // Project name the Alert Method is in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). If not defined, Nobl9 returns a default value for this field. + Project *string `pulumi:"project"` +} + +// AlertPolicyAlertMethodInput is an input type that accepts AlertPolicyAlertMethodArgs and AlertPolicyAlertMethodOutput values. +// You can construct a concrete instance of `AlertPolicyAlertMethodInput` via: +// +// AlertPolicyAlertMethodArgs{...} +type AlertPolicyAlertMethodInput interface { + pulumi.Input + + ToAlertPolicyAlertMethodOutput() AlertPolicyAlertMethodOutput + ToAlertPolicyAlertMethodOutputWithContext(context.Context) AlertPolicyAlertMethodOutput +} + +type AlertPolicyAlertMethodArgs struct { + // The name of the previously defined alert method. + Name pulumi.StringInput `pulumi:"name"` + // Project name the Alert Method is in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). If not defined, Nobl9 returns a default value for this field. + Project pulumi.StringPtrInput `pulumi:"project"` +} + +func (AlertPolicyAlertMethodArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AlertPolicyAlertMethod)(nil)).Elem() +} + +func (i AlertPolicyAlertMethodArgs) ToAlertPolicyAlertMethodOutput() AlertPolicyAlertMethodOutput { + return i.ToAlertPolicyAlertMethodOutputWithContext(context.Background()) +} + +func (i AlertPolicyAlertMethodArgs) ToAlertPolicyAlertMethodOutputWithContext(ctx context.Context) AlertPolicyAlertMethodOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertPolicyAlertMethodOutput) +} + +// AlertPolicyAlertMethodArrayInput is an input type that accepts AlertPolicyAlertMethodArray and AlertPolicyAlertMethodArrayOutput values. +// You can construct a concrete instance of `AlertPolicyAlertMethodArrayInput` via: +// +// AlertPolicyAlertMethodArray{ AlertPolicyAlertMethodArgs{...} } +type AlertPolicyAlertMethodArrayInput interface { + pulumi.Input + + ToAlertPolicyAlertMethodArrayOutput() AlertPolicyAlertMethodArrayOutput + ToAlertPolicyAlertMethodArrayOutputWithContext(context.Context) AlertPolicyAlertMethodArrayOutput +} + +type AlertPolicyAlertMethodArray []AlertPolicyAlertMethodInput + +func (AlertPolicyAlertMethodArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AlertPolicyAlertMethod)(nil)).Elem() +} + +func (i AlertPolicyAlertMethodArray) ToAlertPolicyAlertMethodArrayOutput() AlertPolicyAlertMethodArrayOutput { + return i.ToAlertPolicyAlertMethodArrayOutputWithContext(context.Background()) +} + +func (i AlertPolicyAlertMethodArray) ToAlertPolicyAlertMethodArrayOutputWithContext(ctx context.Context) AlertPolicyAlertMethodArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertPolicyAlertMethodArrayOutput) +} + +type AlertPolicyAlertMethodOutput struct{ *pulumi.OutputState } + +func (AlertPolicyAlertMethodOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AlertPolicyAlertMethod)(nil)).Elem() +} + +func (o AlertPolicyAlertMethodOutput) ToAlertPolicyAlertMethodOutput() AlertPolicyAlertMethodOutput { + return o +} + +func (o AlertPolicyAlertMethodOutput) ToAlertPolicyAlertMethodOutputWithContext(ctx context.Context) AlertPolicyAlertMethodOutput { + return o +} + +// The name of the previously defined alert method. +func (o AlertPolicyAlertMethodOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v AlertPolicyAlertMethod) string { return v.Name }).(pulumi.StringOutput) +} + +// Project name the Alert Method is in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). If not defined, Nobl9 returns a default value for this field. +func (o AlertPolicyAlertMethodOutput) Project() pulumi.StringPtrOutput { + return o.ApplyT(func(v AlertPolicyAlertMethod) *string { return v.Project }).(pulumi.StringPtrOutput) +} + +type AlertPolicyAlertMethodArrayOutput struct{ *pulumi.OutputState } + +func (AlertPolicyAlertMethodArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AlertPolicyAlertMethod)(nil)).Elem() +} + +func (o AlertPolicyAlertMethodArrayOutput) ToAlertPolicyAlertMethodArrayOutput() AlertPolicyAlertMethodArrayOutput { + return o +} + +func (o AlertPolicyAlertMethodArrayOutput) ToAlertPolicyAlertMethodArrayOutputWithContext(ctx context.Context) AlertPolicyAlertMethodArrayOutput { + return o +} + +func (o AlertPolicyAlertMethodArrayOutput) Index(i pulumi.IntInput) AlertPolicyAlertMethodOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AlertPolicyAlertMethod { + return vs[0].([]AlertPolicyAlertMethod)[vs[1].(int)] + }).(AlertPolicyAlertMethodOutput) +} + +type AlertPolicyCondition struct { + // Indicates how long a given condition needs to be valid to mark the condition as true. + LastsFor *string `pulumi:"lastsFor"` + // One of `timeToBurnBudget` | `burnRate` | `burnedBudget`. + Measurement string `pulumi:"measurement"` + // For `averageBurnRate`, it indicates how fast the error budget is burning. For `burnedBudget`, it tells how much error budget is already burned. + Value *float64 `pulumi:"value"` + // Used with `timeToBurnBudget`, indicates when the budget would be exhausted. The expected value is a string in time duration string format. + ValueString *string `pulumi:"valueString"` +} + +// AlertPolicyConditionInput is an input type that accepts AlertPolicyConditionArgs and AlertPolicyConditionOutput values. +// You can construct a concrete instance of `AlertPolicyConditionInput` via: +// +// AlertPolicyConditionArgs{...} +type AlertPolicyConditionInput interface { + pulumi.Input + + ToAlertPolicyConditionOutput() AlertPolicyConditionOutput + ToAlertPolicyConditionOutputWithContext(context.Context) AlertPolicyConditionOutput +} + +type AlertPolicyConditionArgs struct { + // Indicates how long a given condition needs to be valid to mark the condition as true. + LastsFor pulumi.StringPtrInput `pulumi:"lastsFor"` + // One of `timeToBurnBudget` | `burnRate` | `burnedBudget`. + Measurement pulumi.StringInput `pulumi:"measurement"` + // For `averageBurnRate`, it indicates how fast the error budget is burning. For `burnedBudget`, it tells how much error budget is already burned. + Value pulumi.Float64PtrInput `pulumi:"value"` + // Used with `timeToBurnBudget`, indicates when the budget would be exhausted. The expected value is a string in time duration string format. + ValueString pulumi.StringPtrInput `pulumi:"valueString"` +} + +func (AlertPolicyConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AlertPolicyCondition)(nil)).Elem() +} + +func (i AlertPolicyConditionArgs) ToAlertPolicyConditionOutput() AlertPolicyConditionOutput { + return i.ToAlertPolicyConditionOutputWithContext(context.Background()) +} + +func (i AlertPolicyConditionArgs) ToAlertPolicyConditionOutputWithContext(ctx context.Context) AlertPolicyConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertPolicyConditionOutput) +} + +// AlertPolicyConditionArrayInput is an input type that accepts AlertPolicyConditionArray and AlertPolicyConditionArrayOutput values. +// You can construct a concrete instance of `AlertPolicyConditionArrayInput` via: +// +// AlertPolicyConditionArray{ AlertPolicyConditionArgs{...} } +type AlertPolicyConditionArrayInput interface { + pulumi.Input + + ToAlertPolicyConditionArrayOutput() AlertPolicyConditionArrayOutput + ToAlertPolicyConditionArrayOutputWithContext(context.Context) AlertPolicyConditionArrayOutput +} + +type AlertPolicyConditionArray []AlertPolicyConditionInput + +func (AlertPolicyConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AlertPolicyCondition)(nil)).Elem() +} + +func (i AlertPolicyConditionArray) ToAlertPolicyConditionArrayOutput() AlertPolicyConditionArrayOutput { + return i.ToAlertPolicyConditionArrayOutputWithContext(context.Background()) +} + +func (i AlertPolicyConditionArray) ToAlertPolicyConditionArrayOutputWithContext(ctx context.Context) AlertPolicyConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlertPolicyConditionArrayOutput) +} + +type AlertPolicyConditionOutput struct{ *pulumi.OutputState } + +func (AlertPolicyConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AlertPolicyCondition)(nil)).Elem() +} + +func (o AlertPolicyConditionOutput) ToAlertPolicyConditionOutput() AlertPolicyConditionOutput { + return o +} + +func (o AlertPolicyConditionOutput) ToAlertPolicyConditionOutputWithContext(ctx context.Context) AlertPolicyConditionOutput { + return o +} + +// Indicates how long a given condition needs to be valid to mark the condition as true. +func (o AlertPolicyConditionOutput) LastsFor() pulumi.StringPtrOutput { + return o.ApplyT(func(v AlertPolicyCondition) *string { return v.LastsFor }).(pulumi.StringPtrOutput) +} + +// One of `timeToBurnBudget` | `burnRate` | `burnedBudget`. +func (o AlertPolicyConditionOutput) Measurement() pulumi.StringOutput { + return o.ApplyT(func(v AlertPolicyCondition) string { return v.Measurement }).(pulumi.StringOutput) +} + +// For `averageBurnRate`, it indicates how fast the error budget is burning. For `burnedBudget`, it tells how much error budget is already burned. +func (o AlertPolicyConditionOutput) Value() pulumi.Float64PtrOutput { + return o.ApplyT(func(v AlertPolicyCondition) *float64 { return v.Value }).(pulumi.Float64PtrOutput) +} + +// Used with `timeToBurnBudget`, indicates when the budget would be exhausted. The expected value is a string in time duration string format. +func (o AlertPolicyConditionOutput) ValueString() pulumi.StringPtrOutput { + return o.ApplyT(func(v AlertPolicyCondition) *string { return v.ValueString }).(pulumi.StringPtrOutput) +} + +type AlertPolicyConditionArrayOutput struct{ *pulumi.OutputState } + +func (AlertPolicyConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AlertPolicyCondition)(nil)).Elem() +} + +func (o AlertPolicyConditionArrayOutput) ToAlertPolicyConditionArrayOutput() AlertPolicyConditionArrayOutput { + return o +} + +func (o AlertPolicyConditionArrayOutput) ToAlertPolicyConditionArrayOutputWithContext(ctx context.Context) AlertPolicyConditionArrayOutput { + return o +} + +func (o AlertPolicyConditionArrayOutput) Index(i pulumi.IntInput) AlertPolicyConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AlertPolicyCondition { + return vs[0].([]AlertPolicyCondition)[vs[1].(int)] + }).(AlertPolicyConditionOutput) +} + +type DirectAppdynamicsQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectAppdynamicsQueryDelayInput is an input type that accepts DirectAppdynamicsQueryDelayArgs and DirectAppdynamicsQueryDelayOutput values. +// You can construct a concrete instance of `DirectAppdynamicsQueryDelayInput` via: +// +// DirectAppdynamicsQueryDelayArgs{...} +type DirectAppdynamicsQueryDelayInput interface { + pulumi.Input + + ToDirectAppdynamicsQueryDelayOutput() DirectAppdynamicsQueryDelayOutput + ToDirectAppdynamicsQueryDelayOutputWithContext(context.Context) DirectAppdynamicsQueryDelayOutput +} + +type DirectAppdynamicsQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectAppdynamicsQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectAppdynamicsQueryDelay)(nil)).Elem() +} + +func (i DirectAppdynamicsQueryDelayArgs) ToDirectAppdynamicsQueryDelayOutput() DirectAppdynamicsQueryDelayOutput { + return i.ToDirectAppdynamicsQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectAppdynamicsQueryDelayArgs) ToDirectAppdynamicsQueryDelayOutputWithContext(ctx context.Context) DirectAppdynamicsQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectAppdynamicsQueryDelayOutput) +} + +func (i DirectAppdynamicsQueryDelayArgs) ToDirectAppdynamicsQueryDelayPtrOutput() DirectAppdynamicsQueryDelayPtrOutput { + return i.ToDirectAppdynamicsQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectAppdynamicsQueryDelayArgs) ToDirectAppdynamicsQueryDelayPtrOutputWithContext(ctx context.Context) DirectAppdynamicsQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectAppdynamicsQueryDelayOutput).ToDirectAppdynamicsQueryDelayPtrOutputWithContext(ctx) +} + +// DirectAppdynamicsQueryDelayPtrInput is an input type that accepts DirectAppdynamicsQueryDelayArgs, DirectAppdynamicsQueryDelayPtr and DirectAppdynamicsQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectAppdynamicsQueryDelayPtrInput` via: +// +// DirectAppdynamicsQueryDelayArgs{...} +// +// or: +// +// nil +type DirectAppdynamicsQueryDelayPtrInput interface { + pulumi.Input + + ToDirectAppdynamicsQueryDelayPtrOutput() DirectAppdynamicsQueryDelayPtrOutput + ToDirectAppdynamicsQueryDelayPtrOutputWithContext(context.Context) DirectAppdynamicsQueryDelayPtrOutput +} + +type directAppdynamicsQueryDelayPtrType DirectAppdynamicsQueryDelayArgs + +func DirectAppdynamicsQueryDelayPtr(v *DirectAppdynamicsQueryDelayArgs) DirectAppdynamicsQueryDelayPtrInput { + return (*directAppdynamicsQueryDelayPtrType)(v) +} + +func (*directAppdynamicsQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectAppdynamicsQueryDelay)(nil)).Elem() +} + +func (i *directAppdynamicsQueryDelayPtrType) ToDirectAppdynamicsQueryDelayPtrOutput() DirectAppdynamicsQueryDelayPtrOutput { + return i.ToDirectAppdynamicsQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directAppdynamicsQueryDelayPtrType) ToDirectAppdynamicsQueryDelayPtrOutputWithContext(ctx context.Context) DirectAppdynamicsQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectAppdynamicsQueryDelayPtrOutput) +} + +type DirectAppdynamicsQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectAppdynamicsQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectAppdynamicsQueryDelay)(nil)).Elem() +} + +func (o DirectAppdynamicsQueryDelayOutput) ToDirectAppdynamicsQueryDelayOutput() DirectAppdynamicsQueryDelayOutput { + return o +} + +func (o DirectAppdynamicsQueryDelayOutput) ToDirectAppdynamicsQueryDelayOutputWithContext(ctx context.Context) DirectAppdynamicsQueryDelayOutput { + return o +} + +func (o DirectAppdynamicsQueryDelayOutput) ToDirectAppdynamicsQueryDelayPtrOutput() DirectAppdynamicsQueryDelayPtrOutput { + return o.ToDirectAppdynamicsQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectAppdynamicsQueryDelayOutput) ToDirectAppdynamicsQueryDelayPtrOutputWithContext(ctx context.Context) DirectAppdynamicsQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectAppdynamicsQueryDelay) *DirectAppdynamicsQueryDelay { + return &v + }).(DirectAppdynamicsQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectAppdynamicsQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectAppdynamicsQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectAppdynamicsQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectAppdynamicsQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectAppdynamicsQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectAppdynamicsQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectAppdynamicsQueryDelay)(nil)).Elem() +} + +func (o DirectAppdynamicsQueryDelayPtrOutput) ToDirectAppdynamicsQueryDelayPtrOutput() DirectAppdynamicsQueryDelayPtrOutput { + return o +} + +func (o DirectAppdynamicsQueryDelayPtrOutput) ToDirectAppdynamicsQueryDelayPtrOutputWithContext(ctx context.Context) DirectAppdynamicsQueryDelayPtrOutput { + return o +} + +func (o DirectAppdynamicsQueryDelayPtrOutput) Elem() DirectAppdynamicsQueryDelayOutput { + return o.ApplyT(func(v *DirectAppdynamicsQueryDelay) DirectAppdynamicsQueryDelay { + if v != nil { + return *v + } + var ret DirectAppdynamicsQueryDelay + return ret + }).(DirectAppdynamicsQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectAppdynamicsQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectAppdynamicsQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectAppdynamicsQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectAppdynamicsQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type DirectBigqueryQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectBigqueryQueryDelayInput is an input type that accepts DirectBigqueryQueryDelayArgs and DirectBigqueryQueryDelayOutput values. +// You can construct a concrete instance of `DirectBigqueryQueryDelayInput` via: +// +// DirectBigqueryQueryDelayArgs{...} +type DirectBigqueryQueryDelayInput interface { + pulumi.Input + + ToDirectBigqueryQueryDelayOutput() DirectBigqueryQueryDelayOutput + ToDirectBigqueryQueryDelayOutputWithContext(context.Context) DirectBigqueryQueryDelayOutput +} + +type DirectBigqueryQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectBigqueryQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectBigqueryQueryDelay)(nil)).Elem() +} + +func (i DirectBigqueryQueryDelayArgs) ToDirectBigqueryQueryDelayOutput() DirectBigqueryQueryDelayOutput { + return i.ToDirectBigqueryQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectBigqueryQueryDelayArgs) ToDirectBigqueryQueryDelayOutputWithContext(ctx context.Context) DirectBigqueryQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectBigqueryQueryDelayOutput) +} + +func (i DirectBigqueryQueryDelayArgs) ToDirectBigqueryQueryDelayPtrOutput() DirectBigqueryQueryDelayPtrOutput { + return i.ToDirectBigqueryQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectBigqueryQueryDelayArgs) ToDirectBigqueryQueryDelayPtrOutputWithContext(ctx context.Context) DirectBigqueryQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectBigqueryQueryDelayOutput).ToDirectBigqueryQueryDelayPtrOutputWithContext(ctx) +} + +// DirectBigqueryQueryDelayPtrInput is an input type that accepts DirectBigqueryQueryDelayArgs, DirectBigqueryQueryDelayPtr and DirectBigqueryQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectBigqueryQueryDelayPtrInput` via: +// +// DirectBigqueryQueryDelayArgs{...} +// +// or: +// +// nil +type DirectBigqueryQueryDelayPtrInput interface { + pulumi.Input + + ToDirectBigqueryQueryDelayPtrOutput() DirectBigqueryQueryDelayPtrOutput + ToDirectBigqueryQueryDelayPtrOutputWithContext(context.Context) DirectBigqueryQueryDelayPtrOutput +} + +type directBigqueryQueryDelayPtrType DirectBigqueryQueryDelayArgs + +func DirectBigqueryQueryDelayPtr(v *DirectBigqueryQueryDelayArgs) DirectBigqueryQueryDelayPtrInput { + return (*directBigqueryQueryDelayPtrType)(v) +} + +func (*directBigqueryQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectBigqueryQueryDelay)(nil)).Elem() +} + +func (i *directBigqueryQueryDelayPtrType) ToDirectBigqueryQueryDelayPtrOutput() DirectBigqueryQueryDelayPtrOutput { + return i.ToDirectBigqueryQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directBigqueryQueryDelayPtrType) ToDirectBigqueryQueryDelayPtrOutputWithContext(ctx context.Context) DirectBigqueryQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectBigqueryQueryDelayPtrOutput) +} + +type DirectBigqueryQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectBigqueryQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectBigqueryQueryDelay)(nil)).Elem() +} + +func (o DirectBigqueryQueryDelayOutput) ToDirectBigqueryQueryDelayOutput() DirectBigqueryQueryDelayOutput { + return o +} + +func (o DirectBigqueryQueryDelayOutput) ToDirectBigqueryQueryDelayOutputWithContext(ctx context.Context) DirectBigqueryQueryDelayOutput { + return o +} + +func (o DirectBigqueryQueryDelayOutput) ToDirectBigqueryQueryDelayPtrOutput() DirectBigqueryQueryDelayPtrOutput { + return o.ToDirectBigqueryQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectBigqueryQueryDelayOutput) ToDirectBigqueryQueryDelayPtrOutputWithContext(ctx context.Context) DirectBigqueryQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectBigqueryQueryDelay) *DirectBigqueryQueryDelay { + return &v + }).(DirectBigqueryQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectBigqueryQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectBigqueryQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectBigqueryQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectBigqueryQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectBigqueryQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectBigqueryQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectBigqueryQueryDelay)(nil)).Elem() +} + +func (o DirectBigqueryQueryDelayPtrOutput) ToDirectBigqueryQueryDelayPtrOutput() DirectBigqueryQueryDelayPtrOutput { + return o +} + +func (o DirectBigqueryQueryDelayPtrOutput) ToDirectBigqueryQueryDelayPtrOutputWithContext(ctx context.Context) DirectBigqueryQueryDelayPtrOutput { + return o +} + +func (o DirectBigqueryQueryDelayPtrOutput) Elem() DirectBigqueryQueryDelayOutput { + return o.ApplyT(func(v *DirectBigqueryQueryDelay) DirectBigqueryQueryDelay { + if v != nil { + return *v + } + var ret DirectBigqueryQueryDelay + return ret + }).(DirectBigqueryQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectBigqueryQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectBigqueryQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectBigqueryQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectBigqueryQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type DirectCloudwatchHistoricalDataRetrieval struct { + // Used by default for any SLOs connected to this data source. + DefaultDurations []DirectCloudwatchHistoricalDataRetrievalDefaultDuration `pulumi:"defaultDurations"` + // Defines the maximum period for which data can be retrieved. + MaxDurations []DirectCloudwatchHistoricalDataRetrievalMaxDuration `pulumi:"maxDurations"` +} + +// DirectCloudwatchHistoricalDataRetrievalInput is an input type that accepts DirectCloudwatchHistoricalDataRetrievalArgs and DirectCloudwatchHistoricalDataRetrievalOutput values. +// You can construct a concrete instance of `DirectCloudwatchHistoricalDataRetrievalInput` via: +// +// DirectCloudwatchHistoricalDataRetrievalArgs{...} +type DirectCloudwatchHistoricalDataRetrievalInput interface { + pulumi.Input + + ToDirectCloudwatchHistoricalDataRetrievalOutput() DirectCloudwatchHistoricalDataRetrievalOutput + ToDirectCloudwatchHistoricalDataRetrievalOutputWithContext(context.Context) DirectCloudwatchHistoricalDataRetrievalOutput +} + +type DirectCloudwatchHistoricalDataRetrievalArgs struct { + // Used by default for any SLOs connected to this data source. + DefaultDurations DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayInput `pulumi:"defaultDurations"` + // Defines the maximum period for which data can be retrieved. + MaxDurations DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayInput `pulumi:"maxDurations"` +} + +func (DirectCloudwatchHistoricalDataRetrievalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectCloudwatchHistoricalDataRetrieval)(nil)).Elem() +} + +func (i DirectCloudwatchHistoricalDataRetrievalArgs) ToDirectCloudwatchHistoricalDataRetrievalOutput() DirectCloudwatchHistoricalDataRetrievalOutput { + return i.ToDirectCloudwatchHistoricalDataRetrievalOutputWithContext(context.Background()) +} + +func (i DirectCloudwatchHistoricalDataRetrievalArgs) ToDirectCloudwatchHistoricalDataRetrievalOutputWithContext(ctx context.Context) DirectCloudwatchHistoricalDataRetrievalOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectCloudwatchHistoricalDataRetrievalOutput) +} + +func (i DirectCloudwatchHistoricalDataRetrievalArgs) ToDirectCloudwatchHistoricalDataRetrievalPtrOutput() DirectCloudwatchHistoricalDataRetrievalPtrOutput { + return i.ToDirectCloudwatchHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (i DirectCloudwatchHistoricalDataRetrievalArgs) ToDirectCloudwatchHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectCloudwatchHistoricalDataRetrievalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectCloudwatchHistoricalDataRetrievalOutput).ToDirectCloudwatchHistoricalDataRetrievalPtrOutputWithContext(ctx) +} + +// DirectCloudwatchHistoricalDataRetrievalPtrInput is an input type that accepts DirectCloudwatchHistoricalDataRetrievalArgs, DirectCloudwatchHistoricalDataRetrievalPtr and DirectCloudwatchHistoricalDataRetrievalPtrOutput values. +// You can construct a concrete instance of `DirectCloudwatchHistoricalDataRetrievalPtrInput` via: +// +// DirectCloudwatchHistoricalDataRetrievalArgs{...} +// +// or: +// +// nil +type DirectCloudwatchHistoricalDataRetrievalPtrInput interface { + pulumi.Input + + ToDirectCloudwatchHistoricalDataRetrievalPtrOutput() DirectCloudwatchHistoricalDataRetrievalPtrOutput + ToDirectCloudwatchHistoricalDataRetrievalPtrOutputWithContext(context.Context) DirectCloudwatchHistoricalDataRetrievalPtrOutput +} + +type directCloudwatchHistoricalDataRetrievalPtrType DirectCloudwatchHistoricalDataRetrievalArgs + +func DirectCloudwatchHistoricalDataRetrievalPtr(v *DirectCloudwatchHistoricalDataRetrievalArgs) DirectCloudwatchHistoricalDataRetrievalPtrInput { + return (*directCloudwatchHistoricalDataRetrievalPtrType)(v) +} + +func (*directCloudwatchHistoricalDataRetrievalPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectCloudwatchHistoricalDataRetrieval)(nil)).Elem() +} + +func (i *directCloudwatchHistoricalDataRetrievalPtrType) ToDirectCloudwatchHistoricalDataRetrievalPtrOutput() DirectCloudwatchHistoricalDataRetrievalPtrOutput { + return i.ToDirectCloudwatchHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (i *directCloudwatchHistoricalDataRetrievalPtrType) ToDirectCloudwatchHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectCloudwatchHistoricalDataRetrievalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectCloudwatchHistoricalDataRetrievalPtrOutput) +} + +type DirectCloudwatchHistoricalDataRetrievalOutput struct{ *pulumi.OutputState } + +func (DirectCloudwatchHistoricalDataRetrievalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectCloudwatchHistoricalDataRetrieval)(nil)).Elem() +} + +func (o DirectCloudwatchHistoricalDataRetrievalOutput) ToDirectCloudwatchHistoricalDataRetrievalOutput() DirectCloudwatchHistoricalDataRetrievalOutput { + return o +} + +func (o DirectCloudwatchHistoricalDataRetrievalOutput) ToDirectCloudwatchHistoricalDataRetrievalOutputWithContext(ctx context.Context) DirectCloudwatchHistoricalDataRetrievalOutput { + return o +} + +func (o DirectCloudwatchHistoricalDataRetrievalOutput) ToDirectCloudwatchHistoricalDataRetrievalPtrOutput() DirectCloudwatchHistoricalDataRetrievalPtrOutput { + return o.ToDirectCloudwatchHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (o DirectCloudwatchHistoricalDataRetrievalOutput) ToDirectCloudwatchHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectCloudwatchHistoricalDataRetrievalPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectCloudwatchHistoricalDataRetrieval) *DirectCloudwatchHistoricalDataRetrieval { + return &v + }).(DirectCloudwatchHistoricalDataRetrievalPtrOutput) +} + +// Used by default for any SLOs connected to this data source. +func (o DirectCloudwatchHistoricalDataRetrievalOutput) DefaultDurations() DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput { + return o.ApplyT(func(v DirectCloudwatchHistoricalDataRetrieval) []DirectCloudwatchHistoricalDataRetrievalDefaultDuration { + return v.DefaultDurations + }).(DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +// Defines the maximum period for which data can be retrieved. +func (o DirectCloudwatchHistoricalDataRetrievalOutput) MaxDurations() DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput { + return o.ApplyT(func(v DirectCloudwatchHistoricalDataRetrieval) []DirectCloudwatchHistoricalDataRetrievalMaxDuration { + return v.MaxDurations + }).(DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectCloudwatchHistoricalDataRetrievalPtrOutput struct{ *pulumi.OutputState } + +func (DirectCloudwatchHistoricalDataRetrievalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectCloudwatchHistoricalDataRetrieval)(nil)).Elem() +} + +func (o DirectCloudwatchHistoricalDataRetrievalPtrOutput) ToDirectCloudwatchHistoricalDataRetrievalPtrOutput() DirectCloudwatchHistoricalDataRetrievalPtrOutput { + return o +} + +func (o DirectCloudwatchHistoricalDataRetrievalPtrOutput) ToDirectCloudwatchHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectCloudwatchHistoricalDataRetrievalPtrOutput { + return o +} + +func (o DirectCloudwatchHistoricalDataRetrievalPtrOutput) Elem() DirectCloudwatchHistoricalDataRetrievalOutput { + return o.ApplyT(func(v *DirectCloudwatchHistoricalDataRetrieval) DirectCloudwatchHistoricalDataRetrieval { + if v != nil { + return *v + } + var ret DirectCloudwatchHistoricalDataRetrieval + return ret + }).(DirectCloudwatchHistoricalDataRetrievalOutput) +} + +// Used by default for any SLOs connected to this data source. +func (o DirectCloudwatchHistoricalDataRetrievalPtrOutput) DefaultDurations() DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput { + return o.ApplyT(func(v *DirectCloudwatchHistoricalDataRetrieval) []DirectCloudwatchHistoricalDataRetrievalDefaultDuration { + if v == nil { + return nil + } + return v.DefaultDurations + }).(DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +// Defines the maximum period for which data can be retrieved. +func (o DirectCloudwatchHistoricalDataRetrievalPtrOutput) MaxDurations() DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput { + return o.ApplyT(func(v *DirectCloudwatchHistoricalDataRetrieval) []DirectCloudwatchHistoricalDataRetrievalMaxDuration { + if v == nil { + return nil + } + return v.MaxDurations + }).(DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectCloudwatchHistoricalDataRetrievalDefaultDuration struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// DirectCloudwatchHistoricalDataRetrievalDefaultDurationInput is an input type that accepts DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs and DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput values. +// You can construct a concrete instance of `DirectCloudwatchHistoricalDataRetrievalDefaultDurationInput` via: +// +// DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs{...} +type DirectCloudwatchHistoricalDataRetrievalDefaultDurationInput interface { + pulumi.Input + + ToDirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput() DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput + ToDirectCloudwatchHistoricalDataRetrievalDefaultDurationOutputWithContext(context.Context) DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput +} + +type DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectCloudwatchHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (i DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs) ToDirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput() DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput { + return i.ToDirectCloudwatchHistoricalDataRetrievalDefaultDurationOutputWithContext(context.Background()) +} + +func (i DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs) ToDirectCloudwatchHistoricalDataRetrievalDefaultDurationOutputWithContext(ctx context.Context) DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput) +} + +// DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayInput is an input type that accepts DirectCloudwatchHistoricalDataRetrievalDefaultDurationArray and DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput values. +// You can construct a concrete instance of `DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayInput` via: +// +// DirectCloudwatchHistoricalDataRetrievalDefaultDurationArray{ DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs{...} } +type DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayInput interface { + pulumi.Input + + ToDirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput() DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput + ToDirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(context.Context) DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput +} + +type DirectCloudwatchHistoricalDataRetrievalDefaultDurationArray []DirectCloudwatchHistoricalDataRetrievalDefaultDurationInput + +func (DirectCloudwatchHistoricalDataRetrievalDefaultDurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectCloudwatchHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (i DirectCloudwatchHistoricalDataRetrievalDefaultDurationArray) ToDirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput() DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput { + return i.ToDirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(context.Background()) +} + +func (i DirectCloudwatchHistoricalDataRetrievalDefaultDurationArray) ToDirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(ctx context.Context) DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +type DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput struct{ *pulumi.OutputState } + +func (DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectCloudwatchHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (o DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput) ToDirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput() DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput { + return o +} + +func (o DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput) ToDirectCloudwatchHistoricalDataRetrievalDefaultDurationOutputWithContext(ctx context.Context) DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput { + return o +} + +func (o DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectCloudwatchHistoricalDataRetrievalDefaultDuration) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectCloudwatchHistoricalDataRetrievalDefaultDuration) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput struct{ *pulumi.OutputState } + +func (DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectCloudwatchHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (o DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput) ToDirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput() DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput { + return o +} + +func (o DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput) ToDirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(ctx context.Context) DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput { + return o +} + +func (o DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput) Index(i pulumi.IntInput) DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DirectCloudwatchHistoricalDataRetrievalDefaultDuration { + return vs[0].([]DirectCloudwatchHistoricalDataRetrievalDefaultDuration)[vs[1].(int)] + }).(DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput) +} + +type DirectCloudwatchHistoricalDataRetrievalMaxDuration struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// DirectCloudwatchHistoricalDataRetrievalMaxDurationInput is an input type that accepts DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs and DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput values. +// You can construct a concrete instance of `DirectCloudwatchHistoricalDataRetrievalMaxDurationInput` via: +// +// DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs{...} +type DirectCloudwatchHistoricalDataRetrievalMaxDurationInput interface { + pulumi.Input + + ToDirectCloudwatchHistoricalDataRetrievalMaxDurationOutput() DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput + ToDirectCloudwatchHistoricalDataRetrievalMaxDurationOutputWithContext(context.Context) DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput +} + +type DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectCloudwatchHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (i DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs) ToDirectCloudwatchHistoricalDataRetrievalMaxDurationOutput() DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput { + return i.ToDirectCloudwatchHistoricalDataRetrievalMaxDurationOutputWithContext(context.Background()) +} + +func (i DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs) ToDirectCloudwatchHistoricalDataRetrievalMaxDurationOutputWithContext(ctx context.Context) DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput) +} + +// DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayInput is an input type that accepts DirectCloudwatchHistoricalDataRetrievalMaxDurationArray and DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput values. +// You can construct a concrete instance of `DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayInput` via: +// +// DirectCloudwatchHistoricalDataRetrievalMaxDurationArray{ DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs{...} } +type DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayInput interface { + pulumi.Input + + ToDirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput() DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput + ToDirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutputWithContext(context.Context) DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput +} + +type DirectCloudwatchHistoricalDataRetrievalMaxDurationArray []DirectCloudwatchHistoricalDataRetrievalMaxDurationInput + +func (DirectCloudwatchHistoricalDataRetrievalMaxDurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectCloudwatchHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (i DirectCloudwatchHistoricalDataRetrievalMaxDurationArray) ToDirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput() DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput { + return i.ToDirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutputWithContext(context.Background()) +} + +func (i DirectCloudwatchHistoricalDataRetrievalMaxDurationArray) ToDirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutputWithContext(ctx context.Context) DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput struct{ *pulumi.OutputState } + +func (DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectCloudwatchHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (o DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput) ToDirectCloudwatchHistoricalDataRetrievalMaxDurationOutput() DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput { + return o +} + +func (o DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput) ToDirectCloudwatchHistoricalDataRetrievalMaxDurationOutputWithContext(ctx context.Context) DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput { + return o +} + +func (o DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectCloudwatchHistoricalDataRetrievalMaxDuration) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectCloudwatchHistoricalDataRetrievalMaxDuration) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput struct{ *pulumi.OutputState } + +func (DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectCloudwatchHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (o DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput) ToDirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput() DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput { + return o +} + +func (o DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput) ToDirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutputWithContext(ctx context.Context) DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput { + return o +} + +func (o DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput) Index(i pulumi.IntInput) DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DirectCloudwatchHistoricalDataRetrievalMaxDuration { + return vs[0].([]DirectCloudwatchHistoricalDataRetrievalMaxDuration)[vs[1].(int)] + }).(DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput) +} + +type DirectCloudwatchQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectCloudwatchQueryDelayInput is an input type that accepts DirectCloudwatchQueryDelayArgs and DirectCloudwatchQueryDelayOutput values. +// You can construct a concrete instance of `DirectCloudwatchQueryDelayInput` via: +// +// DirectCloudwatchQueryDelayArgs{...} +type DirectCloudwatchQueryDelayInput interface { + pulumi.Input + + ToDirectCloudwatchQueryDelayOutput() DirectCloudwatchQueryDelayOutput + ToDirectCloudwatchQueryDelayOutputWithContext(context.Context) DirectCloudwatchQueryDelayOutput +} + +type DirectCloudwatchQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectCloudwatchQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectCloudwatchQueryDelay)(nil)).Elem() +} + +func (i DirectCloudwatchQueryDelayArgs) ToDirectCloudwatchQueryDelayOutput() DirectCloudwatchQueryDelayOutput { + return i.ToDirectCloudwatchQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectCloudwatchQueryDelayArgs) ToDirectCloudwatchQueryDelayOutputWithContext(ctx context.Context) DirectCloudwatchQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectCloudwatchQueryDelayOutput) +} + +func (i DirectCloudwatchQueryDelayArgs) ToDirectCloudwatchQueryDelayPtrOutput() DirectCloudwatchQueryDelayPtrOutput { + return i.ToDirectCloudwatchQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectCloudwatchQueryDelayArgs) ToDirectCloudwatchQueryDelayPtrOutputWithContext(ctx context.Context) DirectCloudwatchQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectCloudwatchQueryDelayOutput).ToDirectCloudwatchQueryDelayPtrOutputWithContext(ctx) +} + +// DirectCloudwatchQueryDelayPtrInput is an input type that accepts DirectCloudwatchQueryDelayArgs, DirectCloudwatchQueryDelayPtr and DirectCloudwatchQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectCloudwatchQueryDelayPtrInput` via: +// +// DirectCloudwatchQueryDelayArgs{...} +// +// or: +// +// nil +type DirectCloudwatchQueryDelayPtrInput interface { + pulumi.Input + + ToDirectCloudwatchQueryDelayPtrOutput() DirectCloudwatchQueryDelayPtrOutput + ToDirectCloudwatchQueryDelayPtrOutputWithContext(context.Context) DirectCloudwatchQueryDelayPtrOutput +} + +type directCloudwatchQueryDelayPtrType DirectCloudwatchQueryDelayArgs + +func DirectCloudwatchQueryDelayPtr(v *DirectCloudwatchQueryDelayArgs) DirectCloudwatchQueryDelayPtrInput { + return (*directCloudwatchQueryDelayPtrType)(v) +} + +func (*directCloudwatchQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectCloudwatchQueryDelay)(nil)).Elem() +} + +func (i *directCloudwatchQueryDelayPtrType) ToDirectCloudwatchQueryDelayPtrOutput() DirectCloudwatchQueryDelayPtrOutput { + return i.ToDirectCloudwatchQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directCloudwatchQueryDelayPtrType) ToDirectCloudwatchQueryDelayPtrOutputWithContext(ctx context.Context) DirectCloudwatchQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectCloudwatchQueryDelayPtrOutput) +} + +type DirectCloudwatchQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectCloudwatchQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectCloudwatchQueryDelay)(nil)).Elem() +} + +func (o DirectCloudwatchQueryDelayOutput) ToDirectCloudwatchQueryDelayOutput() DirectCloudwatchQueryDelayOutput { + return o +} + +func (o DirectCloudwatchQueryDelayOutput) ToDirectCloudwatchQueryDelayOutputWithContext(ctx context.Context) DirectCloudwatchQueryDelayOutput { + return o +} + +func (o DirectCloudwatchQueryDelayOutput) ToDirectCloudwatchQueryDelayPtrOutput() DirectCloudwatchQueryDelayPtrOutput { + return o.ToDirectCloudwatchQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectCloudwatchQueryDelayOutput) ToDirectCloudwatchQueryDelayPtrOutputWithContext(ctx context.Context) DirectCloudwatchQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectCloudwatchQueryDelay) *DirectCloudwatchQueryDelay { + return &v + }).(DirectCloudwatchQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectCloudwatchQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectCloudwatchQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectCloudwatchQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectCloudwatchQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectCloudwatchQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectCloudwatchQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectCloudwatchQueryDelay)(nil)).Elem() +} + +func (o DirectCloudwatchQueryDelayPtrOutput) ToDirectCloudwatchQueryDelayPtrOutput() DirectCloudwatchQueryDelayPtrOutput { + return o +} + +func (o DirectCloudwatchQueryDelayPtrOutput) ToDirectCloudwatchQueryDelayPtrOutputWithContext(ctx context.Context) DirectCloudwatchQueryDelayPtrOutput { + return o +} + +func (o DirectCloudwatchQueryDelayPtrOutput) Elem() DirectCloudwatchQueryDelayOutput { + return o.ApplyT(func(v *DirectCloudwatchQueryDelay) DirectCloudwatchQueryDelay { + if v != nil { + return *v + } + var ret DirectCloudwatchQueryDelay + return ret + }).(DirectCloudwatchQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectCloudwatchQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectCloudwatchQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectCloudwatchQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectCloudwatchQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type DirectDatadogHistoricalDataRetrieval struct { + // Used by default for any SLOs connected to this data source. + DefaultDurations []DirectDatadogHistoricalDataRetrievalDefaultDuration `pulumi:"defaultDurations"` + // Defines the maximum period for which data can be retrieved. + MaxDurations []DirectDatadogHistoricalDataRetrievalMaxDuration `pulumi:"maxDurations"` +} + +// DirectDatadogHistoricalDataRetrievalInput is an input type that accepts DirectDatadogHistoricalDataRetrievalArgs and DirectDatadogHistoricalDataRetrievalOutput values. +// You can construct a concrete instance of `DirectDatadogHistoricalDataRetrievalInput` via: +// +// DirectDatadogHistoricalDataRetrievalArgs{...} +type DirectDatadogHistoricalDataRetrievalInput interface { + pulumi.Input + + ToDirectDatadogHistoricalDataRetrievalOutput() DirectDatadogHistoricalDataRetrievalOutput + ToDirectDatadogHistoricalDataRetrievalOutputWithContext(context.Context) DirectDatadogHistoricalDataRetrievalOutput +} + +type DirectDatadogHistoricalDataRetrievalArgs struct { + // Used by default for any SLOs connected to this data source. + DefaultDurations DirectDatadogHistoricalDataRetrievalDefaultDurationArrayInput `pulumi:"defaultDurations"` + // Defines the maximum period for which data can be retrieved. + MaxDurations DirectDatadogHistoricalDataRetrievalMaxDurationArrayInput `pulumi:"maxDurations"` +} + +func (DirectDatadogHistoricalDataRetrievalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDatadogHistoricalDataRetrieval)(nil)).Elem() +} + +func (i DirectDatadogHistoricalDataRetrievalArgs) ToDirectDatadogHistoricalDataRetrievalOutput() DirectDatadogHistoricalDataRetrievalOutput { + return i.ToDirectDatadogHistoricalDataRetrievalOutputWithContext(context.Background()) +} + +func (i DirectDatadogHistoricalDataRetrievalArgs) ToDirectDatadogHistoricalDataRetrievalOutputWithContext(ctx context.Context) DirectDatadogHistoricalDataRetrievalOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDatadogHistoricalDataRetrievalOutput) +} + +func (i DirectDatadogHistoricalDataRetrievalArgs) ToDirectDatadogHistoricalDataRetrievalPtrOutput() DirectDatadogHistoricalDataRetrievalPtrOutput { + return i.ToDirectDatadogHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (i DirectDatadogHistoricalDataRetrievalArgs) ToDirectDatadogHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectDatadogHistoricalDataRetrievalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDatadogHistoricalDataRetrievalOutput).ToDirectDatadogHistoricalDataRetrievalPtrOutputWithContext(ctx) +} + +// DirectDatadogHistoricalDataRetrievalPtrInput is an input type that accepts DirectDatadogHistoricalDataRetrievalArgs, DirectDatadogHistoricalDataRetrievalPtr and DirectDatadogHistoricalDataRetrievalPtrOutput values. +// You can construct a concrete instance of `DirectDatadogHistoricalDataRetrievalPtrInput` via: +// +// DirectDatadogHistoricalDataRetrievalArgs{...} +// +// or: +// +// nil +type DirectDatadogHistoricalDataRetrievalPtrInput interface { + pulumi.Input + + ToDirectDatadogHistoricalDataRetrievalPtrOutput() DirectDatadogHistoricalDataRetrievalPtrOutput + ToDirectDatadogHistoricalDataRetrievalPtrOutputWithContext(context.Context) DirectDatadogHistoricalDataRetrievalPtrOutput +} + +type directDatadogHistoricalDataRetrievalPtrType DirectDatadogHistoricalDataRetrievalArgs + +func DirectDatadogHistoricalDataRetrievalPtr(v *DirectDatadogHistoricalDataRetrievalArgs) DirectDatadogHistoricalDataRetrievalPtrInput { + return (*directDatadogHistoricalDataRetrievalPtrType)(v) +} + +func (*directDatadogHistoricalDataRetrievalPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectDatadogHistoricalDataRetrieval)(nil)).Elem() +} + +func (i *directDatadogHistoricalDataRetrievalPtrType) ToDirectDatadogHistoricalDataRetrievalPtrOutput() DirectDatadogHistoricalDataRetrievalPtrOutput { + return i.ToDirectDatadogHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (i *directDatadogHistoricalDataRetrievalPtrType) ToDirectDatadogHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectDatadogHistoricalDataRetrievalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDatadogHistoricalDataRetrievalPtrOutput) +} + +type DirectDatadogHistoricalDataRetrievalOutput struct{ *pulumi.OutputState } + +func (DirectDatadogHistoricalDataRetrievalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDatadogHistoricalDataRetrieval)(nil)).Elem() +} + +func (o DirectDatadogHistoricalDataRetrievalOutput) ToDirectDatadogHistoricalDataRetrievalOutput() DirectDatadogHistoricalDataRetrievalOutput { + return o +} + +func (o DirectDatadogHistoricalDataRetrievalOutput) ToDirectDatadogHistoricalDataRetrievalOutputWithContext(ctx context.Context) DirectDatadogHistoricalDataRetrievalOutput { + return o +} + +func (o DirectDatadogHistoricalDataRetrievalOutput) ToDirectDatadogHistoricalDataRetrievalPtrOutput() DirectDatadogHistoricalDataRetrievalPtrOutput { + return o.ToDirectDatadogHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (o DirectDatadogHistoricalDataRetrievalOutput) ToDirectDatadogHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectDatadogHistoricalDataRetrievalPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectDatadogHistoricalDataRetrieval) *DirectDatadogHistoricalDataRetrieval { + return &v + }).(DirectDatadogHistoricalDataRetrievalPtrOutput) +} + +// Used by default for any SLOs connected to this data source. +func (o DirectDatadogHistoricalDataRetrievalOutput) DefaultDurations() DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput { + return o.ApplyT(func(v DirectDatadogHistoricalDataRetrieval) []DirectDatadogHistoricalDataRetrievalDefaultDuration { + return v.DefaultDurations + }).(DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +// Defines the maximum period for which data can be retrieved. +func (o DirectDatadogHistoricalDataRetrievalOutput) MaxDurations() DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput { + return o.ApplyT(func(v DirectDatadogHistoricalDataRetrieval) []DirectDatadogHistoricalDataRetrievalMaxDuration { + return v.MaxDurations + }).(DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectDatadogHistoricalDataRetrievalPtrOutput struct{ *pulumi.OutputState } + +func (DirectDatadogHistoricalDataRetrievalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectDatadogHistoricalDataRetrieval)(nil)).Elem() +} + +func (o DirectDatadogHistoricalDataRetrievalPtrOutput) ToDirectDatadogHistoricalDataRetrievalPtrOutput() DirectDatadogHistoricalDataRetrievalPtrOutput { + return o +} + +func (o DirectDatadogHistoricalDataRetrievalPtrOutput) ToDirectDatadogHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectDatadogHistoricalDataRetrievalPtrOutput { + return o +} + +func (o DirectDatadogHistoricalDataRetrievalPtrOutput) Elem() DirectDatadogHistoricalDataRetrievalOutput { + return o.ApplyT(func(v *DirectDatadogHistoricalDataRetrieval) DirectDatadogHistoricalDataRetrieval { + if v != nil { + return *v + } + var ret DirectDatadogHistoricalDataRetrieval + return ret + }).(DirectDatadogHistoricalDataRetrievalOutput) +} + +// Used by default for any SLOs connected to this data source. +func (o DirectDatadogHistoricalDataRetrievalPtrOutput) DefaultDurations() DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput { + return o.ApplyT(func(v *DirectDatadogHistoricalDataRetrieval) []DirectDatadogHistoricalDataRetrievalDefaultDuration { + if v == nil { + return nil + } + return v.DefaultDurations + }).(DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +// Defines the maximum period for which data can be retrieved. +func (o DirectDatadogHistoricalDataRetrievalPtrOutput) MaxDurations() DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput { + return o.ApplyT(func(v *DirectDatadogHistoricalDataRetrieval) []DirectDatadogHistoricalDataRetrievalMaxDuration { + if v == nil { + return nil + } + return v.MaxDurations + }).(DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectDatadogHistoricalDataRetrievalDefaultDuration struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// DirectDatadogHistoricalDataRetrievalDefaultDurationInput is an input type that accepts DirectDatadogHistoricalDataRetrievalDefaultDurationArgs and DirectDatadogHistoricalDataRetrievalDefaultDurationOutput values. +// You can construct a concrete instance of `DirectDatadogHistoricalDataRetrievalDefaultDurationInput` via: +// +// DirectDatadogHistoricalDataRetrievalDefaultDurationArgs{...} +type DirectDatadogHistoricalDataRetrievalDefaultDurationInput interface { + pulumi.Input + + ToDirectDatadogHistoricalDataRetrievalDefaultDurationOutput() DirectDatadogHistoricalDataRetrievalDefaultDurationOutput + ToDirectDatadogHistoricalDataRetrievalDefaultDurationOutputWithContext(context.Context) DirectDatadogHistoricalDataRetrievalDefaultDurationOutput +} + +type DirectDatadogHistoricalDataRetrievalDefaultDurationArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectDatadogHistoricalDataRetrievalDefaultDurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDatadogHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (i DirectDatadogHistoricalDataRetrievalDefaultDurationArgs) ToDirectDatadogHistoricalDataRetrievalDefaultDurationOutput() DirectDatadogHistoricalDataRetrievalDefaultDurationOutput { + return i.ToDirectDatadogHistoricalDataRetrievalDefaultDurationOutputWithContext(context.Background()) +} + +func (i DirectDatadogHistoricalDataRetrievalDefaultDurationArgs) ToDirectDatadogHistoricalDataRetrievalDefaultDurationOutputWithContext(ctx context.Context) DirectDatadogHistoricalDataRetrievalDefaultDurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDatadogHistoricalDataRetrievalDefaultDurationOutput) +} + +// DirectDatadogHistoricalDataRetrievalDefaultDurationArrayInput is an input type that accepts DirectDatadogHistoricalDataRetrievalDefaultDurationArray and DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput values. +// You can construct a concrete instance of `DirectDatadogHistoricalDataRetrievalDefaultDurationArrayInput` via: +// +// DirectDatadogHistoricalDataRetrievalDefaultDurationArray{ DirectDatadogHistoricalDataRetrievalDefaultDurationArgs{...} } +type DirectDatadogHistoricalDataRetrievalDefaultDurationArrayInput interface { + pulumi.Input + + ToDirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput() DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput + ToDirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(context.Context) DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput +} + +type DirectDatadogHistoricalDataRetrievalDefaultDurationArray []DirectDatadogHistoricalDataRetrievalDefaultDurationInput + +func (DirectDatadogHistoricalDataRetrievalDefaultDurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectDatadogHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (i DirectDatadogHistoricalDataRetrievalDefaultDurationArray) ToDirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput() DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput { + return i.ToDirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(context.Background()) +} + +func (i DirectDatadogHistoricalDataRetrievalDefaultDurationArray) ToDirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(ctx context.Context) DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +type DirectDatadogHistoricalDataRetrievalDefaultDurationOutput struct{ *pulumi.OutputState } + +func (DirectDatadogHistoricalDataRetrievalDefaultDurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDatadogHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (o DirectDatadogHistoricalDataRetrievalDefaultDurationOutput) ToDirectDatadogHistoricalDataRetrievalDefaultDurationOutput() DirectDatadogHistoricalDataRetrievalDefaultDurationOutput { + return o +} + +func (o DirectDatadogHistoricalDataRetrievalDefaultDurationOutput) ToDirectDatadogHistoricalDataRetrievalDefaultDurationOutputWithContext(ctx context.Context) DirectDatadogHistoricalDataRetrievalDefaultDurationOutput { + return o +} + +func (o DirectDatadogHistoricalDataRetrievalDefaultDurationOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectDatadogHistoricalDataRetrievalDefaultDuration) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o DirectDatadogHistoricalDataRetrievalDefaultDurationOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectDatadogHistoricalDataRetrievalDefaultDuration) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput struct{ *pulumi.OutputState } + +func (DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectDatadogHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (o DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput) ToDirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput() DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput { + return o +} + +func (o DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput) ToDirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(ctx context.Context) DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput { + return o +} + +func (o DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput) Index(i pulumi.IntInput) DirectDatadogHistoricalDataRetrievalDefaultDurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DirectDatadogHistoricalDataRetrievalDefaultDuration { + return vs[0].([]DirectDatadogHistoricalDataRetrievalDefaultDuration)[vs[1].(int)] + }).(DirectDatadogHistoricalDataRetrievalDefaultDurationOutput) +} + +type DirectDatadogHistoricalDataRetrievalMaxDuration struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// DirectDatadogHistoricalDataRetrievalMaxDurationInput is an input type that accepts DirectDatadogHistoricalDataRetrievalMaxDurationArgs and DirectDatadogHistoricalDataRetrievalMaxDurationOutput values. +// You can construct a concrete instance of `DirectDatadogHistoricalDataRetrievalMaxDurationInput` via: +// +// DirectDatadogHistoricalDataRetrievalMaxDurationArgs{...} +type DirectDatadogHistoricalDataRetrievalMaxDurationInput interface { + pulumi.Input + + ToDirectDatadogHistoricalDataRetrievalMaxDurationOutput() DirectDatadogHistoricalDataRetrievalMaxDurationOutput + ToDirectDatadogHistoricalDataRetrievalMaxDurationOutputWithContext(context.Context) DirectDatadogHistoricalDataRetrievalMaxDurationOutput +} + +type DirectDatadogHistoricalDataRetrievalMaxDurationArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectDatadogHistoricalDataRetrievalMaxDurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDatadogHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (i DirectDatadogHistoricalDataRetrievalMaxDurationArgs) ToDirectDatadogHistoricalDataRetrievalMaxDurationOutput() DirectDatadogHistoricalDataRetrievalMaxDurationOutput { + return i.ToDirectDatadogHistoricalDataRetrievalMaxDurationOutputWithContext(context.Background()) +} + +func (i DirectDatadogHistoricalDataRetrievalMaxDurationArgs) ToDirectDatadogHistoricalDataRetrievalMaxDurationOutputWithContext(ctx context.Context) DirectDatadogHistoricalDataRetrievalMaxDurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDatadogHistoricalDataRetrievalMaxDurationOutput) +} + +// DirectDatadogHistoricalDataRetrievalMaxDurationArrayInput is an input type that accepts DirectDatadogHistoricalDataRetrievalMaxDurationArray and DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput values. +// You can construct a concrete instance of `DirectDatadogHistoricalDataRetrievalMaxDurationArrayInput` via: +// +// DirectDatadogHistoricalDataRetrievalMaxDurationArray{ DirectDatadogHistoricalDataRetrievalMaxDurationArgs{...} } +type DirectDatadogHistoricalDataRetrievalMaxDurationArrayInput interface { + pulumi.Input + + ToDirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput() DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput + ToDirectDatadogHistoricalDataRetrievalMaxDurationArrayOutputWithContext(context.Context) DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput +} + +type DirectDatadogHistoricalDataRetrievalMaxDurationArray []DirectDatadogHistoricalDataRetrievalMaxDurationInput + +func (DirectDatadogHistoricalDataRetrievalMaxDurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectDatadogHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (i DirectDatadogHistoricalDataRetrievalMaxDurationArray) ToDirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput() DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput { + return i.ToDirectDatadogHistoricalDataRetrievalMaxDurationArrayOutputWithContext(context.Background()) +} + +func (i DirectDatadogHistoricalDataRetrievalMaxDurationArray) ToDirectDatadogHistoricalDataRetrievalMaxDurationArrayOutputWithContext(ctx context.Context) DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectDatadogHistoricalDataRetrievalMaxDurationOutput struct{ *pulumi.OutputState } + +func (DirectDatadogHistoricalDataRetrievalMaxDurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDatadogHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (o DirectDatadogHistoricalDataRetrievalMaxDurationOutput) ToDirectDatadogHistoricalDataRetrievalMaxDurationOutput() DirectDatadogHistoricalDataRetrievalMaxDurationOutput { + return o +} + +func (o DirectDatadogHistoricalDataRetrievalMaxDurationOutput) ToDirectDatadogHistoricalDataRetrievalMaxDurationOutputWithContext(ctx context.Context) DirectDatadogHistoricalDataRetrievalMaxDurationOutput { + return o +} + +func (o DirectDatadogHistoricalDataRetrievalMaxDurationOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectDatadogHistoricalDataRetrievalMaxDuration) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o DirectDatadogHistoricalDataRetrievalMaxDurationOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectDatadogHistoricalDataRetrievalMaxDuration) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput struct{ *pulumi.OutputState } + +func (DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectDatadogHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (o DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput) ToDirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput() DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput { + return o +} + +func (o DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput) ToDirectDatadogHistoricalDataRetrievalMaxDurationArrayOutputWithContext(ctx context.Context) DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput { + return o +} + +func (o DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput) Index(i pulumi.IntInput) DirectDatadogHistoricalDataRetrievalMaxDurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DirectDatadogHistoricalDataRetrievalMaxDuration { + return vs[0].([]DirectDatadogHistoricalDataRetrievalMaxDuration)[vs[1].(int)] + }).(DirectDatadogHistoricalDataRetrievalMaxDurationOutput) +} + +type DirectDatadogQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectDatadogQueryDelayInput is an input type that accepts DirectDatadogQueryDelayArgs and DirectDatadogQueryDelayOutput values. +// You can construct a concrete instance of `DirectDatadogQueryDelayInput` via: +// +// DirectDatadogQueryDelayArgs{...} +type DirectDatadogQueryDelayInput interface { + pulumi.Input + + ToDirectDatadogQueryDelayOutput() DirectDatadogQueryDelayOutput + ToDirectDatadogQueryDelayOutputWithContext(context.Context) DirectDatadogQueryDelayOutput +} + +type DirectDatadogQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectDatadogQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDatadogQueryDelay)(nil)).Elem() +} + +func (i DirectDatadogQueryDelayArgs) ToDirectDatadogQueryDelayOutput() DirectDatadogQueryDelayOutput { + return i.ToDirectDatadogQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectDatadogQueryDelayArgs) ToDirectDatadogQueryDelayOutputWithContext(ctx context.Context) DirectDatadogQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDatadogQueryDelayOutput) +} + +func (i DirectDatadogQueryDelayArgs) ToDirectDatadogQueryDelayPtrOutput() DirectDatadogQueryDelayPtrOutput { + return i.ToDirectDatadogQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectDatadogQueryDelayArgs) ToDirectDatadogQueryDelayPtrOutputWithContext(ctx context.Context) DirectDatadogQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDatadogQueryDelayOutput).ToDirectDatadogQueryDelayPtrOutputWithContext(ctx) +} + +// DirectDatadogQueryDelayPtrInput is an input type that accepts DirectDatadogQueryDelayArgs, DirectDatadogQueryDelayPtr and DirectDatadogQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectDatadogQueryDelayPtrInput` via: +// +// DirectDatadogQueryDelayArgs{...} +// +// or: +// +// nil +type DirectDatadogQueryDelayPtrInput interface { + pulumi.Input + + ToDirectDatadogQueryDelayPtrOutput() DirectDatadogQueryDelayPtrOutput + ToDirectDatadogQueryDelayPtrOutputWithContext(context.Context) DirectDatadogQueryDelayPtrOutput +} + +type directDatadogQueryDelayPtrType DirectDatadogQueryDelayArgs + +func DirectDatadogQueryDelayPtr(v *DirectDatadogQueryDelayArgs) DirectDatadogQueryDelayPtrInput { + return (*directDatadogQueryDelayPtrType)(v) +} + +func (*directDatadogQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectDatadogQueryDelay)(nil)).Elem() +} + +func (i *directDatadogQueryDelayPtrType) ToDirectDatadogQueryDelayPtrOutput() DirectDatadogQueryDelayPtrOutput { + return i.ToDirectDatadogQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directDatadogQueryDelayPtrType) ToDirectDatadogQueryDelayPtrOutputWithContext(ctx context.Context) DirectDatadogQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDatadogQueryDelayPtrOutput) +} + +type DirectDatadogQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectDatadogQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDatadogQueryDelay)(nil)).Elem() +} + +func (o DirectDatadogQueryDelayOutput) ToDirectDatadogQueryDelayOutput() DirectDatadogQueryDelayOutput { + return o +} + +func (o DirectDatadogQueryDelayOutput) ToDirectDatadogQueryDelayOutputWithContext(ctx context.Context) DirectDatadogQueryDelayOutput { + return o +} + +func (o DirectDatadogQueryDelayOutput) ToDirectDatadogQueryDelayPtrOutput() DirectDatadogQueryDelayPtrOutput { + return o.ToDirectDatadogQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectDatadogQueryDelayOutput) ToDirectDatadogQueryDelayPtrOutputWithContext(ctx context.Context) DirectDatadogQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectDatadogQueryDelay) *DirectDatadogQueryDelay { + return &v + }).(DirectDatadogQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectDatadogQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectDatadogQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectDatadogQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectDatadogQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectDatadogQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectDatadogQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectDatadogQueryDelay)(nil)).Elem() +} + +func (o DirectDatadogQueryDelayPtrOutput) ToDirectDatadogQueryDelayPtrOutput() DirectDatadogQueryDelayPtrOutput { + return o +} + +func (o DirectDatadogQueryDelayPtrOutput) ToDirectDatadogQueryDelayPtrOutputWithContext(ctx context.Context) DirectDatadogQueryDelayPtrOutput { + return o +} + +func (o DirectDatadogQueryDelayPtrOutput) Elem() DirectDatadogQueryDelayOutput { + return o.ApplyT(func(v *DirectDatadogQueryDelay) DirectDatadogQueryDelay { + if v != nil { + return *v + } + var ret DirectDatadogQueryDelay + return ret + }).(DirectDatadogQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectDatadogQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectDatadogQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectDatadogQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectDatadogQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type DirectDynatraceHistoricalDataRetrieval struct { + // Used by default for any SLOs connected to this data source. + DefaultDurations []DirectDynatraceHistoricalDataRetrievalDefaultDuration `pulumi:"defaultDurations"` + // Defines the maximum period for which data can be retrieved. + MaxDurations []DirectDynatraceHistoricalDataRetrievalMaxDuration `pulumi:"maxDurations"` +} + +// DirectDynatraceHistoricalDataRetrievalInput is an input type that accepts DirectDynatraceHistoricalDataRetrievalArgs and DirectDynatraceHistoricalDataRetrievalOutput values. +// You can construct a concrete instance of `DirectDynatraceHistoricalDataRetrievalInput` via: +// +// DirectDynatraceHistoricalDataRetrievalArgs{...} +type DirectDynatraceHistoricalDataRetrievalInput interface { + pulumi.Input + + ToDirectDynatraceHistoricalDataRetrievalOutput() DirectDynatraceHistoricalDataRetrievalOutput + ToDirectDynatraceHistoricalDataRetrievalOutputWithContext(context.Context) DirectDynatraceHistoricalDataRetrievalOutput +} + +type DirectDynatraceHistoricalDataRetrievalArgs struct { + // Used by default for any SLOs connected to this data source. + DefaultDurations DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayInput `pulumi:"defaultDurations"` + // Defines the maximum period for which data can be retrieved. + MaxDurations DirectDynatraceHistoricalDataRetrievalMaxDurationArrayInput `pulumi:"maxDurations"` +} + +func (DirectDynatraceHistoricalDataRetrievalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDynatraceHistoricalDataRetrieval)(nil)).Elem() +} + +func (i DirectDynatraceHistoricalDataRetrievalArgs) ToDirectDynatraceHistoricalDataRetrievalOutput() DirectDynatraceHistoricalDataRetrievalOutput { + return i.ToDirectDynatraceHistoricalDataRetrievalOutputWithContext(context.Background()) +} + +func (i DirectDynatraceHistoricalDataRetrievalArgs) ToDirectDynatraceHistoricalDataRetrievalOutputWithContext(ctx context.Context) DirectDynatraceHistoricalDataRetrievalOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDynatraceHistoricalDataRetrievalOutput) +} + +func (i DirectDynatraceHistoricalDataRetrievalArgs) ToDirectDynatraceHistoricalDataRetrievalPtrOutput() DirectDynatraceHistoricalDataRetrievalPtrOutput { + return i.ToDirectDynatraceHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (i DirectDynatraceHistoricalDataRetrievalArgs) ToDirectDynatraceHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectDynatraceHistoricalDataRetrievalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDynatraceHistoricalDataRetrievalOutput).ToDirectDynatraceHistoricalDataRetrievalPtrOutputWithContext(ctx) +} + +// DirectDynatraceHistoricalDataRetrievalPtrInput is an input type that accepts DirectDynatraceHistoricalDataRetrievalArgs, DirectDynatraceHistoricalDataRetrievalPtr and DirectDynatraceHistoricalDataRetrievalPtrOutput values. +// You can construct a concrete instance of `DirectDynatraceHistoricalDataRetrievalPtrInput` via: +// +// DirectDynatraceHistoricalDataRetrievalArgs{...} +// +// or: +// +// nil +type DirectDynatraceHistoricalDataRetrievalPtrInput interface { + pulumi.Input + + ToDirectDynatraceHistoricalDataRetrievalPtrOutput() DirectDynatraceHistoricalDataRetrievalPtrOutput + ToDirectDynatraceHistoricalDataRetrievalPtrOutputWithContext(context.Context) DirectDynatraceHistoricalDataRetrievalPtrOutput +} + +type directDynatraceHistoricalDataRetrievalPtrType DirectDynatraceHistoricalDataRetrievalArgs + +func DirectDynatraceHistoricalDataRetrievalPtr(v *DirectDynatraceHistoricalDataRetrievalArgs) DirectDynatraceHistoricalDataRetrievalPtrInput { + return (*directDynatraceHistoricalDataRetrievalPtrType)(v) +} + +func (*directDynatraceHistoricalDataRetrievalPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectDynatraceHistoricalDataRetrieval)(nil)).Elem() +} + +func (i *directDynatraceHistoricalDataRetrievalPtrType) ToDirectDynatraceHistoricalDataRetrievalPtrOutput() DirectDynatraceHistoricalDataRetrievalPtrOutput { + return i.ToDirectDynatraceHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (i *directDynatraceHistoricalDataRetrievalPtrType) ToDirectDynatraceHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectDynatraceHistoricalDataRetrievalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDynatraceHistoricalDataRetrievalPtrOutput) +} + +type DirectDynatraceHistoricalDataRetrievalOutput struct{ *pulumi.OutputState } + +func (DirectDynatraceHistoricalDataRetrievalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDynatraceHistoricalDataRetrieval)(nil)).Elem() +} + +func (o DirectDynatraceHistoricalDataRetrievalOutput) ToDirectDynatraceHistoricalDataRetrievalOutput() DirectDynatraceHistoricalDataRetrievalOutput { + return o +} + +func (o DirectDynatraceHistoricalDataRetrievalOutput) ToDirectDynatraceHistoricalDataRetrievalOutputWithContext(ctx context.Context) DirectDynatraceHistoricalDataRetrievalOutput { + return o +} + +func (o DirectDynatraceHistoricalDataRetrievalOutput) ToDirectDynatraceHistoricalDataRetrievalPtrOutput() DirectDynatraceHistoricalDataRetrievalPtrOutput { + return o.ToDirectDynatraceHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (o DirectDynatraceHistoricalDataRetrievalOutput) ToDirectDynatraceHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectDynatraceHistoricalDataRetrievalPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectDynatraceHistoricalDataRetrieval) *DirectDynatraceHistoricalDataRetrieval { + return &v + }).(DirectDynatraceHistoricalDataRetrievalPtrOutput) +} + +// Used by default for any SLOs connected to this data source. +func (o DirectDynatraceHistoricalDataRetrievalOutput) DefaultDurations() DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput { + return o.ApplyT(func(v DirectDynatraceHistoricalDataRetrieval) []DirectDynatraceHistoricalDataRetrievalDefaultDuration { + return v.DefaultDurations + }).(DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +// Defines the maximum period for which data can be retrieved. +func (o DirectDynatraceHistoricalDataRetrievalOutput) MaxDurations() DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput { + return o.ApplyT(func(v DirectDynatraceHistoricalDataRetrieval) []DirectDynatraceHistoricalDataRetrievalMaxDuration { + return v.MaxDurations + }).(DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectDynatraceHistoricalDataRetrievalPtrOutput struct{ *pulumi.OutputState } + +func (DirectDynatraceHistoricalDataRetrievalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectDynatraceHistoricalDataRetrieval)(nil)).Elem() +} + +func (o DirectDynatraceHistoricalDataRetrievalPtrOutput) ToDirectDynatraceHistoricalDataRetrievalPtrOutput() DirectDynatraceHistoricalDataRetrievalPtrOutput { + return o +} + +func (o DirectDynatraceHistoricalDataRetrievalPtrOutput) ToDirectDynatraceHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectDynatraceHistoricalDataRetrievalPtrOutput { + return o +} + +func (o DirectDynatraceHistoricalDataRetrievalPtrOutput) Elem() DirectDynatraceHistoricalDataRetrievalOutput { + return o.ApplyT(func(v *DirectDynatraceHistoricalDataRetrieval) DirectDynatraceHistoricalDataRetrieval { + if v != nil { + return *v + } + var ret DirectDynatraceHistoricalDataRetrieval + return ret + }).(DirectDynatraceHistoricalDataRetrievalOutput) +} + +// Used by default for any SLOs connected to this data source. +func (o DirectDynatraceHistoricalDataRetrievalPtrOutput) DefaultDurations() DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput { + return o.ApplyT(func(v *DirectDynatraceHistoricalDataRetrieval) []DirectDynatraceHistoricalDataRetrievalDefaultDuration { + if v == nil { + return nil + } + return v.DefaultDurations + }).(DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +// Defines the maximum period for which data can be retrieved. +func (o DirectDynatraceHistoricalDataRetrievalPtrOutput) MaxDurations() DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput { + return o.ApplyT(func(v *DirectDynatraceHistoricalDataRetrieval) []DirectDynatraceHistoricalDataRetrievalMaxDuration { + if v == nil { + return nil + } + return v.MaxDurations + }).(DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectDynatraceHistoricalDataRetrievalDefaultDuration struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// DirectDynatraceHistoricalDataRetrievalDefaultDurationInput is an input type that accepts DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs and DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput values. +// You can construct a concrete instance of `DirectDynatraceHistoricalDataRetrievalDefaultDurationInput` via: +// +// DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs{...} +type DirectDynatraceHistoricalDataRetrievalDefaultDurationInput interface { + pulumi.Input + + ToDirectDynatraceHistoricalDataRetrievalDefaultDurationOutput() DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput + ToDirectDynatraceHistoricalDataRetrievalDefaultDurationOutputWithContext(context.Context) DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput +} + +type DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDynatraceHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (i DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs) ToDirectDynatraceHistoricalDataRetrievalDefaultDurationOutput() DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput { + return i.ToDirectDynatraceHistoricalDataRetrievalDefaultDurationOutputWithContext(context.Background()) +} + +func (i DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs) ToDirectDynatraceHistoricalDataRetrievalDefaultDurationOutputWithContext(ctx context.Context) DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput) +} + +// DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayInput is an input type that accepts DirectDynatraceHistoricalDataRetrievalDefaultDurationArray and DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput values. +// You can construct a concrete instance of `DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayInput` via: +// +// DirectDynatraceHistoricalDataRetrievalDefaultDurationArray{ DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs{...} } +type DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayInput interface { + pulumi.Input + + ToDirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput() DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput + ToDirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(context.Context) DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput +} + +type DirectDynatraceHistoricalDataRetrievalDefaultDurationArray []DirectDynatraceHistoricalDataRetrievalDefaultDurationInput + +func (DirectDynatraceHistoricalDataRetrievalDefaultDurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectDynatraceHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (i DirectDynatraceHistoricalDataRetrievalDefaultDurationArray) ToDirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput() DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput { + return i.ToDirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(context.Background()) +} + +func (i DirectDynatraceHistoricalDataRetrievalDefaultDurationArray) ToDirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(ctx context.Context) DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +type DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput struct{ *pulumi.OutputState } + +func (DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDynatraceHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (o DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput) ToDirectDynatraceHistoricalDataRetrievalDefaultDurationOutput() DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput { + return o +} + +func (o DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput) ToDirectDynatraceHistoricalDataRetrievalDefaultDurationOutputWithContext(ctx context.Context) DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput { + return o +} + +func (o DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectDynatraceHistoricalDataRetrievalDefaultDuration) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectDynatraceHistoricalDataRetrievalDefaultDuration) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput struct{ *pulumi.OutputState } + +func (DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectDynatraceHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (o DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput) ToDirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput() DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput { + return o +} + +func (o DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput) ToDirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(ctx context.Context) DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput { + return o +} + +func (o DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput) Index(i pulumi.IntInput) DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DirectDynatraceHistoricalDataRetrievalDefaultDuration { + return vs[0].([]DirectDynatraceHistoricalDataRetrievalDefaultDuration)[vs[1].(int)] + }).(DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput) +} + +type DirectDynatraceHistoricalDataRetrievalMaxDuration struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// DirectDynatraceHistoricalDataRetrievalMaxDurationInput is an input type that accepts DirectDynatraceHistoricalDataRetrievalMaxDurationArgs and DirectDynatraceHistoricalDataRetrievalMaxDurationOutput values. +// You can construct a concrete instance of `DirectDynatraceHistoricalDataRetrievalMaxDurationInput` via: +// +// DirectDynatraceHistoricalDataRetrievalMaxDurationArgs{...} +type DirectDynatraceHistoricalDataRetrievalMaxDurationInput interface { + pulumi.Input + + ToDirectDynatraceHistoricalDataRetrievalMaxDurationOutput() DirectDynatraceHistoricalDataRetrievalMaxDurationOutput + ToDirectDynatraceHistoricalDataRetrievalMaxDurationOutputWithContext(context.Context) DirectDynatraceHistoricalDataRetrievalMaxDurationOutput +} + +type DirectDynatraceHistoricalDataRetrievalMaxDurationArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectDynatraceHistoricalDataRetrievalMaxDurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDynatraceHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (i DirectDynatraceHistoricalDataRetrievalMaxDurationArgs) ToDirectDynatraceHistoricalDataRetrievalMaxDurationOutput() DirectDynatraceHistoricalDataRetrievalMaxDurationOutput { + return i.ToDirectDynatraceHistoricalDataRetrievalMaxDurationOutputWithContext(context.Background()) +} + +func (i DirectDynatraceHistoricalDataRetrievalMaxDurationArgs) ToDirectDynatraceHistoricalDataRetrievalMaxDurationOutputWithContext(ctx context.Context) DirectDynatraceHistoricalDataRetrievalMaxDurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDynatraceHistoricalDataRetrievalMaxDurationOutput) +} + +// DirectDynatraceHistoricalDataRetrievalMaxDurationArrayInput is an input type that accepts DirectDynatraceHistoricalDataRetrievalMaxDurationArray and DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput values. +// You can construct a concrete instance of `DirectDynatraceHistoricalDataRetrievalMaxDurationArrayInput` via: +// +// DirectDynatraceHistoricalDataRetrievalMaxDurationArray{ DirectDynatraceHistoricalDataRetrievalMaxDurationArgs{...} } +type DirectDynatraceHistoricalDataRetrievalMaxDurationArrayInput interface { + pulumi.Input + + ToDirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput() DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput + ToDirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutputWithContext(context.Context) DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput +} + +type DirectDynatraceHistoricalDataRetrievalMaxDurationArray []DirectDynatraceHistoricalDataRetrievalMaxDurationInput + +func (DirectDynatraceHistoricalDataRetrievalMaxDurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectDynatraceHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (i DirectDynatraceHistoricalDataRetrievalMaxDurationArray) ToDirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput() DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput { + return i.ToDirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutputWithContext(context.Background()) +} + +func (i DirectDynatraceHistoricalDataRetrievalMaxDurationArray) ToDirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutputWithContext(ctx context.Context) DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectDynatraceHistoricalDataRetrievalMaxDurationOutput struct{ *pulumi.OutputState } + +func (DirectDynatraceHistoricalDataRetrievalMaxDurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDynatraceHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (o DirectDynatraceHistoricalDataRetrievalMaxDurationOutput) ToDirectDynatraceHistoricalDataRetrievalMaxDurationOutput() DirectDynatraceHistoricalDataRetrievalMaxDurationOutput { + return o +} + +func (o DirectDynatraceHistoricalDataRetrievalMaxDurationOutput) ToDirectDynatraceHistoricalDataRetrievalMaxDurationOutputWithContext(ctx context.Context) DirectDynatraceHistoricalDataRetrievalMaxDurationOutput { + return o +} + +func (o DirectDynatraceHistoricalDataRetrievalMaxDurationOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectDynatraceHistoricalDataRetrievalMaxDuration) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o DirectDynatraceHistoricalDataRetrievalMaxDurationOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectDynatraceHistoricalDataRetrievalMaxDuration) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput struct{ *pulumi.OutputState } + +func (DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectDynatraceHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (o DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput) ToDirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput() DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput { + return o +} + +func (o DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput) ToDirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutputWithContext(ctx context.Context) DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput { + return o +} + +func (o DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput) Index(i pulumi.IntInput) DirectDynatraceHistoricalDataRetrievalMaxDurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DirectDynatraceHistoricalDataRetrievalMaxDuration { + return vs[0].([]DirectDynatraceHistoricalDataRetrievalMaxDuration)[vs[1].(int)] + }).(DirectDynatraceHistoricalDataRetrievalMaxDurationOutput) +} + +type DirectDynatraceQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectDynatraceQueryDelayInput is an input type that accepts DirectDynatraceQueryDelayArgs and DirectDynatraceQueryDelayOutput values. +// You can construct a concrete instance of `DirectDynatraceQueryDelayInput` via: +// +// DirectDynatraceQueryDelayArgs{...} +type DirectDynatraceQueryDelayInput interface { + pulumi.Input + + ToDirectDynatraceQueryDelayOutput() DirectDynatraceQueryDelayOutput + ToDirectDynatraceQueryDelayOutputWithContext(context.Context) DirectDynatraceQueryDelayOutput +} + +type DirectDynatraceQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectDynatraceQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDynatraceQueryDelay)(nil)).Elem() +} + +func (i DirectDynatraceQueryDelayArgs) ToDirectDynatraceQueryDelayOutput() DirectDynatraceQueryDelayOutput { + return i.ToDirectDynatraceQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectDynatraceQueryDelayArgs) ToDirectDynatraceQueryDelayOutputWithContext(ctx context.Context) DirectDynatraceQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDynatraceQueryDelayOutput) +} + +func (i DirectDynatraceQueryDelayArgs) ToDirectDynatraceQueryDelayPtrOutput() DirectDynatraceQueryDelayPtrOutput { + return i.ToDirectDynatraceQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectDynatraceQueryDelayArgs) ToDirectDynatraceQueryDelayPtrOutputWithContext(ctx context.Context) DirectDynatraceQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDynatraceQueryDelayOutput).ToDirectDynatraceQueryDelayPtrOutputWithContext(ctx) +} + +// DirectDynatraceQueryDelayPtrInput is an input type that accepts DirectDynatraceQueryDelayArgs, DirectDynatraceQueryDelayPtr and DirectDynatraceQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectDynatraceQueryDelayPtrInput` via: +// +// DirectDynatraceQueryDelayArgs{...} +// +// or: +// +// nil +type DirectDynatraceQueryDelayPtrInput interface { + pulumi.Input + + ToDirectDynatraceQueryDelayPtrOutput() DirectDynatraceQueryDelayPtrOutput + ToDirectDynatraceQueryDelayPtrOutputWithContext(context.Context) DirectDynatraceQueryDelayPtrOutput +} + +type directDynatraceQueryDelayPtrType DirectDynatraceQueryDelayArgs + +func DirectDynatraceQueryDelayPtr(v *DirectDynatraceQueryDelayArgs) DirectDynatraceQueryDelayPtrInput { + return (*directDynatraceQueryDelayPtrType)(v) +} + +func (*directDynatraceQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectDynatraceQueryDelay)(nil)).Elem() +} + +func (i *directDynatraceQueryDelayPtrType) ToDirectDynatraceQueryDelayPtrOutput() DirectDynatraceQueryDelayPtrOutput { + return i.ToDirectDynatraceQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directDynatraceQueryDelayPtrType) ToDirectDynatraceQueryDelayPtrOutputWithContext(ctx context.Context) DirectDynatraceQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectDynatraceQueryDelayPtrOutput) +} + +type DirectDynatraceQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectDynatraceQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectDynatraceQueryDelay)(nil)).Elem() +} + +func (o DirectDynatraceQueryDelayOutput) ToDirectDynatraceQueryDelayOutput() DirectDynatraceQueryDelayOutput { + return o +} + +func (o DirectDynatraceQueryDelayOutput) ToDirectDynatraceQueryDelayOutputWithContext(ctx context.Context) DirectDynatraceQueryDelayOutput { + return o +} + +func (o DirectDynatraceQueryDelayOutput) ToDirectDynatraceQueryDelayPtrOutput() DirectDynatraceQueryDelayPtrOutput { + return o.ToDirectDynatraceQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectDynatraceQueryDelayOutput) ToDirectDynatraceQueryDelayPtrOutputWithContext(ctx context.Context) DirectDynatraceQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectDynatraceQueryDelay) *DirectDynatraceQueryDelay { + return &v + }).(DirectDynatraceQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectDynatraceQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectDynatraceQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectDynatraceQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectDynatraceQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectDynatraceQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectDynatraceQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectDynatraceQueryDelay)(nil)).Elem() +} + +func (o DirectDynatraceQueryDelayPtrOutput) ToDirectDynatraceQueryDelayPtrOutput() DirectDynatraceQueryDelayPtrOutput { + return o +} + +func (o DirectDynatraceQueryDelayPtrOutput) ToDirectDynatraceQueryDelayPtrOutputWithContext(ctx context.Context) DirectDynatraceQueryDelayPtrOutput { + return o +} + +func (o DirectDynatraceQueryDelayPtrOutput) Elem() DirectDynatraceQueryDelayOutput { + return o.ApplyT(func(v *DirectDynatraceQueryDelay) DirectDynatraceQueryDelay { + if v != nil { + return *v + } + var ret DirectDynatraceQueryDelay + return ret + }).(DirectDynatraceQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectDynatraceQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectDynatraceQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectDynatraceQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectDynatraceQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type DirectGcmQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectGcmQueryDelayInput is an input type that accepts DirectGcmQueryDelayArgs and DirectGcmQueryDelayOutput values. +// You can construct a concrete instance of `DirectGcmQueryDelayInput` via: +// +// DirectGcmQueryDelayArgs{...} +type DirectGcmQueryDelayInput interface { + pulumi.Input + + ToDirectGcmQueryDelayOutput() DirectGcmQueryDelayOutput + ToDirectGcmQueryDelayOutputWithContext(context.Context) DirectGcmQueryDelayOutput +} + +type DirectGcmQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectGcmQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectGcmQueryDelay)(nil)).Elem() +} + +func (i DirectGcmQueryDelayArgs) ToDirectGcmQueryDelayOutput() DirectGcmQueryDelayOutput { + return i.ToDirectGcmQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectGcmQueryDelayArgs) ToDirectGcmQueryDelayOutputWithContext(ctx context.Context) DirectGcmQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectGcmQueryDelayOutput) +} + +func (i DirectGcmQueryDelayArgs) ToDirectGcmQueryDelayPtrOutput() DirectGcmQueryDelayPtrOutput { + return i.ToDirectGcmQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectGcmQueryDelayArgs) ToDirectGcmQueryDelayPtrOutputWithContext(ctx context.Context) DirectGcmQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectGcmQueryDelayOutput).ToDirectGcmQueryDelayPtrOutputWithContext(ctx) +} + +// DirectGcmQueryDelayPtrInput is an input type that accepts DirectGcmQueryDelayArgs, DirectGcmQueryDelayPtr and DirectGcmQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectGcmQueryDelayPtrInput` via: +// +// DirectGcmQueryDelayArgs{...} +// +// or: +// +// nil +type DirectGcmQueryDelayPtrInput interface { + pulumi.Input + + ToDirectGcmQueryDelayPtrOutput() DirectGcmQueryDelayPtrOutput + ToDirectGcmQueryDelayPtrOutputWithContext(context.Context) DirectGcmQueryDelayPtrOutput +} + +type directGcmQueryDelayPtrType DirectGcmQueryDelayArgs + +func DirectGcmQueryDelayPtr(v *DirectGcmQueryDelayArgs) DirectGcmQueryDelayPtrInput { + return (*directGcmQueryDelayPtrType)(v) +} + +func (*directGcmQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectGcmQueryDelay)(nil)).Elem() +} + +func (i *directGcmQueryDelayPtrType) ToDirectGcmQueryDelayPtrOutput() DirectGcmQueryDelayPtrOutput { + return i.ToDirectGcmQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directGcmQueryDelayPtrType) ToDirectGcmQueryDelayPtrOutputWithContext(ctx context.Context) DirectGcmQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectGcmQueryDelayPtrOutput) +} + +type DirectGcmQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectGcmQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectGcmQueryDelay)(nil)).Elem() +} + +func (o DirectGcmQueryDelayOutput) ToDirectGcmQueryDelayOutput() DirectGcmQueryDelayOutput { + return o +} + +func (o DirectGcmQueryDelayOutput) ToDirectGcmQueryDelayOutputWithContext(ctx context.Context) DirectGcmQueryDelayOutput { + return o +} + +func (o DirectGcmQueryDelayOutput) ToDirectGcmQueryDelayPtrOutput() DirectGcmQueryDelayPtrOutput { + return o.ToDirectGcmQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectGcmQueryDelayOutput) ToDirectGcmQueryDelayPtrOutputWithContext(ctx context.Context) DirectGcmQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectGcmQueryDelay) *DirectGcmQueryDelay { + return &v + }).(DirectGcmQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectGcmQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectGcmQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectGcmQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectGcmQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectGcmQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectGcmQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectGcmQueryDelay)(nil)).Elem() +} + +func (o DirectGcmQueryDelayPtrOutput) ToDirectGcmQueryDelayPtrOutput() DirectGcmQueryDelayPtrOutput { + return o +} + +func (o DirectGcmQueryDelayPtrOutput) ToDirectGcmQueryDelayPtrOutputWithContext(ctx context.Context) DirectGcmQueryDelayPtrOutput { + return o +} + +func (o DirectGcmQueryDelayPtrOutput) Elem() DirectGcmQueryDelayOutput { + return o.ApplyT(func(v *DirectGcmQueryDelay) DirectGcmQueryDelay { + if v != nil { + return *v + } + var ret DirectGcmQueryDelay + return ret + }).(DirectGcmQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectGcmQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectGcmQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectGcmQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectGcmQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type DirectInfluxdbQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectInfluxdbQueryDelayInput is an input type that accepts DirectInfluxdbQueryDelayArgs and DirectInfluxdbQueryDelayOutput values. +// You can construct a concrete instance of `DirectInfluxdbQueryDelayInput` via: +// +// DirectInfluxdbQueryDelayArgs{...} +type DirectInfluxdbQueryDelayInput interface { + pulumi.Input + + ToDirectInfluxdbQueryDelayOutput() DirectInfluxdbQueryDelayOutput + ToDirectInfluxdbQueryDelayOutputWithContext(context.Context) DirectInfluxdbQueryDelayOutput +} + +type DirectInfluxdbQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectInfluxdbQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectInfluxdbQueryDelay)(nil)).Elem() +} + +func (i DirectInfluxdbQueryDelayArgs) ToDirectInfluxdbQueryDelayOutput() DirectInfluxdbQueryDelayOutput { + return i.ToDirectInfluxdbQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectInfluxdbQueryDelayArgs) ToDirectInfluxdbQueryDelayOutputWithContext(ctx context.Context) DirectInfluxdbQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectInfluxdbQueryDelayOutput) +} + +func (i DirectInfluxdbQueryDelayArgs) ToDirectInfluxdbQueryDelayPtrOutput() DirectInfluxdbQueryDelayPtrOutput { + return i.ToDirectInfluxdbQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectInfluxdbQueryDelayArgs) ToDirectInfluxdbQueryDelayPtrOutputWithContext(ctx context.Context) DirectInfluxdbQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectInfluxdbQueryDelayOutput).ToDirectInfluxdbQueryDelayPtrOutputWithContext(ctx) +} + +// DirectInfluxdbQueryDelayPtrInput is an input type that accepts DirectInfluxdbQueryDelayArgs, DirectInfluxdbQueryDelayPtr and DirectInfluxdbQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectInfluxdbQueryDelayPtrInput` via: +// +// DirectInfluxdbQueryDelayArgs{...} +// +// or: +// +// nil +type DirectInfluxdbQueryDelayPtrInput interface { + pulumi.Input + + ToDirectInfluxdbQueryDelayPtrOutput() DirectInfluxdbQueryDelayPtrOutput + ToDirectInfluxdbQueryDelayPtrOutputWithContext(context.Context) DirectInfluxdbQueryDelayPtrOutput +} + +type directInfluxdbQueryDelayPtrType DirectInfluxdbQueryDelayArgs + +func DirectInfluxdbQueryDelayPtr(v *DirectInfluxdbQueryDelayArgs) DirectInfluxdbQueryDelayPtrInput { + return (*directInfluxdbQueryDelayPtrType)(v) +} + +func (*directInfluxdbQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectInfluxdbQueryDelay)(nil)).Elem() +} + +func (i *directInfluxdbQueryDelayPtrType) ToDirectInfluxdbQueryDelayPtrOutput() DirectInfluxdbQueryDelayPtrOutput { + return i.ToDirectInfluxdbQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directInfluxdbQueryDelayPtrType) ToDirectInfluxdbQueryDelayPtrOutputWithContext(ctx context.Context) DirectInfluxdbQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectInfluxdbQueryDelayPtrOutput) +} + +type DirectInfluxdbQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectInfluxdbQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectInfluxdbQueryDelay)(nil)).Elem() +} + +func (o DirectInfluxdbQueryDelayOutput) ToDirectInfluxdbQueryDelayOutput() DirectInfluxdbQueryDelayOutput { + return o +} + +func (o DirectInfluxdbQueryDelayOutput) ToDirectInfluxdbQueryDelayOutputWithContext(ctx context.Context) DirectInfluxdbQueryDelayOutput { + return o +} + +func (o DirectInfluxdbQueryDelayOutput) ToDirectInfluxdbQueryDelayPtrOutput() DirectInfluxdbQueryDelayPtrOutput { + return o.ToDirectInfluxdbQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectInfluxdbQueryDelayOutput) ToDirectInfluxdbQueryDelayPtrOutputWithContext(ctx context.Context) DirectInfluxdbQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectInfluxdbQueryDelay) *DirectInfluxdbQueryDelay { + return &v + }).(DirectInfluxdbQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectInfluxdbQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectInfluxdbQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectInfluxdbQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectInfluxdbQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectInfluxdbQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectInfluxdbQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectInfluxdbQueryDelay)(nil)).Elem() +} + +func (o DirectInfluxdbQueryDelayPtrOutput) ToDirectInfluxdbQueryDelayPtrOutput() DirectInfluxdbQueryDelayPtrOutput { + return o +} + +func (o DirectInfluxdbQueryDelayPtrOutput) ToDirectInfluxdbQueryDelayPtrOutputWithContext(ctx context.Context) DirectInfluxdbQueryDelayPtrOutput { + return o +} + +func (o DirectInfluxdbQueryDelayPtrOutput) Elem() DirectInfluxdbQueryDelayOutput { + return o.ApplyT(func(v *DirectInfluxdbQueryDelay) DirectInfluxdbQueryDelay { + if v != nil { + return *v + } + var ret DirectInfluxdbQueryDelay + return ret + }).(DirectInfluxdbQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectInfluxdbQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectInfluxdbQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectInfluxdbQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectInfluxdbQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type DirectInstanaQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectInstanaQueryDelayInput is an input type that accepts DirectInstanaQueryDelayArgs and DirectInstanaQueryDelayOutput values. +// You can construct a concrete instance of `DirectInstanaQueryDelayInput` via: +// +// DirectInstanaQueryDelayArgs{...} +type DirectInstanaQueryDelayInput interface { + pulumi.Input + + ToDirectInstanaQueryDelayOutput() DirectInstanaQueryDelayOutput + ToDirectInstanaQueryDelayOutputWithContext(context.Context) DirectInstanaQueryDelayOutput +} + +type DirectInstanaQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectInstanaQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectInstanaQueryDelay)(nil)).Elem() +} + +func (i DirectInstanaQueryDelayArgs) ToDirectInstanaQueryDelayOutput() DirectInstanaQueryDelayOutput { + return i.ToDirectInstanaQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectInstanaQueryDelayArgs) ToDirectInstanaQueryDelayOutputWithContext(ctx context.Context) DirectInstanaQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectInstanaQueryDelayOutput) +} + +func (i DirectInstanaQueryDelayArgs) ToDirectInstanaQueryDelayPtrOutput() DirectInstanaQueryDelayPtrOutput { + return i.ToDirectInstanaQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectInstanaQueryDelayArgs) ToDirectInstanaQueryDelayPtrOutputWithContext(ctx context.Context) DirectInstanaQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectInstanaQueryDelayOutput).ToDirectInstanaQueryDelayPtrOutputWithContext(ctx) +} + +// DirectInstanaQueryDelayPtrInput is an input type that accepts DirectInstanaQueryDelayArgs, DirectInstanaQueryDelayPtr and DirectInstanaQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectInstanaQueryDelayPtrInput` via: +// +// DirectInstanaQueryDelayArgs{...} +// +// or: +// +// nil +type DirectInstanaQueryDelayPtrInput interface { + pulumi.Input + + ToDirectInstanaQueryDelayPtrOutput() DirectInstanaQueryDelayPtrOutput + ToDirectInstanaQueryDelayPtrOutputWithContext(context.Context) DirectInstanaQueryDelayPtrOutput +} + +type directInstanaQueryDelayPtrType DirectInstanaQueryDelayArgs + +func DirectInstanaQueryDelayPtr(v *DirectInstanaQueryDelayArgs) DirectInstanaQueryDelayPtrInput { + return (*directInstanaQueryDelayPtrType)(v) +} + +func (*directInstanaQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectInstanaQueryDelay)(nil)).Elem() +} + +func (i *directInstanaQueryDelayPtrType) ToDirectInstanaQueryDelayPtrOutput() DirectInstanaQueryDelayPtrOutput { + return i.ToDirectInstanaQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directInstanaQueryDelayPtrType) ToDirectInstanaQueryDelayPtrOutputWithContext(ctx context.Context) DirectInstanaQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectInstanaQueryDelayPtrOutput) +} + +type DirectInstanaQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectInstanaQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectInstanaQueryDelay)(nil)).Elem() +} + +func (o DirectInstanaQueryDelayOutput) ToDirectInstanaQueryDelayOutput() DirectInstanaQueryDelayOutput { + return o +} + +func (o DirectInstanaQueryDelayOutput) ToDirectInstanaQueryDelayOutputWithContext(ctx context.Context) DirectInstanaQueryDelayOutput { + return o +} + +func (o DirectInstanaQueryDelayOutput) ToDirectInstanaQueryDelayPtrOutput() DirectInstanaQueryDelayPtrOutput { + return o.ToDirectInstanaQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectInstanaQueryDelayOutput) ToDirectInstanaQueryDelayPtrOutputWithContext(ctx context.Context) DirectInstanaQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectInstanaQueryDelay) *DirectInstanaQueryDelay { + return &v + }).(DirectInstanaQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectInstanaQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectInstanaQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectInstanaQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectInstanaQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectInstanaQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectInstanaQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectInstanaQueryDelay)(nil)).Elem() +} + +func (o DirectInstanaQueryDelayPtrOutput) ToDirectInstanaQueryDelayPtrOutput() DirectInstanaQueryDelayPtrOutput { + return o +} + +func (o DirectInstanaQueryDelayPtrOutput) ToDirectInstanaQueryDelayPtrOutputWithContext(ctx context.Context) DirectInstanaQueryDelayPtrOutput { + return o +} + +func (o DirectInstanaQueryDelayPtrOutput) Elem() DirectInstanaQueryDelayOutput { + return o.ApplyT(func(v *DirectInstanaQueryDelay) DirectInstanaQueryDelay { + if v != nil { + return *v + } + var ret DirectInstanaQueryDelay + return ret + }).(DirectInstanaQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectInstanaQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectInstanaQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectInstanaQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectInstanaQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type DirectLightstepHistoricalDataRetrieval struct { + // Used by default for any SLOs connected to this data source. + DefaultDurations []DirectLightstepHistoricalDataRetrievalDefaultDuration `pulumi:"defaultDurations"` + // Defines the maximum period for which data can be retrieved. + MaxDurations []DirectLightstepHistoricalDataRetrievalMaxDuration `pulumi:"maxDurations"` +} + +// DirectLightstepHistoricalDataRetrievalInput is an input type that accepts DirectLightstepHistoricalDataRetrievalArgs and DirectLightstepHistoricalDataRetrievalOutput values. +// You can construct a concrete instance of `DirectLightstepHistoricalDataRetrievalInput` via: +// +// DirectLightstepHistoricalDataRetrievalArgs{...} +type DirectLightstepHistoricalDataRetrievalInput interface { + pulumi.Input + + ToDirectLightstepHistoricalDataRetrievalOutput() DirectLightstepHistoricalDataRetrievalOutput + ToDirectLightstepHistoricalDataRetrievalOutputWithContext(context.Context) DirectLightstepHistoricalDataRetrievalOutput +} + +type DirectLightstepHistoricalDataRetrievalArgs struct { + // Used by default for any SLOs connected to this data source. + DefaultDurations DirectLightstepHistoricalDataRetrievalDefaultDurationArrayInput `pulumi:"defaultDurations"` + // Defines the maximum period for which data can be retrieved. + MaxDurations DirectLightstepHistoricalDataRetrievalMaxDurationArrayInput `pulumi:"maxDurations"` +} + +func (DirectLightstepHistoricalDataRetrievalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectLightstepHistoricalDataRetrieval)(nil)).Elem() +} + +func (i DirectLightstepHistoricalDataRetrievalArgs) ToDirectLightstepHistoricalDataRetrievalOutput() DirectLightstepHistoricalDataRetrievalOutput { + return i.ToDirectLightstepHistoricalDataRetrievalOutputWithContext(context.Background()) +} + +func (i DirectLightstepHistoricalDataRetrievalArgs) ToDirectLightstepHistoricalDataRetrievalOutputWithContext(ctx context.Context) DirectLightstepHistoricalDataRetrievalOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectLightstepHistoricalDataRetrievalOutput) +} + +func (i DirectLightstepHistoricalDataRetrievalArgs) ToDirectLightstepHistoricalDataRetrievalPtrOutput() DirectLightstepHistoricalDataRetrievalPtrOutput { + return i.ToDirectLightstepHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (i DirectLightstepHistoricalDataRetrievalArgs) ToDirectLightstepHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectLightstepHistoricalDataRetrievalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectLightstepHistoricalDataRetrievalOutput).ToDirectLightstepHistoricalDataRetrievalPtrOutputWithContext(ctx) +} + +// DirectLightstepHistoricalDataRetrievalPtrInput is an input type that accepts DirectLightstepHistoricalDataRetrievalArgs, DirectLightstepHistoricalDataRetrievalPtr and DirectLightstepHistoricalDataRetrievalPtrOutput values. +// You can construct a concrete instance of `DirectLightstepHistoricalDataRetrievalPtrInput` via: +// +// DirectLightstepHistoricalDataRetrievalArgs{...} +// +// or: +// +// nil +type DirectLightstepHistoricalDataRetrievalPtrInput interface { + pulumi.Input + + ToDirectLightstepHistoricalDataRetrievalPtrOutput() DirectLightstepHistoricalDataRetrievalPtrOutput + ToDirectLightstepHistoricalDataRetrievalPtrOutputWithContext(context.Context) DirectLightstepHistoricalDataRetrievalPtrOutput +} + +type directLightstepHistoricalDataRetrievalPtrType DirectLightstepHistoricalDataRetrievalArgs + +func DirectLightstepHistoricalDataRetrievalPtr(v *DirectLightstepHistoricalDataRetrievalArgs) DirectLightstepHistoricalDataRetrievalPtrInput { + return (*directLightstepHistoricalDataRetrievalPtrType)(v) +} + +func (*directLightstepHistoricalDataRetrievalPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectLightstepHistoricalDataRetrieval)(nil)).Elem() +} + +func (i *directLightstepHistoricalDataRetrievalPtrType) ToDirectLightstepHistoricalDataRetrievalPtrOutput() DirectLightstepHistoricalDataRetrievalPtrOutput { + return i.ToDirectLightstepHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (i *directLightstepHistoricalDataRetrievalPtrType) ToDirectLightstepHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectLightstepHistoricalDataRetrievalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectLightstepHistoricalDataRetrievalPtrOutput) +} + +type DirectLightstepHistoricalDataRetrievalOutput struct{ *pulumi.OutputState } + +func (DirectLightstepHistoricalDataRetrievalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectLightstepHistoricalDataRetrieval)(nil)).Elem() +} + +func (o DirectLightstepHistoricalDataRetrievalOutput) ToDirectLightstepHistoricalDataRetrievalOutput() DirectLightstepHistoricalDataRetrievalOutput { + return o +} + +func (o DirectLightstepHistoricalDataRetrievalOutput) ToDirectLightstepHistoricalDataRetrievalOutputWithContext(ctx context.Context) DirectLightstepHistoricalDataRetrievalOutput { + return o +} + +func (o DirectLightstepHistoricalDataRetrievalOutput) ToDirectLightstepHistoricalDataRetrievalPtrOutput() DirectLightstepHistoricalDataRetrievalPtrOutput { + return o.ToDirectLightstepHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (o DirectLightstepHistoricalDataRetrievalOutput) ToDirectLightstepHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectLightstepHistoricalDataRetrievalPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectLightstepHistoricalDataRetrieval) *DirectLightstepHistoricalDataRetrieval { + return &v + }).(DirectLightstepHistoricalDataRetrievalPtrOutput) +} + +// Used by default for any SLOs connected to this data source. +func (o DirectLightstepHistoricalDataRetrievalOutput) DefaultDurations() DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput { + return o.ApplyT(func(v DirectLightstepHistoricalDataRetrieval) []DirectLightstepHistoricalDataRetrievalDefaultDuration { + return v.DefaultDurations + }).(DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +// Defines the maximum period for which data can be retrieved. +func (o DirectLightstepHistoricalDataRetrievalOutput) MaxDurations() DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput { + return o.ApplyT(func(v DirectLightstepHistoricalDataRetrieval) []DirectLightstepHistoricalDataRetrievalMaxDuration { + return v.MaxDurations + }).(DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectLightstepHistoricalDataRetrievalPtrOutput struct{ *pulumi.OutputState } + +func (DirectLightstepHistoricalDataRetrievalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectLightstepHistoricalDataRetrieval)(nil)).Elem() +} + +func (o DirectLightstepHistoricalDataRetrievalPtrOutput) ToDirectLightstepHistoricalDataRetrievalPtrOutput() DirectLightstepHistoricalDataRetrievalPtrOutput { + return o +} + +func (o DirectLightstepHistoricalDataRetrievalPtrOutput) ToDirectLightstepHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectLightstepHistoricalDataRetrievalPtrOutput { + return o +} + +func (o DirectLightstepHistoricalDataRetrievalPtrOutput) Elem() DirectLightstepHistoricalDataRetrievalOutput { + return o.ApplyT(func(v *DirectLightstepHistoricalDataRetrieval) DirectLightstepHistoricalDataRetrieval { + if v != nil { + return *v + } + var ret DirectLightstepHistoricalDataRetrieval + return ret + }).(DirectLightstepHistoricalDataRetrievalOutput) +} + +// Used by default for any SLOs connected to this data source. +func (o DirectLightstepHistoricalDataRetrievalPtrOutput) DefaultDurations() DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput { + return o.ApplyT(func(v *DirectLightstepHistoricalDataRetrieval) []DirectLightstepHistoricalDataRetrievalDefaultDuration { + if v == nil { + return nil + } + return v.DefaultDurations + }).(DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +// Defines the maximum period for which data can be retrieved. +func (o DirectLightstepHistoricalDataRetrievalPtrOutput) MaxDurations() DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput { + return o.ApplyT(func(v *DirectLightstepHistoricalDataRetrieval) []DirectLightstepHistoricalDataRetrievalMaxDuration { + if v == nil { + return nil + } + return v.MaxDurations + }).(DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectLightstepHistoricalDataRetrievalDefaultDuration struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// DirectLightstepHistoricalDataRetrievalDefaultDurationInput is an input type that accepts DirectLightstepHistoricalDataRetrievalDefaultDurationArgs and DirectLightstepHistoricalDataRetrievalDefaultDurationOutput values. +// You can construct a concrete instance of `DirectLightstepHistoricalDataRetrievalDefaultDurationInput` via: +// +// DirectLightstepHistoricalDataRetrievalDefaultDurationArgs{...} +type DirectLightstepHistoricalDataRetrievalDefaultDurationInput interface { + pulumi.Input + + ToDirectLightstepHistoricalDataRetrievalDefaultDurationOutput() DirectLightstepHistoricalDataRetrievalDefaultDurationOutput + ToDirectLightstepHistoricalDataRetrievalDefaultDurationOutputWithContext(context.Context) DirectLightstepHistoricalDataRetrievalDefaultDurationOutput +} + +type DirectLightstepHistoricalDataRetrievalDefaultDurationArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectLightstepHistoricalDataRetrievalDefaultDurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectLightstepHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (i DirectLightstepHistoricalDataRetrievalDefaultDurationArgs) ToDirectLightstepHistoricalDataRetrievalDefaultDurationOutput() DirectLightstepHistoricalDataRetrievalDefaultDurationOutput { + return i.ToDirectLightstepHistoricalDataRetrievalDefaultDurationOutputWithContext(context.Background()) +} + +func (i DirectLightstepHistoricalDataRetrievalDefaultDurationArgs) ToDirectLightstepHistoricalDataRetrievalDefaultDurationOutputWithContext(ctx context.Context) DirectLightstepHistoricalDataRetrievalDefaultDurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectLightstepHistoricalDataRetrievalDefaultDurationOutput) +} + +// DirectLightstepHistoricalDataRetrievalDefaultDurationArrayInput is an input type that accepts DirectLightstepHistoricalDataRetrievalDefaultDurationArray and DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput values. +// You can construct a concrete instance of `DirectLightstepHistoricalDataRetrievalDefaultDurationArrayInput` via: +// +// DirectLightstepHistoricalDataRetrievalDefaultDurationArray{ DirectLightstepHistoricalDataRetrievalDefaultDurationArgs{...} } +type DirectLightstepHistoricalDataRetrievalDefaultDurationArrayInput interface { + pulumi.Input + + ToDirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput() DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput + ToDirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(context.Context) DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput +} + +type DirectLightstepHistoricalDataRetrievalDefaultDurationArray []DirectLightstepHistoricalDataRetrievalDefaultDurationInput + +func (DirectLightstepHistoricalDataRetrievalDefaultDurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectLightstepHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (i DirectLightstepHistoricalDataRetrievalDefaultDurationArray) ToDirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput() DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput { + return i.ToDirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(context.Background()) +} + +func (i DirectLightstepHistoricalDataRetrievalDefaultDurationArray) ToDirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(ctx context.Context) DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +type DirectLightstepHistoricalDataRetrievalDefaultDurationOutput struct{ *pulumi.OutputState } + +func (DirectLightstepHistoricalDataRetrievalDefaultDurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectLightstepHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (o DirectLightstepHistoricalDataRetrievalDefaultDurationOutput) ToDirectLightstepHistoricalDataRetrievalDefaultDurationOutput() DirectLightstepHistoricalDataRetrievalDefaultDurationOutput { + return o +} + +func (o DirectLightstepHistoricalDataRetrievalDefaultDurationOutput) ToDirectLightstepHistoricalDataRetrievalDefaultDurationOutputWithContext(ctx context.Context) DirectLightstepHistoricalDataRetrievalDefaultDurationOutput { + return o +} + +func (o DirectLightstepHistoricalDataRetrievalDefaultDurationOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectLightstepHistoricalDataRetrievalDefaultDuration) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o DirectLightstepHistoricalDataRetrievalDefaultDurationOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectLightstepHistoricalDataRetrievalDefaultDuration) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput struct{ *pulumi.OutputState } + +func (DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectLightstepHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (o DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput) ToDirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput() DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput { + return o +} + +func (o DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput) ToDirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(ctx context.Context) DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput { + return o +} + +func (o DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput) Index(i pulumi.IntInput) DirectLightstepHistoricalDataRetrievalDefaultDurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DirectLightstepHistoricalDataRetrievalDefaultDuration { + return vs[0].([]DirectLightstepHistoricalDataRetrievalDefaultDuration)[vs[1].(int)] + }).(DirectLightstepHistoricalDataRetrievalDefaultDurationOutput) +} + +type DirectLightstepHistoricalDataRetrievalMaxDuration struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// DirectLightstepHistoricalDataRetrievalMaxDurationInput is an input type that accepts DirectLightstepHistoricalDataRetrievalMaxDurationArgs and DirectLightstepHistoricalDataRetrievalMaxDurationOutput values. +// You can construct a concrete instance of `DirectLightstepHistoricalDataRetrievalMaxDurationInput` via: +// +// DirectLightstepHistoricalDataRetrievalMaxDurationArgs{...} +type DirectLightstepHistoricalDataRetrievalMaxDurationInput interface { + pulumi.Input + + ToDirectLightstepHistoricalDataRetrievalMaxDurationOutput() DirectLightstepHistoricalDataRetrievalMaxDurationOutput + ToDirectLightstepHistoricalDataRetrievalMaxDurationOutputWithContext(context.Context) DirectLightstepHistoricalDataRetrievalMaxDurationOutput +} + +type DirectLightstepHistoricalDataRetrievalMaxDurationArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectLightstepHistoricalDataRetrievalMaxDurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectLightstepHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (i DirectLightstepHistoricalDataRetrievalMaxDurationArgs) ToDirectLightstepHistoricalDataRetrievalMaxDurationOutput() DirectLightstepHistoricalDataRetrievalMaxDurationOutput { + return i.ToDirectLightstepHistoricalDataRetrievalMaxDurationOutputWithContext(context.Background()) +} + +func (i DirectLightstepHistoricalDataRetrievalMaxDurationArgs) ToDirectLightstepHistoricalDataRetrievalMaxDurationOutputWithContext(ctx context.Context) DirectLightstepHistoricalDataRetrievalMaxDurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectLightstepHistoricalDataRetrievalMaxDurationOutput) +} + +// DirectLightstepHistoricalDataRetrievalMaxDurationArrayInput is an input type that accepts DirectLightstepHistoricalDataRetrievalMaxDurationArray and DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput values. +// You can construct a concrete instance of `DirectLightstepHistoricalDataRetrievalMaxDurationArrayInput` via: +// +// DirectLightstepHistoricalDataRetrievalMaxDurationArray{ DirectLightstepHistoricalDataRetrievalMaxDurationArgs{...} } +type DirectLightstepHistoricalDataRetrievalMaxDurationArrayInput interface { + pulumi.Input + + ToDirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput() DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput + ToDirectLightstepHistoricalDataRetrievalMaxDurationArrayOutputWithContext(context.Context) DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput +} + +type DirectLightstepHistoricalDataRetrievalMaxDurationArray []DirectLightstepHistoricalDataRetrievalMaxDurationInput + +func (DirectLightstepHistoricalDataRetrievalMaxDurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectLightstepHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (i DirectLightstepHistoricalDataRetrievalMaxDurationArray) ToDirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput() DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput { + return i.ToDirectLightstepHistoricalDataRetrievalMaxDurationArrayOutputWithContext(context.Background()) +} + +func (i DirectLightstepHistoricalDataRetrievalMaxDurationArray) ToDirectLightstepHistoricalDataRetrievalMaxDurationArrayOutputWithContext(ctx context.Context) DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectLightstepHistoricalDataRetrievalMaxDurationOutput struct{ *pulumi.OutputState } + +func (DirectLightstepHistoricalDataRetrievalMaxDurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectLightstepHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (o DirectLightstepHistoricalDataRetrievalMaxDurationOutput) ToDirectLightstepHistoricalDataRetrievalMaxDurationOutput() DirectLightstepHistoricalDataRetrievalMaxDurationOutput { + return o +} + +func (o DirectLightstepHistoricalDataRetrievalMaxDurationOutput) ToDirectLightstepHistoricalDataRetrievalMaxDurationOutputWithContext(ctx context.Context) DirectLightstepHistoricalDataRetrievalMaxDurationOutput { + return o +} + +func (o DirectLightstepHistoricalDataRetrievalMaxDurationOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectLightstepHistoricalDataRetrievalMaxDuration) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o DirectLightstepHistoricalDataRetrievalMaxDurationOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectLightstepHistoricalDataRetrievalMaxDuration) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput struct{ *pulumi.OutputState } + +func (DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectLightstepHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (o DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput) ToDirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput() DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput { + return o +} + +func (o DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput) ToDirectLightstepHistoricalDataRetrievalMaxDurationArrayOutputWithContext(ctx context.Context) DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput { + return o +} + +func (o DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput) Index(i pulumi.IntInput) DirectLightstepHistoricalDataRetrievalMaxDurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DirectLightstepHistoricalDataRetrievalMaxDuration { + return vs[0].([]DirectLightstepHistoricalDataRetrievalMaxDuration)[vs[1].(int)] + }).(DirectLightstepHistoricalDataRetrievalMaxDurationOutput) +} + +type DirectLightstepQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectLightstepQueryDelayInput is an input type that accepts DirectLightstepQueryDelayArgs and DirectLightstepQueryDelayOutput values. +// You can construct a concrete instance of `DirectLightstepQueryDelayInput` via: +// +// DirectLightstepQueryDelayArgs{...} +type DirectLightstepQueryDelayInput interface { + pulumi.Input + + ToDirectLightstepQueryDelayOutput() DirectLightstepQueryDelayOutput + ToDirectLightstepQueryDelayOutputWithContext(context.Context) DirectLightstepQueryDelayOutput +} + +type DirectLightstepQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectLightstepQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectLightstepQueryDelay)(nil)).Elem() +} + +func (i DirectLightstepQueryDelayArgs) ToDirectLightstepQueryDelayOutput() DirectLightstepQueryDelayOutput { + return i.ToDirectLightstepQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectLightstepQueryDelayArgs) ToDirectLightstepQueryDelayOutputWithContext(ctx context.Context) DirectLightstepQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectLightstepQueryDelayOutput) +} + +func (i DirectLightstepQueryDelayArgs) ToDirectLightstepQueryDelayPtrOutput() DirectLightstepQueryDelayPtrOutput { + return i.ToDirectLightstepQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectLightstepQueryDelayArgs) ToDirectLightstepQueryDelayPtrOutputWithContext(ctx context.Context) DirectLightstepQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectLightstepQueryDelayOutput).ToDirectLightstepQueryDelayPtrOutputWithContext(ctx) +} + +// DirectLightstepQueryDelayPtrInput is an input type that accepts DirectLightstepQueryDelayArgs, DirectLightstepQueryDelayPtr and DirectLightstepQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectLightstepQueryDelayPtrInput` via: +// +// DirectLightstepQueryDelayArgs{...} +// +// or: +// +// nil +type DirectLightstepQueryDelayPtrInput interface { + pulumi.Input + + ToDirectLightstepQueryDelayPtrOutput() DirectLightstepQueryDelayPtrOutput + ToDirectLightstepQueryDelayPtrOutputWithContext(context.Context) DirectLightstepQueryDelayPtrOutput +} + +type directLightstepQueryDelayPtrType DirectLightstepQueryDelayArgs + +func DirectLightstepQueryDelayPtr(v *DirectLightstepQueryDelayArgs) DirectLightstepQueryDelayPtrInput { + return (*directLightstepQueryDelayPtrType)(v) +} + +func (*directLightstepQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectLightstepQueryDelay)(nil)).Elem() +} + +func (i *directLightstepQueryDelayPtrType) ToDirectLightstepQueryDelayPtrOutput() DirectLightstepQueryDelayPtrOutput { + return i.ToDirectLightstepQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directLightstepQueryDelayPtrType) ToDirectLightstepQueryDelayPtrOutputWithContext(ctx context.Context) DirectLightstepQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectLightstepQueryDelayPtrOutput) +} + +type DirectLightstepQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectLightstepQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectLightstepQueryDelay)(nil)).Elem() +} + +func (o DirectLightstepQueryDelayOutput) ToDirectLightstepQueryDelayOutput() DirectLightstepQueryDelayOutput { + return o +} + +func (o DirectLightstepQueryDelayOutput) ToDirectLightstepQueryDelayOutputWithContext(ctx context.Context) DirectLightstepQueryDelayOutput { + return o +} + +func (o DirectLightstepQueryDelayOutput) ToDirectLightstepQueryDelayPtrOutput() DirectLightstepQueryDelayPtrOutput { + return o.ToDirectLightstepQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectLightstepQueryDelayOutput) ToDirectLightstepQueryDelayPtrOutputWithContext(ctx context.Context) DirectLightstepQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectLightstepQueryDelay) *DirectLightstepQueryDelay { + return &v + }).(DirectLightstepQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectLightstepQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectLightstepQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectLightstepQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectLightstepQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectLightstepQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectLightstepQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectLightstepQueryDelay)(nil)).Elem() +} + +func (o DirectLightstepQueryDelayPtrOutput) ToDirectLightstepQueryDelayPtrOutput() DirectLightstepQueryDelayPtrOutput { + return o +} + +func (o DirectLightstepQueryDelayPtrOutput) ToDirectLightstepQueryDelayPtrOutputWithContext(ctx context.Context) DirectLightstepQueryDelayPtrOutput { + return o +} + +func (o DirectLightstepQueryDelayPtrOutput) Elem() DirectLightstepQueryDelayOutput { + return o.ApplyT(func(v *DirectLightstepQueryDelay) DirectLightstepQueryDelay { + if v != nil { + return *v + } + var ret DirectLightstepQueryDelay + return ret + }).(DirectLightstepQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectLightstepQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectLightstepQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectLightstepQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectLightstepQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type DirectNewrelicHistoricalDataRetrieval struct { + // Used by default for any SLOs connected to this data source. + DefaultDurations []DirectNewrelicHistoricalDataRetrievalDefaultDuration `pulumi:"defaultDurations"` + // Defines the maximum period for which data can be retrieved. + MaxDurations []DirectNewrelicHistoricalDataRetrievalMaxDuration `pulumi:"maxDurations"` +} + +// DirectNewrelicHistoricalDataRetrievalInput is an input type that accepts DirectNewrelicHistoricalDataRetrievalArgs and DirectNewrelicHistoricalDataRetrievalOutput values. +// You can construct a concrete instance of `DirectNewrelicHistoricalDataRetrievalInput` via: +// +// DirectNewrelicHistoricalDataRetrievalArgs{...} +type DirectNewrelicHistoricalDataRetrievalInput interface { + pulumi.Input + + ToDirectNewrelicHistoricalDataRetrievalOutput() DirectNewrelicHistoricalDataRetrievalOutput + ToDirectNewrelicHistoricalDataRetrievalOutputWithContext(context.Context) DirectNewrelicHistoricalDataRetrievalOutput +} + +type DirectNewrelicHistoricalDataRetrievalArgs struct { + // Used by default for any SLOs connected to this data source. + DefaultDurations DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayInput `pulumi:"defaultDurations"` + // Defines the maximum period for which data can be retrieved. + MaxDurations DirectNewrelicHistoricalDataRetrievalMaxDurationArrayInput `pulumi:"maxDurations"` +} + +func (DirectNewrelicHistoricalDataRetrievalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectNewrelicHistoricalDataRetrieval)(nil)).Elem() +} + +func (i DirectNewrelicHistoricalDataRetrievalArgs) ToDirectNewrelicHistoricalDataRetrievalOutput() DirectNewrelicHistoricalDataRetrievalOutput { + return i.ToDirectNewrelicHistoricalDataRetrievalOutputWithContext(context.Background()) +} + +func (i DirectNewrelicHistoricalDataRetrievalArgs) ToDirectNewrelicHistoricalDataRetrievalOutputWithContext(ctx context.Context) DirectNewrelicHistoricalDataRetrievalOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectNewrelicHistoricalDataRetrievalOutput) +} + +func (i DirectNewrelicHistoricalDataRetrievalArgs) ToDirectNewrelicHistoricalDataRetrievalPtrOutput() DirectNewrelicHistoricalDataRetrievalPtrOutput { + return i.ToDirectNewrelicHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (i DirectNewrelicHistoricalDataRetrievalArgs) ToDirectNewrelicHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectNewrelicHistoricalDataRetrievalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectNewrelicHistoricalDataRetrievalOutput).ToDirectNewrelicHistoricalDataRetrievalPtrOutputWithContext(ctx) +} + +// DirectNewrelicHistoricalDataRetrievalPtrInput is an input type that accepts DirectNewrelicHistoricalDataRetrievalArgs, DirectNewrelicHistoricalDataRetrievalPtr and DirectNewrelicHistoricalDataRetrievalPtrOutput values. +// You can construct a concrete instance of `DirectNewrelicHistoricalDataRetrievalPtrInput` via: +// +// DirectNewrelicHistoricalDataRetrievalArgs{...} +// +// or: +// +// nil +type DirectNewrelicHistoricalDataRetrievalPtrInput interface { + pulumi.Input + + ToDirectNewrelicHistoricalDataRetrievalPtrOutput() DirectNewrelicHistoricalDataRetrievalPtrOutput + ToDirectNewrelicHistoricalDataRetrievalPtrOutputWithContext(context.Context) DirectNewrelicHistoricalDataRetrievalPtrOutput +} + +type directNewrelicHistoricalDataRetrievalPtrType DirectNewrelicHistoricalDataRetrievalArgs + +func DirectNewrelicHistoricalDataRetrievalPtr(v *DirectNewrelicHistoricalDataRetrievalArgs) DirectNewrelicHistoricalDataRetrievalPtrInput { + return (*directNewrelicHistoricalDataRetrievalPtrType)(v) +} + +func (*directNewrelicHistoricalDataRetrievalPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectNewrelicHistoricalDataRetrieval)(nil)).Elem() +} + +func (i *directNewrelicHistoricalDataRetrievalPtrType) ToDirectNewrelicHistoricalDataRetrievalPtrOutput() DirectNewrelicHistoricalDataRetrievalPtrOutput { + return i.ToDirectNewrelicHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (i *directNewrelicHistoricalDataRetrievalPtrType) ToDirectNewrelicHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectNewrelicHistoricalDataRetrievalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectNewrelicHistoricalDataRetrievalPtrOutput) +} + +type DirectNewrelicHistoricalDataRetrievalOutput struct{ *pulumi.OutputState } + +func (DirectNewrelicHistoricalDataRetrievalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectNewrelicHistoricalDataRetrieval)(nil)).Elem() +} + +func (o DirectNewrelicHistoricalDataRetrievalOutput) ToDirectNewrelicHistoricalDataRetrievalOutput() DirectNewrelicHistoricalDataRetrievalOutput { + return o +} + +func (o DirectNewrelicHistoricalDataRetrievalOutput) ToDirectNewrelicHistoricalDataRetrievalOutputWithContext(ctx context.Context) DirectNewrelicHistoricalDataRetrievalOutput { + return o +} + +func (o DirectNewrelicHistoricalDataRetrievalOutput) ToDirectNewrelicHistoricalDataRetrievalPtrOutput() DirectNewrelicHistoricalDataRetrievalPtrOutput { + return o.ToDirectNewrelicHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (o DirectNewrelicHistoricalDataRetrievalOutput) ToDirectNewrelicHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectNewrelicHistoricalDataRetrievalPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectNewrelicHistoricalDataRetrieval) *DirectNewrelicHistoricalDataRetrieval { + return &v + }).(DirectNewrelicHistoricalDataRetrievalPtrOutput) +} + +// Used by default for any SLOs connected to this data source. +func (o DirectNewrelicHistoricalDataRetrievalOutput) DefaultDurations() DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput { + return o.ApplyT(func(v DirectNewrelicHistoricalDataRetrieval) []DirectNewrelicHistoricalDataRetrievalDefaultDuration { + return v.DefaultDurations + }).(DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +// Defines the maximum period for which data can be retrieved. +func (o DirectNewrelicHistoricalDataRetrievalOutput) MaxDurations() DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput { + return o.ApplyT(func(v DirectNewrelicHistoricalDataRetrieval) []DirectNewrelicHistoricalDataRetrievalMaxDuration { + return v.MaxDurations + }).(DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectNewrelicHistoricalDataRetrievalPtrOutput struct{ *pulumi.OutputState } + +func (DirectNewrelicHistoricalDataRetrievalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectNewrelicHistoricalDataRetrieval)(nil)).Elem() +} + +func (o DirectNewrelicHistoricalDataRetrievalPtrOutput) ToDirectNewrelicHistoricalDataRetrievalPtrOutput() DirectNewrelicHistoricalDataRetrievalPtrOutput { + return o +} + +func (o DirectNewrelicHistoricalDataRetrievalPtrOutput) ToDirectNewrelicHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectNewrelicHistoricalDataRetrievalPtrOutput { + return o +} + +func (o DirectNewrelicHistoricalDataRetrievalPtrOutput) Elem() DirectNewrelicHistoricalDataRetrievalOutput { + return o.ApplyT(func(v *DirectNewrelicHistoricalDataRetrieval) DirectNewrelicHistoricalDataRetrieval { + if v != nil { + return *v + } + var ret DirectNewrelicHistoricalDataRetrieval + return ret + }).(DirectNewrelicHistoricalDataRetrievalOutput) +} + +// Used by default for any SLOs connected to this data source. +func (o DirectNewrelicHistoricalDataRetrievalPtrOutput) DefaultDurations() DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput { + return o.ApplyT(func(v *DirectNewrelicHistoricalDataRetrieval) []DirectNewrelicHistoricalDataRetrievalDefaultDuration { + if v == nil { + return nil + } + return v.DefaultDurations + }).(DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +// Defines the maximum period for which data can be retrieved. +func (o DirectNewrelicHistoricalDataRetrievalPtrOutput) MaxDurations() DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput { + return o.ApplyT(func(v *DirectNewrelicHistoricalDataRetrieval) []DirectNewrelicHistoricalDataRetrievalMaxDuration { + if v == nil { + return nil + } + return v.MaxDurations + }).(DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectNewrelicHistoricalDataRetrievalDefaultDuration struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// DirectNewrelicHistoricalDataRetrievalDefaultDurationInput is an input type that accepts DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs and DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput values. +// You can construct a concrete instance of `DirectNewrelicHistoricalDataRetrievalDefaultDurationInput` via: +// +// DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs{...} +type DirectNewrelicHistoricalDataRetrievalDefaultDurationInput interface { + pulumi.Input + + ToDirectNewrelicHistoricalDataRetrievalDefaultDurationOutput() DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput + ToDirectNewrelicHistoricalDataRetrievalDefaultDurationOutputWithContext(context.Context) DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput +} + +type DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectNewrelicHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (i DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs) ToDirectNewrelicHistoricalDataRetrievalDefaultDurationOutput() DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput { + return i.ToDirectNewrelicHistoricalDataRetrievalDefaultDurationOutputWithContext(context.Background()) +} + +func (i DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs) ToDirectNewrelicHistoricalDataRetrievalDefaultDurationOutputWithContext(ctx context.Context) DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput) +} + +// DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayInput is an input type that accepts DirectNewrelicHistoricalDataRetrievalDefaultDurationArray and DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput values. +// You can construct a concrete instance of `DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayInput` via: +// +// DirectNewrelicHistoricalDataRetrievalDefaultDurationArray{ DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs{...} } +type DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayInput interface { + pulumi.Input + + ToDirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput() DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput + ToDirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(context.Context) DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput +} + +type DirectNewrelicHistoricalDataRetrievalDefaultDurationArray []DirectNewrelicHistoricalDataRetrievalDefaultDurationInput + +func (DirectNewrelicHistoricalDataRetrievalDefaultDurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectNewrelicHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (i DirectNewrelicHistoricalDataRetrievalDefaultDurationArray) ToDirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput() DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput { + return i.ToDirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(context.Background()) +} + +func (i DirectNewrelicHistoricalDataRetrievalDefaultDurationArray) ToDirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(ctx context.Context) DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +type DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput struct{ *pulumi.OutputState } + +func (DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectNewrelicHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (o DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput) ToDirectNewrelicHistoricalDataRetrievalDefaultDurationOutput() DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput { + return o +} + +func (o DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput) ToDirectNewrelicHistoricalDataRetrievalDefaultDurationOutputWithContext(ctx context.Context) DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput { + return o +} + +func (o DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectNewrelicHistoricalDataRetrievalDefaultDuration) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectNewrelicHistoricalDataRetrievalDefaultDuration) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput struct{ *pulumi.OutputState } + +func (DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectNewrelicHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (o DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput) ToDirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput() DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput { + return o +} + +func (o DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput) ToDirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(ctx context.Context) DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput { + return o +} + +func (o DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput) Index(i pulumi.IntInput) DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DirectNewrelicHistoricalDataRetrievalDefaultDuration { + return vs[0].([]DirectNewrelicHistoricalDataRetrievalDefaultDuration)[vs[1].(int)] + }).(DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput) +} + +type DirectNewrelicHistoricalDataRetrievalMaxDuration struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// DirectNewrelicHistoricalDataRetrievalMaxDurationInput is an input type that accepts DirectNewrelicHistoricalDataRetrievalMaxDurationArgs and DirectNewrelicHistoricalDataRetrievalMaxDurationOutput values. +// You can construct a concrete instance of `DirectNewrelicHistoricalDataRetrievalMaxDurationInput` via: +// +// DirectNewrelicHistoricalDataRetrievalMaxDurationArgs{...} +type DirectNewrelicHistoricalDataRetrievalMaxDurationInput interface { + pulumi.Input + + ToDirectNewrelicHistoricalDataRetrievalMaxDurationOutput() DirectNewrelicHistoricalDataRetrievalMaxDurationOutput + ToDirectNewrelicHistoricalDataRetrievalMaxDurationOutputWithContext(context.Context) DirectNewrelicHistoricalDataRetrievalMaxDurationOutput +} + +type DirectNewrelicHistoricalDataRetrievalMaxDurationArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectNewrelicHistoricalDataRetrievalMaxDurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectNewrelicHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (i DirectNewrelicHistoricalDataRetrievalMaxDurationArgs) ToDirectNewrelicHistoricalDataRetrievalMaxDurationOutput() DirectNewrelicHistoricalDataRetrievalMaxDurationOutput { + return i.ToDirectNewrelicHistoricalDataRetrievalMaxDurationOutputWithContext(context.Background()) +} + +func (i DirectNewrelicHistoricalDataRetrievalMaxDurationArgs) ToDirectNewrelicHistoricalDataRetrievalMaxDurationOutputWithContext(ctx context.Context) DirectNewrelicHistoricalDataRetrievalMaxDurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectNewrelicHistoricalDataRetrievalMaxDurationOutput) +} + +// DirectNewrelicHistoricalDataRetrievalMaxDurationArrayInput is an input type that accepts DirectNewrelicHistoricalDataRetrievalMaxDurationArray and DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput values. +// You can construct a concrete instance of `DirectNewrelicHistoricalDataRetrievalMaxDurationArrayInput` via: +// +// DirectNewrelicHistoricalDataRetrievalMaxDurationArray{ DirectNewrelicHistoricalDataRetrievalMaxDurationArgs{...} } +type DirectNewrelicHistoricalDataRetrievalMaxDurationArrayInput interface { + pulumi.Input + + ToDirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput() DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput + ToDirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutputWithContext(context.Context) DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput +} + +type DirectNewrelicHistoricalDataRetrievalMaxDurationArray []DirectNewrelicHistoricalDataRetrievalMaxDurationInput + +func (DirectNewrelicHistoricalDataRetrievalMaxDurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectNewrelicHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (i DirectNewrelicHistoricalDataRetrievalMaxDurationArray) ToDirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput() DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput { + return i.ToDirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutputWithContext(context.Background()) +} + +func (i DirectNewrelicHistoricalDataRetrievalMaxDurationArray) ToDirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutputWithContext(ctx context.Context) DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectNewrelicHistoricalDataRetrievalMaxDurationOutput struct{ *pulumi.OutputState } + +func (DirectNewrelicHistoricalDataRetrievalMaxDurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectNewrelicHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (o DirectNewrelicHistoricalDataRetrievalMaxDurationOutput) ToDirectNewrelicHistoricalDataRetrievalMaxDurationOutput() DirectNewrelicHistoricalDataRetrievalMaxDurationOutput { + return o +} + +func (o DirectNewrelicHistoricalDataRetrievalMaxDurationOutput) ToDirectNewrelicHistoricalDataRetrievalMaxDurationOutputWithContext(ctx context.Context) DirectNewrelicHistoricalDataRetrievalMaxDurationOutput { + return o +} + +func (o DirectNewrelicHistoricalDataRetrievalMaxDurationOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectNewrelicHistoricalDataRetrievalMaxDuration) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o DirectNewrelicHistoricalDataRetrievalMaxDurationOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectNewrelicHistoricalDataRetrievalMaxDuration) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput struct{ *pulumi.OutputState } + +func (DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectNewrelicHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (o DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput) ToDirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput() DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput { + return o +} + +func (o DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput) ToDirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutputWithContext(ctx context.Context) DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput { + return o +} + +func (o DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput) Index(i pulumi.IntInput) DirectNewrelicHistoricalDataRetrievalMaxDurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DirectNewrelicHistoricalDataRetrievalMaxDuration { + return vs[0].([]DirectNewrelicHistoricalDataRetrievalMaxDuration)[vs[1].(int)] + }).(DirectNewrelicHistoricalDataRetrievalMaxDurationOutput) +} + +type DirectNewrelicQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectNewrelicQueryDelayInput is an input type that accepts DirectNewrelicQueryDelayArgs and DirectNewrelicQueryDelayOutput values. +// You can construct a concrete instance of `DirectNewrelicQueryDelayInput` via: +// +// DirectNewrelicQueryDelayArgs{...} +type DirectNewrelicQueryDelayInput interface { + pulumi.Input + + ToDirectNewrelicQueryDelayOutput() DirectNewrelicQueryDelayOutput + ToDirectNewrelicQueryDelayOutputWithContext(context.Context) DirectNewrelicQueryDelayOutput +} + +type DirectNewrelicQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectNewrelicQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectNewrelicQueryDelay)(nil)).Elem() +} + +func (i DirectNewrelicQueryDelayArgs) ToDirectNewrelicQueryDelayOutput() DirectNewrelicQueryDelayOutput { + return i.ToDirectNewrelicQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectNewrelicQueryDelayArgs) ToDirectNewrelicQueryDelayOutputWithContext(ctx context.Context) DirectNewrelicQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectNewrelicQueryDelayOutput) +} + +func (i DirectNewrelicQueryDelayArgs) ToDirectNewrelicQueryDelayPtrOutput() DirectNewrelicQueryDelayPtrOutput { + return i.ToDirectNewrelicQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectNewrelicQueryDelayArgs) ToDirectNewrelicQueryDelayPtrOutputWithContext(ctx context.Context) DirectNewrelicQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectNewrelicQueryDelayOutput).ToDirectNewrelicQueryDelayPtrOutputWithContext(ctx) +} + +// DirectNewrelicQueryDelayPtrInput is an input type that accepts DirectNewrelicQueryDelayArgs, DirectNewrelicQueryDelayPtr and DirectNewrelicQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectNewrelicQueryDelayPtrInput` via: +// +// DirectNewrelicQueryDelayArgs{...} +// +// or: +// +// nil +type DirectNewrelicQueryDelayPtrInput interface { + pulumi.Input + + ToDirectNewrelicQueryDelayPtrOutput() DirectNewrelicQueryDelayPtrOutput + ToDirectNewrelicQueryDelayPtrOutputWithContext(context.Context) DirectNewrelicQueryDelayPtrOutput +} + +type directNewrelicQueryDelayPtrType DirectNewrelicQueryDelayArgs + +func DirectNewrelicQueryDelayPtr(v *DirectNewrelicQueryDelayArgs) DirectNewrelicQueryDelayPtrInput { + return (*directNewrelicQueryDelayPtrType)(v) +} + +func (*directNewrelicQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectNewrelicQueryDelay)(nil)).Elem() +} + +func (i *directNewrelicQueryDelayPtrType) ToDirectNewrelicQueryDelayPtrOutput() DirectNewrelicQueryDelayPtrOutput { + return i.ToDirectNewrelicQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directNewrelicQueryDelayPtrType) ToDirectNewrelicQueryDelayPtrOutputWithContext(ctx context.Context) DirectNewrelicQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectNewrelicQueryDelayPtrOutput) +} + +type DirectNewrelicQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectNewrelicQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectNewrelicQueryDelay)(nil)).Elem() +} + +func (o DirectNewrelicQueryDelayOutput) ToDirectNewrelicQueryDelayOutput() DirectNewrelicQueryDelayOutput { + return o +} + +func (o DirectNewrelicQueryDelayOutput) ToDirectNewrelicQueryDelayOutputWithContext(ctx context.Context) DirectNewrelicQueryDelayOutput { + return o +} + +func (o DirectNewrelicQueryDelayOutput) ToDirectNewrelicQueryDelayPtrOutput() DirectNewrelicQueryDelayPtrOutput { + return o.ToDirectNewrelicQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectNewrelicQueryDelayOutput) ToDirectNewrelicQueryDelayPtrOutputWithContext(ctx context.Context) DirectNewrelicQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectNewrelicQueryDelay) *DirectNewrelicQueryDelay { + return &v + }).(DirectNewrelicQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectNewrelicQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectNewrelicQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectNewrelicQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectNewrelicQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectNewrelicQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectNewrelicQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectNewrelicQueryDelay)(nil)).Elem() +} + +func (o DirectNewrelicQueryDelayPtrOutput) ToDirectNewrelicQueryDelayPtrOutput() DirectNewrelicQueryDelayPtrOutput { + return o +} + +func (o DirectNewrelicQueryDelayPtrOutput) ToDirectNewrelicQueryDelayPtrOutputWithContext(ctx context.Context) DirectNewrelicQueryDelayPtrOutput { + return o +} + +func (o DirectNewrelicQueryDelayPtrOutput) Elem() DirectNewrelicQueryDelayOutput { + return o.ApplyT(func(v *DirectNewrelicQueryDelay) DirectNewrelicQueryDelay { + if v != nil { + return *v + } + var ret DirectNewrelicQueryDelay + return ret + }).(DirectNewrelicQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectNewrelicQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectNewrelicQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectNewrelicQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectNewrelicQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type DirectPingdomQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectPingdomQueryDelayInput is an input type that accepts DirectPingdomQueryDelayArgs and DirectPingdomQueryDelayOutput values. +// You can construct a concrete instance of `DirectPingdomQueryDelayInput` via: +// +// DirectPingdomQueryDelayArgs{...} +type DirectPingdomQueryDelayInput interface { + pulumi.Input + + ToDirectPingdomQueryDelayOutput() DirectPingdomQueryDelayOutput + ToDirectPingdomQueryDelayOutputWithContext(context.Context) DirectPingdomQueryDelayOutput +} + +type DirectPingdomQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectPingdomQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectPingdomQueryDelay)(nil)).Elem() +} + +func (i DirectPingdomQueryDelayArgs) ToDirectPingdomQueryDelayOutput() DirectPingdomQueryDelayOutput { + return i.ToDirectPingdomQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectPingdomQueryDelayArgs) ToDirectPingdomQueryDelayOutputWithContext(ctx context.Context) DirectPingdomQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectPingdomQueryDelayOutput) +} + +func (i DirectPingdomQueryDelayArgs) ToDirectPingdomQueryDelayPtrOutput() DirectPingdomQueryDelayPtrOutput { + return i.ToDirectPingdomQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectPingdomQueryDelayArgs) ToDirectPingdomQueryDelayPtrOutputWithContext(ctx context.Context) DirectPingdomQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectPingdomQueryDelayOutput).ToDirectPingdomQueryDelayPtrOutputWithContext(ctx) +} + +// DirectPingdomQueryDelayPtrInput is an input type that accepts DirectPingdomQueryDelayArgs, DirectPingdomQueryDelayPtr and DirectPingdomQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectPingdomQueryDelayPtrInput` via: +// +// DirectPingdomQueryDelayArgs{...} +// +// or: +// +// nil +type DirectPingdomQueryDelayPtrInput interface { + pulumi.Input + + ToDirectPingdomQueryDelayPtrOutput() DirectPingdomQueryDelayPtrOutput + ToDirectPingdomQueryDelayPtrOutputWithContext(context.Context) DirectPingdomQueryDelayPtrOutput +} + +type directPingdomQueryDelayPtrType DirectPingdomQueryDelayArgs + +func DirectPingdomQueryDelayPtr(v *DirectPingdomQueryDelayArgs) DirectPingdomQueryDelayPtrInput { + return (*directPingdomQueryDelayPtrType)(v) +} + +func (*directPingdomQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectPingdomQueryDelay)(nil)).Elem() +} + +func (i *directPingdomQueryDelayPtrType) ToDirectPingdomQueryDelayPtrOutput() DirectPingdomQueryDelayPtrOutput { + return i.ToDirectPingdomQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directPingdomQueryDelayPtrType) ToDirectPingdomQueryDelayPtrOutputWithContext(ctx context.Context) DirectPingdomQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectPingdomQueryDelayPtrOutput) +} + +type DirectPingdomQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectPingdomQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectPingdomQueryDelay)(nil)).Elem() +} + +func (o DirectPingdomQueryDelayOutput) ToDirectPingdomQueryDelayOutput() DirectPingdomQueryDelayOutput { + return o +} + +func (o DirectPingdomQueryDelayOutput) ToDirectPingdomQueryDelayOutputWithContext(ctx context.Context) DirectPingdomQueryDelayOutput { + return o +} + +func (o DirectPingdomQueryDelayOutput) ToDirectPingdomQueryDelayPtrOutput() DirectPingdomQueryDelayPtrOutput { + return o.ToDirectPingdomQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectPingdomQueryDelayOutput) ToDirectPingdomQueryDelayPtrOutputWithContext(ctx context.Context) DirectPingdomQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectPingdomQueryDelay) *DirectPingdomQueryDelay { + return &v + }).(DirectPingdomQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectPingdomQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectPingdomQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectPingdomQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectPingdomQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectPingdomQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectPingdomQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectPingdomQueryDelay)(nil)).Elem() +} + +func (o DirectPingdomQueryDelayPtrOutput) ToDirectPingdomQueryDelayPtrOutput() DirectPingdomQueryDelayPtrOutput { + return o +} + +func (o DirectPingdomQueryDelayPtrOutput) ToDirectPingdomQueryDelayPtrOutputWithContext(ctx context.Context) DirectPingdomQueryDelayPtrOutput { + return o +} + +func (o DirectPingdomQueryDelayPtrOutput) Elem() DirectPingdomQueryDelayOutput { + return o.ApplyT(func(v *DirectPingdomQueryDelay) DirectPingdomQueryDelay { + if v != nil { + return *v + } + var ret DirectPingdomQueryDelay + return ret + }).(DirectPingdomQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectPingdomQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectPingdomQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectPingdomQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectPingdomQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type DirectRedshiftQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectRedshiftQueryDelayInput is an input type that accepts DirectRedshiftQueryDelayArgs and DirectRedshiftQueryDelayOutput values. +// You can construct a concrete instance of `DirectRedshiftQueryDelayInput` via: +// +// DirectRedshiftQueryDelayArgs{...} +type DirectRedshiftQueryDelayInput interface { + pulumi.Input + + ToDirectRedshiftQueryDelayOutput() DirectRedshiftQueryDelayOutput + ToDirectRedshiftQueryDelayOutputWithContext(context.Context) DirectRedshiftQueryDelayOutput +} + +type DirectRedshiftQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectRedshiftQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectRedshiftQueryDelay)(nil)).Elem() +} + +func (i DirectRedshiftQueryDelayArgs) ToDirectRedshiftQueryDelayOutput() DirectRedshiftQueryDelayOutput { + return i.ToDirectRedshiftQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectRedshiftQueryDelayArgs) ToDirectRedshiftQueryDelayOutputWithContext(ctx context.Context) DirectRedshiftQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectRedshiftQueryDelayOutput) +} + +func (i DirectRedshiftQueryDelayArgs) ToDirectRedshiftQueryDelayPtrOutput() DirectRedshiftQueryDelayPtrOutput { + return i.ToDirectRedshiftQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectRedshiftQueryDelayArgs) ToDirectRedshiftQueryDelayPtrOutputWithContext(ctx context.Context) DirectRedshiftQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectRedshiftQueryDelayOutput).ToDirectRedshiftQueryDelayPtrOutputWithContext(ctx) +} + +// DirectRedshiftQueryDelayPtrInput is an input type that accepts DirectRedshiftQueryDelayArgs, DirectRedshiftQueryDelayPtr and DirectRedshiftQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectRedshiftQueryDelayPtrInput` via: +// +// DirectRedshiftQueryDelayArgs{...} +// +// or: +// +// nil +type DirectRedshiftQueryDelayPtrInput interface { + pulumi.Input + + ToDirectRedshiftQueryDelayPtrOutput() DirectRedshiftQueryDelayPtrOutput + ToDirectRedshiftQueryDelayPtrOutputWithContext(context.Context) DirectRedshiftQueryDelayPtrOutput +} + +type directRedshiftQueryDelayPtrType DirectRedshiftQueryDelayArgs + +func DirectRedshiftQueryDelayPtr(v *DirectRedshiftQueryDelayArgs) DirectRedshiftQueryDelayPtrInput { + return (*directRedshiftQueryDelayPtrType)(v) +} + +func (*directRedshiftQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectRedshiftQueryDelay)(nil)).Elem() +} + +func (i *directRedshiftQueryDelayPtrType) ToDirectRedshiftQueryDelayPtrOutput() DirectRedshiftQueryDelayPtrOutput { + return i.ToDirectRedshiftQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directRedshiftQueryDelayPtrType) ToDirectRedshiftQueryDelayPtrOutputWithContext(ctx context.Context) DirectRedshiftQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectRedshiftQueryDelayPtrOutput) +} + +type DirectRedshiftQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectRedshiftQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectRedshiftQueryDelay)(nil)).Elem() +} + +func (o DirectRedshiftQueryDelayOutput) ToDirectRedshiftQueryDelayOutput() DirectRedshiftQueryDelayOutput { + return o +} + +func (o DirectRedshiftQueryDelayOutput) ToDirectRedshiftQueryDelayOutputWithContext(ctx context.Context) DirectRedshiftQueryDelayOutput { + return o +} + +func (o DirectRedshiftQueryDelayOutput) ToDirectRedshiftQueryDelayPtrOutput() DirectRedshiftQueryDelayPtrOutput { + return o.ToDirectRedshiftQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectRedshiftQueryDelayOutput) ToDirectRedshiftQueryDelayPtrOutputWithContext(ctx context.Context) DirectRedshiftQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectRedshiftQueryDelay) *DirectRedshiftQueryDelay { + return &v + }).(DirectRedshiftQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectRedshiftQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectRedshiftQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectRedshiftQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectRedshiftQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectRedshiftQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectRedshiftQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectRedshiftQueryDelay)(nil)).Elem() +} + +func (o DirectRedshiftQueryDelayPtrOutput) ToDirectRedshiftQueryDelayPtrOutput() DirectRedshiftQueryDelayPtrOutput { + return o +} + +func (o DirectRedshiftQueryDelayPtrOutput) ToDirectRedshiftQueryDelayPtrOutputWithContext(ctx context.Context) DirectRedshiftQueryDelayPtrOutput { + return o +} + +func (o DirectRedshiftQueryDelayPtrOutput) Elem() DirectRedshiftQueryDelayOutput { + return o.ApplyT(func(v *DirectRedshiftQueryDelay) DirectRedshiftQueryDelay { + if v != nil { + return *v + } + var ret DirectRedshiftQueryDelay + return ret + }).(DirectRedshiftQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectRedshiftQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectRedshiftQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectRedshiftQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectRedshiftQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type DirectSplunkHistoricalDataRetrieval struct { + // Used by default for any SLOs connected to this data source. + DefaultDurations []DirectSplunkHistoricalDataRetrievalDefaultDuration `pulumi:"defaultDurations"` + // Defines the maximum period for which data can be retrieved. + MaxDurations []DirectSplunkHistoricalDataRetrievalMaxDuration `pulumi:"maxDurations"` +} + +// DirectSplunkHistoricalDataRetrievalInput is an input type that accepts DirectSplunkHistoricalDataRetrievalArgs and DirectSplunkHistoricalDataRetrievalOutput values. +// You can construct a concrete instance of `DirectSplunkHistoricalDataRetrievalInput` via: +// +// DirectSplunkHistoricalDataRetrievalArgs{...} +type DirectSplunkHistoricalDataRetrievalInput interface { + pulumi.Input + + ToDirectSplunkHistoricalDataRetrievalOutput() DirectSplunkHistoricalDataRetrievalOutput + ToDirectSplunkHistoricalDataRetrievalOutputWithContext(context.Context) DirectSplunkHistoricalDataRetrievalOutput +} + +type DirectSplunkHistoricalDataRetrievalArgs struct { + // Used by default for any SLOs connected to this data source. + DefaultDurations DirectSplunkHistoricalDataRetrievalDefaultDurationArrayInput `pulumi:"defaultDurations"` + // Defines the maximum period for which data can be retrieved. + MaxDurations DirectSplunkHistoricalDataRetrievalMaxDurationArrayInput `pulumi:"maxDurations"` +} + +func (DirectSplunkHistoricalDataRetrievalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectSplunkHistoricalDataRetrieval)(nil)).Elem() +} + +func (i DirectSplunkHistoricalDataRetrievalArgs) ToDirectSplunkHistoricalDataRetrievalOutput() DirectSplunkHistoricalDataRetrievalOutput { + return i.ToDirectSplunkHistoricalDataRetrievalOutputWithContext(context.Background()) +} + +func (i DirectSplunkHistoricalDataRetrievalArgs) ToDirectSplunkHistoricalDataRetrievalOutputWithContext(ctx context.Context) DirectSplunkHistoricalDataRetrievalOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkHistoricalDataRetrievalOutput) +} + +func (i DirectSplunkHistoricalDataRetrievalArgs) ToDirectSplunkHistoricalDataRetrievalPtrOutput() DirectSplunkHistoricalDataRetrievalPtrOutput { + return i.ToDirectSplunkHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (i DirectSplunkHistoricalDataRetrievalArgs) ToDirectSplunkHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectSplunkHistoricalDataRetrievalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkHistoricalDataRetrievalOutput).ToDirectSplunkHistoricalDataRetrievalPtrOutputWithContext(ctx) +} + +// DirectSplunkHistoricalDataRetrievalPtrInput is an input type that accepts DirectSplunkHistoricalDataRetrievalArgs, DirectSplunkHistoricalDataRetrievalPtr and DirectSplunkHistoricalDataRetrievalPtrOutput values. +// You can construct a concrete instance of `DirectSplunkHistoricalDataRetrievalPtrInput` via: +// +// DirectSplunkHistoricalDataRetrievalArgs{...} +// +// or: +// +// nil +type DirectSplunkHistoricalDataRetrievalPtrInput interface { + pulumi.Input + + ToDirectSplunkHistoricalDataRetrievalPtrOutput() DirectSplunkHistoricalDataRetrievalPtrOutput + ToDirectSplunkHistoricalDataRetrievalPtrOutputWithContext(context.Context) DirectSplunkHistoricalDataRetrievalPtrOutput +} + +type directSplunkHistoricalDataRetrievalPtrType DirectSplunkHistoricalDataRetrievalArgs + +func DirectSplunkHistoricalDataRetrievalPtr(v *DirectSplunkHistoricalDataRetrievalArgs) DirectSplunkHistoricalDataRetrievalPtrInput { + return (*directSplunkHistoricalDataRetrievalPtrType)(v) +} + +func (*directSplunkHistoricalDataRetrievalPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectSplunkHistoricalDataRetrieval)(nil)).Elem() +} + +func (i *directSplunkHistoricalDataRetrievalPtrType) ToDirectSplunkHistoricalDataRetrievalPtrOutput() DirectSplunkHistoricalDataRetrievalPtrOutput { + return i.ToDirectSplunkHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (i *directSplunkHistoricalDataRetrievalPtrType) ToDirectSplunkHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectSplunkHistoricalDataRetrievalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkHistoricalDataRetrievalPtrOutput) +} + +type DirectSplunkHistoricalDataRetrievalOutput struct{ *pulumi.OutputState } + +func (DirectSplunkHistoricalDataRetrievalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectSplunkHistoricalDataRetrieval)(nil)).Elem() +} + +func (o DirectSplunkHistoricalDataRetrievalOutput) ToDirectSplunkHistoricalDataRetrievalOutput() DirectSplunkHistoricalDataRetrievalOutput { + return o +} + +func (o DirectSplunkHistoricalDataRetrievalOutput) ToDirectSplunkHistoricalDataRetrievalOutputWithContext(ctx context.Context) DirectSplunkHistoricalDataRetrievalOutput { + return o +} + +func (o DirectSplunkHistoricalDataRetrievalOutput) ToDirectSplunkHistoricalDataRetrievalPtrOutput() DirectSplunkHistoricalDataRetrievalPtrOutput { + return o.ToDirectSplunkHistoricalDataRetrievalPtrOutputWithContext(context.Background()) +} + +func (o DirectSplunkHistoricalDataRetrievalOutput) ToDirectSplunkHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectSplunkHistoricalDataRetrievalPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectSplunkHistoricalDataRetrieval) *DirectSplunkHistoricalDataRetrieval { + return &v + }).(DirectSplunkHistoricalDataRetrievalPtrOutput) +} + +// Used by default for any SLOs connected to this data source. +func (o DirectSplunkHistoricalDataRetrievalOutput) DefaultDurations() DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput { + return o.ApplyT(func(v DirectSplunkHistoricalDataRetrieval) []DirectSplunkHistoricalDataRetrievalDefaultDuration { + return v.DefaultDurations + }).(DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +// Defines the maximum period for which data can be retrieved. +func (o DirectSplunkHistoricalDataRetrievalOutput) MaxDurations() DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput { + return o.ApplyT(func(v DirectSplunkHistoricalDataRetrieval) []DirectSplunkHistoricalDataRetrievalMaxDuration { + return v.MaxDurations + }).(DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectSplunkHistoricalDataRetrievalPtrOutput struct{ *pulumi.OutputState } + +func (DirectSplunkHistoricalDataRetrievalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectSplunkHistoricalDataRetrieval)(nil)).Elem() +} + +func (o DirectSplunkHistoricalDataRetrievalPtrOutput) ToDirectSplunkHistoricalDataRetrievalPtrOutput() DirectSplunkHistoricalDataRetrievalPtrOutput { + return o +} + +func (o DirectSplunkHistoricalDataRetrievalPtrOutput) ToDirectSplunkHistoricalDataRetrievalPtrOutputWithContext(ctx context.Context) DirectSplunkHistoricalDataRetrievalPtrOutput { + return o +} + +func (o DirectSplunkHistoricalDataRetrievalPtrOutput) Elem() DirectSplunkHistoricalDataRetrievalOutput { + return o.ApplyT(func(v *DirectSplunkHistoricalDataRetrieval) DirectSplunkHistoricalDataRetrieval { + if v != nil { + return *v + } + var ret DirectSplunkHistoricalDataRetrieval + return ret + }).(DirectSplunkHistoricalDataRetrievalOutput) +} + +// Used by default for any SLOs connected to this data source. +func (o DirectSplunkHistoricalDataRetrievalPtrOutput) DefaultDurations() DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput { + return o.ApplyT(func(v *DirectSplunkHistoricalDataRetrieval) []DirectSplunkHistoricalDataRetrievalDefaultDuration { + if v == nil { + return nil + } + return v.DefaultDurations + }).(DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +// Defines the maximum period for which data can be retrieved. +func (o DirectSplunkHistoricalDataRetrievalPtrOutput) MaxDurations() DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput { + return o.ApplyT(func(v *DirectSplunkHistoricalDataRetrieval) []DirectSplunkHistoricalDataRetrievalMaxDuration { + if v == nil { + return nil + } + return v.MaxDurations + }).(DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectSplunkHistoricalDataRetrievalDefaultDuration struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// DirectSplunkHistoricalDataRetrievalDefaultDurationInput is an input type that accepts DirectSplunkHistoricalDataRetrievalDefaultDurationArgs and DirectSplunkHistoricalDataRetrievalDefaultDurationOutput values. +// You can construct a concrete instance of `DirectSplunkHistoricalDataRetrievalDefaultDurationInput` via: +// +// DirectSplunkHistoricalDataRetrievalDefaultDurationArgs{...} +type DirectSplunkHistoricalDataRetrievalDefaultDurationInput interface { + pulumi.Input + + ToDirectSplunkHistoricalDataRetrievalDefaultDurationOutput() DirectSplunkHistoricalDataRetrievalDefaultDurationOutput + ToDirectSplunkHistoricalDataRetrievalDefaultDurationOutputWithContext(context.Context) DirectSplunkHistoricalDataRetrievalDefaultDurationOutput +} + +type DirectSplunkHistoricalDataRetrievalDefaultDurationArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectSplunkHistoricalDataRetrievalDefaultDurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectSplunkHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (i DirectSplunkHistoricalDataRetrievalDefaultDurationArgs) ToDirectSplunkHistoricalDataRetrievalDefaultDurationOutput() DirectSplunkHistoricalDataRetrievalDefaultDurationOutput { + return i.ToDirectSplunkHistoricalDataRetrievalDefaultDurationOutputWithContext(context.Background()) +} + +func (i DirectSplunkHistoricalDataRetrievalDefaultDurationArgs) ToDirectSplunkHistoricalDataRetrievalDefaultDurationOutputWithContext(ctx context.Context) DirectSplunkHistoricalDataRetrievalDefaultDurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkHistoricalDataRetrievalDefaultDurationOutput) +} + +// DirectSplunkHistoricalDataRetrievalDefaultDurationArrayInput is an input type that accepts DirectSplunkHistoricalDataRetrievalDefaultDurationArray and DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput values. +// You can construct a concrete instance of `DirectSplunkHistoricalDataRetrievalDefaultDurationArrayInput` via: +// +// DirectSplunkHistoricalDataRetrievalDefaultDurationArray{ DirectSplunkHistoricalDataRetrievalDefaultDurationArgs{...} } +type DirectSplunkHistoricalDataRetrievalDefaultDurationArrayInput interface { + pulumi.Input + + ToDirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput() DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput + ToDirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(context.Context) DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput +} + +type DirectSplunkHistoricalDataRetrievalDefaultDurationArray []DirectSplunkHistoricalDataRetrievalDefaultDurationInput + +func (DirectSplunkHistoricalDataRetrievalDefaultDurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectSplunkHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (i DirectSplunkHistoricalDataRetrievalDefaultDurationArray) ToDirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput() DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput { + return i.ToDirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(context.Background()) +} + +func (i DirectSplunkHistoricalDataRetrievalDefaultDurationArray) ToDirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(ctx context.Context) DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput) +} + +type DirectSplunkHistoricalDataRetrievalDefaultDurationOutput struct{ *pulumi.OutputState } + +func (DirectSplunkHistoricalDataRetrievalDefaultDurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectSplunkHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (o DirectSplunkHistoricalDataRetrievalDefaultDurationOutput) ToDirectSplunkHistoricalDataRetrievalDefaultDurationOutput() DirectSplunkHistoricalDataRetrievalDefaultDurationOutput { + return o +} + +func (o DirectSplunkHistoricalDataRetrievalDefaultDurationOutput) ToDirectSplunkHistoricalDataRetrievalDefaultDurationOutputWithContext(ctx context.Context) DirectSplunkHistoricalDataRetrievalDefaultDurationOutput { + return o +} + +func (o DirectSplunkHistoricalDataRetrievalDefaultDurationOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectSplunkHistoricalDataRetrievalDefaultDuration) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o DirectSplunkHistoricalDataRetrievalDefaultDurationOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectSplunkHistoricalDataRetrievalDefaultDuration) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput struct{ *pulumi.OutputState } + +func (DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectSplunkHistoricalDataRetrievalDefaultDuration)(nil)).Elem() +} + +func (o DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput) ToDirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput() DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput { + return o +} + +func (o DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput) ToDirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutputWithContext(ctx context.Context) DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput { + return o +} + +func (o DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput) Index(i pulumi.IntInput) DirectSplunkHistoricalDataRetrievalDefaultDurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DirectSplunkHistoricalDataRetrievalDefaultDuration { + return vs[0].([]DirectSplunkHistoricalDataRetrievalDefaultDuration)[vs[1].(int)] + }).(DirectSplunkHistoricalDataRetrievalDefaultDurationOutput) +} + +type DirectSplunkHistoricalDataRetrievalMaxDuration struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// DirectSplunkHistoricalDataRetrievalMaxDurationInput is an input type that accepts DirectSplunkHistoricalDataRetrievalMaxDurationArgs and DirectSplunkHistoricalDataRetrievalMaxDurationOutput values. +// You can construct a concrete instance of `DirectSplunkHistoricalDataRetrievalMaxDurationInput` via: +// +// DirectSplunkHistoricalDataRetrievalMaxDurationArgs{...} +type DirectSplunkHistoricalDataRetrievalMaxDurationInput interface { + pulumi.Input + + ToDirectSplunkHistoricalDataRetrievalMaxDurationOutput() DirectSplunkHistoricalDataRetrievalMaxDurationOutput + ToDirectSplunkHistoricalDataRetrievalMaxDurationOutputWithContext(context.Context) DirectSplunkHistoricalDataRetrievalMaxDurationOutput +} + +type DirectSplunkHistoricalDataRetrievalMaxDurationArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectSplunkHistoricalDataRetrievalMaxDurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectSplunkHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (i DirectSplunkHistoricalDataRetrievalMaxDurationArgs) ToDirectSplunkHistoricalDataRetrievalMaxDurationOutput() DirectSplunkHistoricalDataRetrievalMaxDurationOutput { + return i.ToDirectSplunkHistoricalDataRetrievalMaxDurationOutputWithContext(context.Background()) +} + +func (i DirectSplunkHistoricalDataRetrievalMaxDurationArgs) ToDirectSplunkHistoricalDataRetrievalMaxDurationOutputWithContext(ctx context.Context) DirectSplunkHistoricalDataRetrievalMaxDurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkHistoricalDataRetrievalMaxDurationOutput) +} + +// DirectSplunkHistoricalDataRetrievalMaxDurationArrayInput is an input type that accepts DirectSplunkHistoricalDataRetrievalMaxDurationArray and DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput values. +// You can construct a concrete instance of `DirectSplunkHistoricalDataRetrievalMaxDurationArrayInput` via: +// +// DirectSplunkHistoricalDataRetrievalMaxDurationArray{ DirectSplunkHistoricalDataRetrievalMaxDurationArgs{...} } +type DirectSplunkHistoricalDataRetrievalMaxDurationArrayInput interface { + pulumi.Input + + ToDirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput() DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput + ToDirectSplunkHistoricalDataRetrievalMaxDurationArrayOutputWithContext(context.Context) DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput +} + +type DirectSplunkHistoricalDataRetrievalMaxDurationArray []DirectSplunkHistoricalDataRetrievalMaxDurationInput + +func (DirectSplunkHistoricalDataRetrievalMaxDurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectSplunkHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (i DirectSplunkHistoricalDataRetrievalMaxDurationArray) ToDirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput() DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput { + return i.ToDirectSplunkHistoricalDataRetrievalMaxDurationArrayOutputWithContext(context.Background()) +} + +func (i DirectSplunkHistoricalDataRetrievalMaxDurationArray) ToDirectSplunkHistoricalDataRetrievalMaxDurationArrayOutputWithContext(ctx context.Context) DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput) +} + +type DirectSplunkHistoricalDataRetrievalMaxDurationOutput struct{ *pulumi.OutputState } + +func (DirectSplunkHistoricalDataRetrievalMaxDurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectSplunkHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (o DirectSplunkHistoricalDataRetrievalMaxDurationOutput) ToDirectSplunkHistoricalDataRetrievalMaxDurationOutput() DirectSplunkHistoricalDataRetrievalMaxDurationOutput { + return o +} + +func (o DirectSplunkHistoricalDataRetrievalMaxDurationOutput) ToDirectSplunkHistoricalDataRetrievalMaxDurationOutputWithContext(ctx context.Context) DirectSplunkHistoricalDataRetrievalMaxDurationOutput { + return o +} + +func (o DirectSplunkHistoricalDataRetrievalMaxDurationOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectSplunkHistoricalDataRetrievalMaxDuration) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o DirectSplunkHistoricalDataRetrievalMaxDurationOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectSplunkHistoricalDataRetrievalMaxDuration) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput struct{ *pulumi.OutputState } + +func (DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectSplunkHistoricalDataRetrievalMaxDuration)(nil)).Elem() +} + +func (o DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput) ToDirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput() DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput { + return o +} + +func (o DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput) ToDirectSplunkHistoricalDataRetrievalMaxDurationArrayOutputWithContext(ctx context.Context) DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput { + return o +} + +func (o DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput) Index(i pulumi.IntInput) DirectSplunkHistoricalDataRetrievalMaxDurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DirectSplunkHistoricalDataRetrievalMaxDuration { + return vs[0].([]DirectSplunkHistoricalDataRetrievalMaxDuration)[vs[1].(int)] + }).(DirectSplunkHistoricalDataRetrievalMaxDurationOutput) +} + +type DirectSplunkObservabilityQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectSplunkObservabilityQueryDelayInput is an input type that accepts DirectSplunkObservabilityQueryDelayArgs and DirectSplunkObservabilityQueryDelayOutput values. +// You can construct a concrete instance of `DirectSplunkObservabilityQueryDelayInput` via: +// +// DirectSplunkObservabilityQueryDelayArgs{...} +type DirectSplunkObservabilityQueryDelayInput interface { + pulumi.Input + + ToDirectSplunkObservabilityQueryDelayOutput() DirectSplunkObservabilityQueryDelayOutput + ToDirectSplunkObservabilityQueryDelayOutputWithContext(context.Context) DirectSplunkObservabilityQueryDelayOutput +} + +type DirectSplunkObservabilityQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectSplunkObservabilityQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectSplunkObservabilityQueryDelay)(nil)).Elem() +} + +func (i DirectSplunkObservabilityQueryDelayArgs) ToDirectSplunkObservabilityQueryDelayOutput() DirectSplunkObservabilityQueryDelayOutput { + return i.ToDirectSplunkObservabilityQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectSplunkObservabilityQueryDelayArgs) ToDirectSplunkObservabilityQueryDelayOutputWithContext(ctx context.Context) DirectSplunkObservabilityQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkObservabilityQueryDelayOutput) +} + +func (i DirectSplunkObservabilityQueryDelayArgs) ToDirectSplunkObservabilityQueryDelayPtrOutput() DirectSplunkObservabilityQueryDelayPtrOutput { + return i.ToDirectSplunkObservabilityQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectSplunkObservabilityQueryDelayArgs) ToDirectSplunkObservabilityQueryDelayPtrOutputWithContext(ctx context.Context) DirectSplunkObservabilityQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkObservabilityQueryDelayOutput).ToDirectSplunkObservabilityQueryDelayPtrOutputWithContext(ctx) +} + +// DirectSplunkObservabilityQueryDelayPtrInput is an input type that accepts DirectSplunkObservabilityQueryDelayArgs, DirectSplunkObservabilityQueryDelayPtr and DirectSplunkObservabilityQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectSplunkObservabilityQueryDelayPtrInput` via: +// +// DirectSplunkObservabilityQueryDelayArgs{...} +// +// or: +// +// nil +type DirectSplunkObservabilityQueryDelayPtrInput interface { + pulumi.Input + + ToDirectSplunkObservabilityQueryDelayPtrOutput() DirectSplunkObservabilityQueryDelayPtrOutput + ToDirectSplunkObservabilityQueryDelayPtrOutputWithContext(context.Context) DirectSplunkObservabilityQueryDelayPtrOutput +} + +type directSplunkObservabilityQueryDelayPtrType DirectSplunkObservabilityQueryDelayArgs + +func DirectSplunkObservabilityQueryDelayPtr(v *DirectSplunkObservabilityQueryDelayArgs) DirectSplunkObservabilityQueryDelayPtrInput { + return (*directSplunkObservabilityQueryDelayPtrType)(v) +} + +func (*directSplunkObservabilityQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectSplunkObservabilityQueryDelay)(nil)).Elem() +} + +func (i *directSplunkObservabilityQueryDelayPtrType) ToDirectSplunkObservabilityQueryDelayPtrOutput() DirectSplunkObservabilityQueryDelayPtrOutput { + return i.ToDirectSplunkObservabilityQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directSplunkObservabilityQueryDelayPtrType) ToDirectSplunkObservabilityQueryDelayPtrOutputWithContext(ctx context.Context) DirectSplunkObservabilityQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkObservabilityQueryDelayPtrOutput) +} + +type DirectSplunkObservabilityQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectSplunkObservabilityQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectSplunkObservabilityQueryDelay)(nil)).Elem() +} + +func (o DirectSplunkObservabilityQueryDelayOutput) ToDirectSplunkObservabilityQueryDelayOutput() DirectSplunkObservabilityQueryDelayOutput { + return o +} + +func (o DirectSplunkObservabilityQueryDelayOutput) ToDirectSplunkObservabilityQueryDelayOutputWithContext(ctx context.Context) DirectSplunkObservabilityQueryDelayOutput { + return o +} + +func (o DirectSplunkObservabilityQueryDelayOutput) ToDirectSplunkObservabilityQueryDelayPtrOutput() DirectSplunkObservabilityQueryDelayPtrOutput { + return o.ToDirectSplunkObservabilityQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectSplunkObservabilityQueryDelayOutput) ToDirectSplunkObservabilityQueryDelayPtrOutputWithContext(ctx context.Context) DirectSplunkObservabilityQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectSplunkObservabilityQueryDelay) *DirectSplunkObservabilityQueryDelay { + return &v + }).(DirectSplunkObservabilityQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectSplunkObservabilityQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectSplunkObservabilityQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectSplunkObservabilityQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectSplunkObservabilityQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectSplunkObservabilityQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectSplunkObservabilityQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectSplunkObservabilityQueryDelay)(nil)).Elem() +} + +func (o DirectSplunkObservabilityQueryDelayPtrOutput) ToDirectSplunkObservabilityQueryDelayPtrOutput() DirectSplunkObservabilityQueryDelayPtrOutput { + return o +} + +func (o DirectSplunkObservabilityQueryDelayPtrOutput) ToDirectSplunkObservabilityQueryDelayPtrOutputWithContext(ctx context.Context) DirectSplunkObservabilityQueryDelayPtrOutput { + return o +} + +func (o DirectSplunkObservabilityQueryDelayPtrOutput) Elem() DirectSplunkObservabilityQueryDelayOutput { + return o.ApplyT(func(v *DirectSplunkObservabilityQueryDelay) DirectSplunkObservabilityQueryDelay { + if v != nil { + return *v + } + var ret DirectSplunkObservabilityQueryDelay + return ret + }).(DirectSplunkObservabilityQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectSplunkObservabilityQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectSplunkObservabilityQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectSplunkObservabilityQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectSplunkObservabilityQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type DirectSplunkQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectSplunkQueryDelayInput is an input type that accepts DirectSplunkQueryDelayArgs and DirectSplunkQueryDelayOutput values. +// You can construct a concrete instance of `DirectSplunkQueryDelayInput` via: +// +// DirectSplunkQueryDelayArgs{...} +type DirectSplunkQueryDelayInput interface { + pulumi.Input + + ToDirectSplunkQueryDelayOutput() DirectSplunkQueryDelayOutput + ToDirectSplunkQueryDelayOutputWithContext(context.Context) DirectSplunkQueryDelayOutput +} + +type DirectSplunkQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectSplunkQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectSplunkQueryDelay)(nil)).Elem() +} + +func (i DirectSplunkQueryDelayArgs) ToDirectSplunkQueryDelayOutput() DirectSplunkQueryDelayOutput { + return i.ToDirectSplunkQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectSplunkQueryDelayArgs) ToDirectSplunkQueryDelayOutputWithContext(ctx context.Context) DirectSplunkQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkQueryDelayOutput) +} + +func (i DirectSplunkQueryDelayArgs) ToDirectSplunkQueryDelayPtrOutput() DirectSplunkQueryDelayPtrOutput { + return i.ToDirectSplunkQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectSplunkQueryDelayArgs) ToDirectSplunkQueryDelayPtrOutputWithContext(ctx context.Context) DirectSplunkQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkQueryDelayOutput).ToDirectSplunkQueryDelayPtrOutputWithContext(ctx) +} + +// DirectSplunkQueryDelayPtrInput is an input type that accepts DirectSplunkQueryDelayArgs, DirectSplunkQueryDelayPtr and DirectSplunkQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectSplunkQueryDelayPtrInput` via: +// +// DirectSplunkQueryDelayArgs{...} +// +// or: +// +// nil +type DirectSplunkQueryDelayPtrInput interface { + pulumi.Input + + ToDirectSplunkQueryDelayPtrOutput() DirectSplunkQueryDelayPtrOutput + ToDirectSplunkQueryDelayPtrOutputWithContext(context.Context) DirectSplunkQueryDelayPtrOutput +} + +type directSplunkQueryDelayPtrType DirectSplunkQueryDelayArgs + +func DirectSplunkQueryDelayPtr(v *DirectSplunkQueryDelayArgs) DirectSplunkQueryDelayPtrInput { + return (*directSplunkQueryDelayPtrType)(v) +} + +func (*directSplunkQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectSplunkQueryDelay)(nil)).Elem() +} + +func (i *directSplunkQueryDelayPtrType) ToDirectSplunkQueryDelayPtrOutput() DirectSplunkQueryDelayPtrOutput { + return i.ToDirectSplunkQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directSplunkQueryDelayPtrType) ToDirectSplunkQueryDelayPtrOutputWithContext(ctx context.Context) DirectSplunkQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSplunkQueryDelayPtrOutput) +} + +type DirectSplunkQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectSplunkQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectSplunkQueryDelay)(nil)).Elem() +} + +func (o DirectSplunkQueryDelayOutput) ToDirectSplunkQueryDelayOutput() DirectSplunkQueryDelayOutput { + return o +} + +func (o DirectSplunkQueryDelayOutput) ToDirectSplunkQueryDelayOutputWithContext(ctx context.Context) DirectSplunkQueryDelayOutput { + return o +} + +func (o DirectSplunkQueryDelayOutput) ToDirectSplunkQueryDelayPtrOutput() DirectSplunkQueryDelayPtrOutput { + return o.ToDirectSplunkQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectSplunkQueryDelayOutput) ToDirectSplunkQueryDelayPtrOutputWithContext(ctx context.Context) DirectSplunkQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectSplunkQueryDelay) *DirectSplunkQueryDelay { + return &v + }).(DirectSplunkQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectSplunkQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectSplunkQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectSplunkQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectSplunkQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectSplunkQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectSplunkQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectSplunkQueryDelay)(nil)).Elem() +} + +func (o DirectSplunkQueryDelayPtrOutput) ToDirectSplunkQueryDelayPtrOutput() DirectSplunkQueryDelayPtrOutput { + return o +} + +func (o DirectSplunkQueryDelayPtrOutput) ToDirectSplunkQueryDelayPtrOutputWithContext(ctx context.Context) DirectSplunkQueryDelayPtrOutput { + return o +} + +func (o DirectSplunkQueryDelayPtrOutput) Elem() DirectSplunkQueryDelayOutput { + return o.ApplyT(func(v *DirectSplunkQueryDelay) DirectSplunkQueryDelay { + if v != nil { + return *v + } + var ret DirectSplunkQueryDelay + return ret + }).(DirectSplunkQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectSplunkQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectSplunkQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectSplunkQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectSplunkQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type DirectSumologicQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectSumologicQueryDelayInput is an input type that accepts DirectSumologicQueryDelayArgs and DirectSumologicQueryDelayOutput values. +// You can construct a concrete instance of `DirectSumologicQueryDelayInput` via: +// +// DirectSumologicQueryDelayArgs{...} +type DirectSumologicQueryDelayInput interface { + pulumi.Input + + ToDirectSumologicQueryDelayOutput() DirectSumologicQueryDelayOutput + ToDirectSumologicQueryDelayOutputWithContext(context.Context) DirectSumologicQueryDelayOutput +} + +type DirectSumologicQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectSumologicQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectSumologicQueryDelay)(nil)).Elem() +} + +func (i DirectSumologicQueryDelayArgs) ToDirectSumologicQueryDelayOutput() DirectSumologicQueryDelayOutput { + return i.ToDirectSumologicQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectSumologicQueryDelayArgs) ToDirectSumologicQueryDelayOutputWithContext(ctx context.Context) DirectSumologicQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSumologicQueryDelayOutput) +} + +func (i DirectSumologicQueryDelayArgs) ToDirectSumologicQueryDelayPtrOutput() DirectSumologicQueryDelayPtrOutput { + return i.ToDirectSumologicQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectSumologicQueryDelayArgs) ToDirectSumologicQueryDelayPtrOutputWithContext(ctx context.Context) DirectSumologicQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSumologicQueryDelayOutput).ToDirectSumologicQueryDelayPtrOutputWithContext(ctx) +} + +// DirectSumologicQueryDelayPtrInput is an input type that accepts DirectSumologicQueryDelayArgs, DirectSumologicQueryDelayPtr and DirectSumologicQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectSumologicQueryDelayPtrInput` via: +// +// DirectSumologicQueryDelayArgs{...} +// +// or: +// +// nil +type DirectSumologicQueryDelayPtrInput interface { + pulumi.Input + + ToDirectSumologicQueryDelayPtrOutput() DirectSumologicQueryDelayPtrOutput + ToDirectSumologicQueryDelayPtrOutputWithContext(context.Context) DirectSumologicQueryDelayPtrOutput +} + +type directSumologicQueryDelayPtrType DirectSumologicQueryDelayArgs + +func DirectSumologicQueryDelayPtr(v *DirectSumologicQueryDelayArgs) DirectSumologicQueryDelayPtrInput { + return (*directSumologicQueryDelayPtrType)(v) +} + +func (*directSumologicQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectSumologicQueryDelay)(nil)).Elem() +} + +func (i *directSumologicQueryDelayPtrType) ToDirectSumologicQueryDelayPtrOutput() DirectSumologicQueryDelayPtrOutput { + return i.ToDirectSumologicQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directSumologicQueryDelayPtrType) ToDirectSumologicQueryDelayPtrOutputWithContext(ctx context.Context) DirectSumologicQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectSumologicQueryDelayPtrOutput) +} + +type DirectSumologicQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectSumologicQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectSumologicQueryDelay)(nil)).Elem() +} + +func (o DirectSumologicQueryDelayOutput) ToDirectSumologicQueryDelayOutput() DirectSumologicQueryDelayOutput { + return o +} + +func (o DirectSumologicQueryDelayOutput) ToDirectSumologicQueryDelayOutputWithContext(ctx context.Context) DirectSumologicQueryDelayOutput { + return o +} + +func (o DirectSumologicQueryDelayOutput) ToDirectSumologicQueryDelayPtrOutput() DirectSumologicQueryDelayPtrOutput { + return o.ToDirectSumologicQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectSumologicQueryDelayOutput) ToDirectSumologicQueryDelayPtrOutputWithContext(ctx context.Context) DirectSumologicQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectSumologicQueryDelay) *DirectSumologicQueryDelay { + return &v + }).(DirectSumologicQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectSumologicQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectSumologicQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectSumologicQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectSumologicQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectSumologicQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectSumologicQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectSumologicQueryDelay)(nil)).Elem() +} + +func (o DirectSumologicQueryDelayPtrOutput) ToDirectSumologicQueryDelayPtrOutput() DirectSumologicQueryDelayPtrOutput { + return o +} + +func (o DirectSumologicQueryDelayPtrOutput) ToDirectSumologicQueryDelayPtrOutputWithContext(ctx context.Context) DirectSumologicQueryDelayPtrOutput { + return o +} + +func (o DirectSumologicQueryDelayPtrOutput) Elem() DirectSumologicQueryDelayOutput { + return o.ApplyT(func(v *DirectSumologicQueryDelay) DirectSumologicQueryDelay { + if v != nil { + return *v + } + var ret DirectSumologicQueryDelay + return ret + }).(DirectSumologicQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectSumologicQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectSumologicQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectSumologicQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectSumologicQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type DirectThousandeyesQueryDelay struct { + // Must be one of Minute or Second. + Unit string `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value int `pulumi:"value"` +} + +// DirectThousandeyesQueryDelayInput is an input type that accepts DirectThousandeyesQueryDelayArgs and DirectThousandeyesQueryDelayOutput values. +// You can construct a concrete instance of `DirectThousandeyesQueryDelayInput` via: +// +// DirectThousandeyesQueryDelayArgs{...} +type DirectThousandeyesQueryDelayInput interface { + pulumi.Input + + ToDirectThousandeyesQueryDelayOutput() DirectThousandeyesQueryDelayOutput + ToDirectThousandeyesQueryDelayOutputWithContext(context.Context) DirectThousandeyesQueryDelayOutput +} + +type DirectThousandeyesQueryDelayArgs struct { + // Must be one of Minute or Second. + Unit pulumi.StringInput `pulumi:"unit"` + // Must be an integer greater than or equal to 0. + Value pulumi.IntInput `pulumi:"value"` +} + +func (DirectThousandeyesQueryDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectThousandeyesQueryDelay)(nil)).Elem() +} + +func (i DirectThousandeyesQueryDelayArgs) ToDirectThousandeyesQueryDelayOutput() DirectThousandeyesQueryDelayOutput { + return i.ToDirectThousandeyesQueryDelayOutputWithContext(context.Background()) +} + +func (i DirectThousandeyesQueryDelayArgs) ToDirectThousandeyesQueryDelayOutputWithContext(ctx context.Context) DirectThousandeyesQueryDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectThousandeyesQueryDelayOutput) +} + +func (i DirectThousandeyesQueryDelayArgs) ToDirectThousandeyesQueryDelayPtrOutput() DirectThousandeyesQueryDelayPtrOutput { + return i.ToDirectThousandeyesQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i DirectThousandeyesQueryDelayArgs) ToDirectThousandeyesQueryDelayPtrOutputWithContext(ctx context.Context) DirectThousandeyesQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectThousandeyesQueryDelayOutput).ToDirectThousandeyesQueryDelayPtrOutputWithContext(ctx) +} + +// DirectThousandeyesQueryDelayPtrInput is an input type that accepts DirectThousandeyesQueryDelayArgs, DirectThousandeyesQueryDelayPtr and DirectThousandeyesQueryDelayPtrOutput values. +// You can construct a concrete instance of `DirectThousandeyesQueryDelayPtrInput` via: +// +// DirectThousandeyesQueryDelayArgs{...} +// +// or: +// +// nil +type DirectThousandeyesQueryDelayPtrInput interface { + pulumi.Input + + ToDirectThousandeyesQueryDelayPtrOutput() DirectThousandeyesQueryDelayPtrOutput + ToDirectThousandeyesQueryDelayPtrOutputWithContext(context.Context) DirectThousandeyesQueryDelayPtrOutput +} + +type directThousandeyesQueryDelayPtrType DirectThousandeyesQueryDelayArgs + +func DirectThousandeyesQueryDelayPtr(v *DirectThousandeyesQueryDelayArgs) DirectThousandeyesQueryDelayPtrInput { + return (*directThousandeyesQueryDelayPtrType)(v) +} + +func (*directThousandeyesQueryDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectThousandeyesQueryDelay)(nil)).Elem() +} + +func (i *directThousandeyesQueryDelayPtrType) ToDirectThousandeyesQueryDelayPtrOutput() DirectThousandeyesQueryDelayPtrOutput { + return i.ToDirectThousandeyesQueryDelayPtrOutputWithContext(context.Background()) +} + +func (i *directThousandeyesQueryDelayPtrType) ToDirectThousandeyesQueryDelayPtrOutputWithContext(ctx context.Context) DirectThousandeyesQueryDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectThousandeyesQueryDelayPtrOutput) +} + +type DirectThousandeyesQueryDelayOutput struct{ *pulumi.OutputState } + +func (DirectThousandeyesQueryDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectThousandeyesQueryDelay)(nil)).Elem() +} + +func (o DirectThousandeyesQueryDelayOutput) ToDirectThousandeyesQueryDelayOutput() DirectThousandeyesQueryDelayOutput { + return o +} + +func (o DirectThousandeyesQueryDelayOutput) ToDirectThousandeyesQueryDelayOutputWithContext(ctx context.Context) DirectThousandeyesQueryDelayOutput { + return o +} + +func (o DirectThousandeyesQueryDelayOutput) ToDirectThousandeyesQueryDelayPtrOutput() DirectThousandeyesQueryDelayPtrOutput { + return o.ToDirectThousandeyesQueryDelayPtrOutputWithContext(context.Background()) +} + +func (o DirectThousandeyesQueryDelayOutput) ToDirectThousandeyesQueryDelayPtrOutputWithContext(ctx context.Context) DirectThousandeyesQueryDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectThousandeyesQueryDelay) *DirectThousandeyesQueryDelay { + return &v + }).(DirectThousandeyesQueryDelayPtrOutput) +} + +// Must be one of Minute or Second. +func (o DirectThousandeyesQueryDelayOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v DirectThousandeyesQueryDelay) string { return v.Unit }).(pulumi.StringOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectThousandeyesQueryDelayOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DirectThousandeyesQueryDelay) int { return v.Value }).(pulumi.IntOutput) +} + +type DirectThousandeyesQueryDelayPtrOutput struct{ *pulumi.OutputState } + +func (DirectThousandeyesQueryDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectThousandeyesQueryDelay)(nil)).Elem() +} + +func (o DirectThousandeyesQueryDelayPtrOutput) ToDirectThousandeyesQueryDelayPtrOutput() DirectThousandeyesQueryDelayPtrOutput { + return o +} + +func (o DirectThousandeyesQueryDelayPtrOutput) ToDirectThousandeyesQueryDelayPtrOutputWithContext(ctx context.Context) DirectThousandeyesQueryDelayPtrOutput { + return o +} + +func (o DirectThousandeyesQueryDelayPtrOutput) Elem() DirectThousandeyesQueryDelayOutput { + return o.ApplyT(func(v *DirectThousandeyesQueryDelay) DirectThousandeyesQueryDelay { + if v != nil { + return *v + } + var ret DirectThousandeyesQueryDelay + return ret + }).(DirectThousandeyesQueryDelayOutput) +} + +// Must be one of Minute or Second. +func (o DirectThousandeyesQueryDelayPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectThousandeyesQueryDelay) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Must be an integer greater than or equal to 0. +func (o DirectThousandeyesQueryDelayPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectThousandeyesQueryDelay) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type ProjectLabel struct { + // A key for the label, unique within the associated resource. + Key string `pulumi:"key"` + // A list of unique values for a single key. + Values []string `pulumi:"values"` +} + +// ProjectLabelInput is an input type that accepts ProjectLabelArgs and ProjectLabelOutput values. +// You can construct a concrete instance of `ProjectLabelInput` via: +// +// ProjectLabelArgs{...} +type ProjectLabelInput interface { + pulumi.Input + + ToProjectLabelOutput() ProjectLabelOutput + ToProjectLabelOutputWithContext(context.Context) ProjectLabelOutput +} + +type ProjectLabelArgs struct { + // A key for the label, unique within the associated resource. + Key pulumi.StringInput `pulumi:"key"` + // A list of unique values for a single key. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (ProjectLabelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectLabel)(nil)).Elem() +} + +func (i ProjectLabelArgs) ToProjectLabelOutput() ProjectLabelOutput { + return i.ToProjectLabelOutputWithContext(context.Background()) +} + +func (i ProjectLabelArgs) ToProjectLabelOutputWithContext(ctx context.Context) ProjectLabelOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectLabelOutput) +} + +// ProjectLabelArrayInput is an input type that accepts ProjectLabelArray and ProjectLabelArrayOutput values. +// You can construct a concrete instance of `ProjectLabelArrayInput` via: +// +// ProjectLabelArray{ ProjectLabelArgs{...} } +type ProjectLabelArrayInput interface { + pulumi.Input + + ToProjectLabelArrayOutput() ProjectLabelArrayOutput + ToProjectLabelArrayOutputWithContext(context.Context) ProjectLabelArrayOutput +} + +type ProjectLabelArray []ProjectLabelInput + +func (ProjectLabelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ProjectLabel)(nil)).Elem() +} + +func (i ProjectLabelArray) ToProjectLabelArrayOutput() ProjectLabelArrayOutput { + return i.ToProjectLabelArrayOutputWithContext(context.Background()) +} + +func (i ProjectLabelArray) ToProjectLabelArrayOutputWithContext(ctx context.Context) ProjectLabelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectLabelArrayOutput) +} + +type ProjectLabelOutput struct{ *pulumi.OutputState } + +func (ProjectLabelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectLabel)(nil)).Elem() +} + +func (o ProjectLabelOutput) ToProjectLabelOutput() ProjectLabelOutput { + return o +} + +func (o ProjectLabelOutput) ToProjectLabelOutputWithContext(ctx context.Context) ProjectLabelOutput { + return o +} + +// A key for the label, unique within the associated resource. +func (o ProjectLabelOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v ProjectLabel) string { return v.Key }).(pulumi.StringOutput) +} + +// A list of unique values for a single key. +func (o ProjectLabelOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v ProjectLabel) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type ProjectLabelArrayOutput struct{ *pulumi.OutputState } + +func (ProjectLabelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ProjectLabel)(nil)).Elem() +} + +func (o ProjectLabelArrayOutput) ToProjectLabelArrayOutput() ProjectLabelArrayOutput { + return o +} + +func (o ProjectLabelArrayOutput) ToProjectLabelArrayOutputWithContext(ctx context.Context) ProjectLabelArrayOutput { + return o +} + +func (o ProjectLabelArrayOutput) Index(i pulumi.IntInput) ProjectLabelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ProjectLabel { + return vs[0].([]ProjectLabel)[vs[1].(int)] + }).(ProjectLabelOutput) +} + +type ServiceLabel struct { + // A key for the label, unique within the associated resource. + Key string `pulumi:"key"` + // A list of unique values for a single key. + Values []string `pulumi:"values"` +} + +// ServiceLabelInput is an input type that accepts ServiceLabelArgs and ServiceLabelOutput values. +// You can construct a concrete instance of `ServiceLabelInput` via: +// +// ServiceLabelArgs{...} +type ServiceLabelInput interface { + pulumi.Input + + ToServiceLabelOutput() ServiceLabelOutput + ToServiceLabelOutputWithContext(context.Context) ServiceLabelOutput +} + +type ServiceLabelArgs struct { + // A key for the label, unique within the associated resource. + Key pulumi.StringInput `pulumi:"key"` + // A list of unique values for a single key. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (ServiceLabelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceLabel)(nil)).Elem() +} + +func (i ServiceLabelArgs) ToServiceLabelOutput() ServiceLabelOutput { + return i.ToServiceLabelOutputWithContext(context.Background()) +} + +func (i ServiceLabelArgs) ToServiceLabelOutputWithContext(ctx context.Context) ServiceLabelOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceLabelOutput) +} + +// ServiceLabelArrayInput is an input type that accepts ServiceLabelArray and ServiceLabelArrayOutput values. +// You can construct a concrete instance of `ServiceLabelArrayInput` via: +// +// ServiceLabelArray{ ServiceLabelArgs{...} } +type ServiceLabelArrayInput interface { + pulumi.Input + + ToServiceLabelArrayOutput() ServiceLabelArrayOutput + ToServiceLabelArrayOutputWithContext(context.Context) ServiceLabelArrayOutput +} + +type ServiceLabelArray []ServiceLabelInput + +func (ServiceLabelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceLabel)(nil)).Elem() +} + +func (i ServiceLabelArray) ToServiceLabelArrayOutput() ServiceLabelArrayOutput { + return i.ToServiceLabelArrayOutputWithContext(context.Background()) +} + +func (i ServiceLabelArray) ToServiceLabelArrayOutputWithContext(ctx context.Context) ServiceLabelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceLabelArrayOutput) +} + +type ServiceLabelOutput struct{ *pulumi.OutputState } + +func (ServiceLabelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceLabel)(nil)).Elem() +} + +func (o ServiceLabelOutput) ToServiceLabelOutput() ServiceLabelOutput { + return o +} + +func (o ServiceLabelOutput) ToServiceLabelOutputWithContext(ctx context.Context) ServiceLabelOutput { + return o +} + +// A key for the label, unique within the associated resource. +func (o ServiceLabelOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v ServiceLabel) string { return v.Key }).(pulumi.StringOutput) +} + +// A list of unique values for a single key. +func (o ServiceLabelOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v ServiceLabel) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type ServiceLabelArrayOutput struct{ *pulumi.OutputState } + +func (ServiceLabelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceLabel)(nil)).Elem() +} + +func (o ServiceLabelArrayOutput) ToServiceLabelArrayOutput() ServiceLabelArrayOutput { + return o +} + +func (o ServiceLabelArrayOutput) ToServiceLabelArrayOutputWithContext(ctx context.Context) ServiceLabelArrayOutput { + return o +} + +func (o ServiceLabelArrayOutput) Index(i pulumi.IntInput) ServiceLabelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceLabel { + return vs[0].([]ServiceLabel)[vs[1].(int)] + }).(ServiceLabelOutput) +} + +type SloAttachment struct { + // Name displayed for the attachment. Max. length: 63 characters. + DisplayName *string `pulumi:"displayName"` + // URL to the attachment + Url string `pulumi:"url"` +} + +// SloAttachmentInput is an input type that accepts SloAttachmentArgs and SloAttachmentOutput values. +// You can construct a concrete instance of `SloAttachmentInput` via: +// +// SloAttachmentArgs{...} +type SloAttachmentInput interface { + pulumi.Input + + ToSloAttachmentOutput() SloAttachmentOutput + ToSloAttachmentOutputWithContext(context.Context) SloAttachmentOutput +} + +type SloAttachmentArgs struct { + // Name displayed for the attachment. Max. length: 63 characters. + DisplayName pulumi.StringPtrInput `pulumi:"displayName"` + // URL to the attachment + Url pulumi.StringInput `pulumi:"url"` +} + +func (SloAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloAttachment)(nil)).Elem() +} + +func (i SloAttachmentArgs) ToSloAttachmentOutput() SloAttachmentOutput { + return i.ToSloAttachmentOutputWithContext(context.Background()) +} + +func (i SloAttachmentArgs) ToSloAttachmentOutputWithContext(ctx context.Context) SloAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloAttachmentOutput) +} + +// SloAttachmentArrayInput is an input type that accepts SloAttachmentArray and SloAttachmentArrayOutput values. +// You can construct a concrete instance of `SloAttachmentArrayInput` via: +// +// SloAttachmentArray{ SloAttachmentArgs{...} } +type SloAttachmentArrayInput interface { + pulumi.Input + + ToSloAttachmentArrayOutput() SloAttachmentArrayOutput + ToSloAttachmentArrayOutputWithContext(context.Context) SloAttachmentArrayOutput +} + +type SloAttachmentArray []SloAttachmentInput + +func (SloAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloAttachment)(nil)).Elem() +} + +func (i SloAttachmentArray) ToSloAttachmentArrayOutput() SloAttachmentArrayOutput { + return i.ToSloAttachmentArrayOutputWithContext(context.Background()) +} + +func (i SloAttachmentArray) ToSloAttachmentArrayOutputWithContext(ctx context.Context) SloAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloAttachmentArrayOutput) +} + +type SloAttachmentOutput struct{ *pulumi.OutputState } + +func (SloAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloAttachment)(nil)).Elem() +} + +func (o SloAttachmentOutput) ToSloAttachmentOutput() SloAttachmentOutput { + return o +} + +func (o SloAttachmentOutput) ToSloAttachmentOutputWithContext(ctx context.Context) SloAttachmentOutput { + return o +} + +// Name displayed for the attachment. Max. length: 63 characters. +func (o SloAttachmentOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloAttachment) *string { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// URL to the attachment +func (o SloAttachmentOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v SloAttachment) string { return v.Url }).(pulumi.StringOutput) +} + +type SloAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (SloAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloAttachment)(nil)).Elem() +} + +func (o SloAttachmentArrayOutput) ToSloAttachmentArrayOutput() SloAttachmentArrayOutput { + return o +} + +func (o SloAttachmentArrayOutput) ToSloAttachmentArrayOutputWithContext(ctx context.Context) SloAttachmentArrayOutput { + return o +} + +func (o SloAttachmentArrayOutput) Index(i pulumi.IntInput) SloAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloAttachment { + return vs[0].([]SloAttachment)[vs[1].(int)] + }).(SloAttachmentOutput) +} + +type SloComposite struct { + // Condition when the Composite SLO’s error budget is burning. + BurnRateConditions []SloCompositeBurnRateCondition `pulumi:"burnRateConditions"` + // Designated value + Target float64 `pulumi:"target"` +} + +// SloCompositeInput is an input type that accepts SloCompositeArgs and SloCompositeOutput values. +// You can construct a concrete instance of `SloCompositeInput` via: +// +// SloCompositeArgs{...} +type SloCompositeInput interface { + pulumi.Input + + ToSloCompositeOutput() SloCompositeOutput + ToSloCompositeOutputWithContext(context.Context) SloCompositeOutput +} + +type SloCompositeArgs struct { + // Condition when the Composite SLO’s error budget is burning. + BurnRateConditions SloCompositeBurnRateConditionArrayInput `pulumi:"burnRateConditions"` + // Designated value + Target pulumi.Float64Input `pulumi:"target"` +} + +func (SloCompositeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloComposite)(nil)).Elem() +} + +func (i SloCompositeArgs) ToSloCompositeOutput() SloCompositeOutput { + return i.ToSloCompositeOutputWithContext(context.Background()) +} + +func (i SloCompositeArgs) ToSloCompositeOutputWithContext(ctx context.Context) SloCompositeOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloCompositeOutput) +} + +func (i SloCompositeArgs) ToSloCompositePtrOutput() SloCompositePtrOutput { + return i.ToSloCompositePtrOutputWithContext(context.Background()) +} + +func (i SloCompositeArgs) ToSloCompositePtrOutputWithContext(ctx context.Context) SloCompositePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloCompositeOutput).ToSloCompositePtrOutputWithContext(ctx) +} + +// SloCompositePtrInput is an input type that accepts SloCompositeArgs, SloCompositePtr and SloCompositePtrOutput values. +// You can construct a concrete instance of `SloCompositePtrInput` via: +// +// SloCompositeArgs{...} +// +// or: +// +// nil +type SloCompositePtrInput interface { + pulumi.Input + + ToSloCompositePtrOutput() SloCompositePtrOutput + ToSloCompositePtrOutputWithContext(context.Context) SloCompositePtrOutput +} + +type sloCompositePtrType SloCompositeArgs + +func SloCompositePtr(v *SloCompositeArgs) SloCompositePtrInput { + return (*sloCompositePtrType)(v) +} + +func (*sloCompositePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SloComposite)(nil)).Elem() +} + +func (i *sloCompositePtrType) ToSloCompositePtrOutput() SloCompositePtrOutput { + return i.ToSloCompositePtrOutputWithContext(context.Background()) +} + +func (i *sloCompositePtrType) ToSloCompositePtrOutputWithContext(ctx context.Context) SloCompositePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloCompositePtrOutput) +} + +type SloCompositeOutput struct{ *pulumi.OutputState } + +func (SloCompositeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloComposite)(nil)).Elem() +} + +func (o SloCompositeOutput) ToSloCompositeOutput() SloCompositeOutput { + return o +} + +func (o SloCompositeOutput) ToSloCompositeOutputWithContext(ctx context.Context) SloCompositeOutput { + return o +} + +func (o SloCompositeOutput) ToSloCompositePtrOutput() SloCompositePtrOutput { + return o.ToSloCompositePtrOutputWithContext(context.Background()) +} + +func (o SloCompositeOutput) ToSloCompositePtrOutputWithContext(ctx context.Context) SloCompositePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SloComposite) *SloComposite { + return &v + }).(SloCompositePtrOutput) +} + +// Condition when the Composite SLO’s error budget is burning. +func (o SloCompositeOutput) BurnRateConditions() SloCompositeBurnRateConditionArrayOutput { + return o.ApplyT(func(v SloComposite) []SloCompositeBurnRateCondition { return v.BurnRateConditions }).(SloCompositeBurnRateConditionArrayOutput) +} + +// Designated value +func (o SloCompositeOutput) Target() pulumi.Float64Output { + return o.ApplyT(func(v SloComposite) float64 { return v.Target }).(pulumi.Float64Output) +} + +type SloCompositePtrOutput struct{ *pulumi.OutputState } + +func (SloCompositePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SloComposite)(nil)).Elem() +} + +func (o SloCompositePtrOutput) ToSloCompositePtrOutput() SloCompositePtrOutput { + return o +} + +func (o SloCompositePtrOutput) ToSloCompositePtrOutputWithContext(ctx context.Context) SloCompositePtrOutput { + return o +} + +func (o SloCompositePtrOutput) Elem() SloCompositeOutput { + return o.ApplyT(func(v *SloComposite) SloComposite { + if v != nil { + return *v + } + var ret SloComposite + return ret + }).(SloCompositeOutput) +} + +// Condition when the Composite SLO’s error budget is burning. +func (o SloCompositePtrOutput) BurnRateConditions() SloCompositeBurnRateConditionArrayOutput { + return o.ApplyT(func(v *SloComposite) []SloCompositeBurnRateCondition { + if v == nil { + return nil + } + return v.BurnRateConditions + }).(SloCompositeBurnRateConditionArrayOutput) +} + +// Designated value +func (o SloCompositePtrOutput) Target() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *SloComposite) *float64 { + if v == nil { + return nil + } + return &v.Target + }).(pulumi.Float64PtrOutput) +} + +type SloCompositeBurnRateCondition struct { + Op string `pulumi:"op"` + Value float64 `pulumi:"value"` +} + +// SloCompositeBurnRateConditionInput is an input type that accepts SloCompositeBurnRateConditionArgs and SloCompositeBurnRateConditionOutput values. +// You can construct a concrete instance of `SloCompositeBurnRateConditionInput` via: +// +// SloCompositeBurnRateConditionArgs{...} +type SloCompositeBurnRateConditionInput interface { + pulumi.Input + + ToSloCompositeBurnRateConditionOutput() SloCompositeBurnRateConditionOutput + ToSloCompositeBurnRateConditionOutputWithContext(context.Context) SloCompositeBurnRateConditionOutput +} + +type SloCompositeBurnRateConditionArgs struct { + Op pulumi.StringInput `pulumi:"op"` + Value pulumi.Float64Input `pulumi:"value"` +} + +func (SloCompositeBurnRateConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloCompositeBurnRateCondition)(nil)).Elem() +} + +func (i SloCompositeBurnRateConditionArgs) ToSloCompositeBurnRateConditionOutput() SloCompositeBurnRateConditionOutput { + return i.ToSloCompositeBurnRateConditionOutputWithContext(context.Background()) +} + +func (i SloCompositeBurnRateConditionArgs) ToSloCompositeBurnRateConditionOutputWithContext(ctx context.Context) SloCompositeBurnRateConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloCompositeBurnRateConditionOutput) +} + +// SloCompositeBurnRateConditionArrayInput is an input type that accepts SloCompositeBurnRateConditionArray and SloCompositeBurnRateConditionArrayOutput values. +// You can construct a concrete instance of `SloCompositeBurnRateConditionArrayInput` via: +// +// SloCompositeBurnRateConditionArray{ SloCompositeBurnRateConditionArgs{...} } +type SloCompositeBurnRateConditionArrayInput interface { + pulumi.Input + + ToSloCompositeBurnRateConditionArrayOutput() SloCompositeBurnRateConditionArrayOutput + ToSloCompositeBurnRateConditionArrayOutputWithContext(context.Context) SloCompositeBurnRateConditionArrayOutput +} + +type SloCompositeBurnRateConditionArray []SloCompositeBurnRateConditionInput + +func (SloCompositeBurnRateConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloCompositeBurnRateCondition)(nil)).Elem() +} + +func (i SloCompositeBurnRateConditionArray) ToSloCompositeBurnRateConditionArrayOutput() SloCompositeBurnRateConditionArrayOutput { + return i.ToSloCompositeBurnRateConditionArrayOutputWithContext(context.Background()) +} + +func (i SloCompositeBurnRateConditionArray) ToSloCompositeBurnRateConditionArrayOutputWithContext(ctx context.Context) SloCompositeBurnRateConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloCompositeBurnRateConditionArrayOutput) +} + +type SloCompositeBurnRateConditionOutput struct{ *pulumi.OutputState } + +func (SloCompositeBurnRateConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloCompositeBurnRateCondition)(nil)).Elem() +} + +func (o SloCompositeBurnRateConditionOutput) ToSloCompositeBurnRateConditionOutput() SloCompositeBurnRateConditionOutput { + return o +} + +func (o SloCompositeBurnRateConditionOutput) ToSloCompositeBurnRateConditionOutputWithContext(ctx context.Context) SloCompositeBurnRateConditionOutput { + return o +} + +func (o SloCompositeBurnRateConditionOutput) Op() pulumi.StringOutput { + return o.ApplyT(func(v SloCompositeBurnRateCondition) string { return v.Op }).(pulumi.StringOutput) +} + +func (o SloCompositeBurnRateConditionOutput) Value() pulumi.Float64Output { + return o.ApplyT(func(v SloCompositeBurnRateCondition) float64 { return v.Value }).(pulumi.Float64Output) +} + +type SloCompositeBurnRateConditionArrayOutput struct{ *pulumi.OutputState } + +func (SloCompositeBurnRateConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloCompositeBurnRateCondition)(nil)).Elem() +} + +func (o SloCompositeBurnRateConditionArrayOutput) ToSloCompositeBurnRateConditionArrayOutput() SloCompositeBurnRateConditionArrayOutput { + return o +} + +func (o SloCompositeBurnRateConditionArrayOutput) ToSloCompositeBurnRateConditionArrayOutputWithContext(ctx context.Context) SloCompositeBurnRateConditionArrayOutput { + return o +} + +func (o SloCompositeBurnRateConditionArrayOutput) Index(i pulumi.IntInput) SloCompositeBurnRateConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloCompositeBurnRateCondition { + return vs[0].([]SloCompositeBurnRateCondition)[vs[1].(int)] + }).(SloCompositeBurnRateConditionOutput) +} + +type SloIndicator struct { + // Kind of the metric source. One of {Agent, Direct}. + Kind *string `pulumi:"kind"` + // Name of the metric source (agent). + Name string `pulumi:"name"` + // Name of the metric source project. + Project *string `pulumi:"project"` +} + +// SloIndicatorInput is an input type that accepts SloIndicatorArgs and SloIndicatorOutput values. +// You can construct a concrete instance of `SloIndicatorInput` via: +// +// SloIndicatorArgs{...} +type SloIndicatorInput interface { + pulumi.Input + + ToSloIndicatorOutput() SloIndicatorOutput + ToSloIndicatorOutputWithContext(context.Context) SloIndicatorOutput +} + +type SloIndicatorArgs struct { + // Kind of the metric source. One of {Agent, Direct}. + Kind pulumi.StringPtrInput `pulumi:"kind"` + // Name of the metric source (agent). + Name pulumi.StringInput `pulumi:"name"` + // Name of the metric source project. + Project pulumi.StringPtrInput `pulumi:"project"` +} + +func (SloIndicatorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloIndicator)(nil)).Elem() +} + +func (i SloIndicatorArgs) ToSloIndicatorOutput() SloIndicatorOutput { + return i.ToSloIndicatorOutputWithContext(context.Background()) +} + +func (i SloIndicatorArgs) ToSloIndicatorOutputWithContext(ctx context.Context) SloIndicatorOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloIndicatorOutput) +} + +func (i SloIndicatorArgs) ToSloIndicatorPtrOutput() SloIndicatorPtrOutput { + return i.ToSloIndicatorPtrOutputWithContext(context.Background()) +} + +func (i SloIndicatorArgs) ToSloIndicatorPtrOutputWithContext(ctx context.Context) SloIndicatorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloIndicatorOutput).ToSloIndicatorPtrOutputWithContext(ctx) +} + +// SloIndicatorPtrInput is an input type that accepts SloIndicatorArgs, SloIndicatorPtr and SloIndicatorPtrOutput values. +// You can construct a concrete instance of `SloIndicatorPtrInput` via: +// +// SloIndicatorArgs{...} +// +// or: +// +// nil +type SloIndicatorPtrInput interface { + pulumi.Input + + ToSloIndicatorPtrOutput() SloIndicatorPtrOutput + ToSloIndicatorPtrOutputWithContext(context.Context) SloIndicatorPtrOutput +} + +type sloIndicatorPtrType SloIndicatorArgs + +func SloIndicatorPtr(v *SloIndicatorArgs) SloIndicatorPtrInput { + return (*sloIndicatorPtrType)(v) +} + +func (*sloIndicatorPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SloIndicator)(nil)).Elem() +} + +func (i *sloIndicatorPtrType) ToSloIndicatorPtrOutput() SloIndicatorPtrOutput { + return i.ToSloIndicatorPtrOutputWithContext(context.Background()) +} + +func (i *sloIndicatorPtrType) ToSloIndicatorPtrOutputWithContext(ctx context.Context) SloIndicatorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloIndicatorPtrOutput) +} + +type SloIndicatorOutput struct{ *pulumi.OutputState } + +func (SloIndicatorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloIndicator)(nil)).Elem() +} + +func (o SloIndicatorOutput) ToSloIndicatorOutput() SloIndicatorOutput { + return o +} + +func (o SloIndicatorOutput) ToSloIndicatorOutputWithContext(ctx context.Context) SloIndicatorOutput { + return o +} + +func (o SloIndicatorOutput) ToSloIndicatorPtrOutput() SloIndicatorPtrOutput { + return o.ToSloIndicatorPtrOutputWithContext(context.Background()) +} + +func (o SloIndicatorOutput) ToSloIndicatorPtrOutputWithContext(ctx context.Context) SloIndicatorPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SloIndicator) *SloIndicator { + return &v + }).(SloIndicatorPtrOutput) +} + +// Kind of the metric source. One of {Agent, Direct}. +func (o SloIndicatorOutput) Kind() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloIndicator) *string { return v.Kind }).(pulumi.StringPtrOutput) +} + +// Name of the metric source (agent). +func (o SloIndicatorOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v SloIndicator) string { return v.Name }).(pulumi.StringOutput) +} + +// Name of the metric source project. +func (o SloIndicatorOutput) Project() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloIndicator) *string { return v.Project }).(pulumi.StringPtrOutput) +} + +type SloIndicatorPtrOutput struct{ *pulumi.OutputState } + +func (SloIndicatorPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SloIndicator)(nil)).Elem() +} + +func (o SloIndicatorPtrOutput) ToSloIndicatorPtrOutput() SloIndicatorPtrOutput { + return o +} + +func (o SloIndicatorPtrOutput) ToSloIndicatorPtrOutputWithContext(ctx context.Context) SloIndicatorPtrOutput { + return o +} + +func (o SloIndicatorPtrOutput) Elem() SloIndicatorOutput { + return o.ApplyT(func(v *SloIndicator) SloIndicator { + if v != nil { + return *v + } + var ret SloIndicator + return ret + }).(SloIndicatorOutput) +} + +// Kind of the metric source. One of {Agent, Direct}. +func (o SloIndicatorPtrOutput) Kind() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SloIndicator) *string { + if v == nil { + return nil + } + return v.Kind + }).(pulumi.StringPtrOutput) +} + +// Name of the metric source (agent). +func (o SloIndicatorPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SloIndicator) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +// Name of the metric source project. +func (o SloIndicatorPtrOutput) Project() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SloIndicator) *string { + if v == nil { + return nil + } + return v.Project + }).(pulumi.StringPtrOutput) +} + +type SloLabel struct { + // A key for the label, unique within the associated resource. + Key string `pulumi:"key"` + // A list of unique values for a single key. + Values []string `pulumi:"values"` +} + +// SloLabelInput is an input type that accepts SloLabelArgs and SloLabelOutput values. +// You can construct a concrete instance of `SloLabelInput` via: +// +// SloLabelArgs{...} +type SloLabelInput interface { + pulumi.Input + + ToSloLabelOutput() SloLabelOutput + ToSloLabelOutputWithContext(context.Context) SloLabelOutput +} + +type SloLabelArgs struct { + // A key for the label, unique within the associated resource. + Key pulumi.StringInput `pulumi:"key"` + // A list of unique values for a single key. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (SloLabelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloLabel)(nil)).Elem() +} + +func (i SloLabelArgs) ToSloLabelOutput() SloLabelOutput { + return i.ToSloLabelOutputWithContext(context.Background()) +} + +func (i SloLabelArgs) ToSloLabelOutputWithContext(ctx context.Context) SloLabelOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloLabelOutput) +} + +// SloLabelArrayInput is an input type that accepts SloLabelArray and SloLabelArrayOutput values. +// You can construct a concrete instance of `SloLabelArrayInput` via: +// +// SloLabelArray{ SloLabelArgs{...} } +type SloLabelArrayInput interface { + pulumi.Input + + ToSloLabelArrayOutput() SloLabelArrayOutput + ToSloLabelArrayOutputWithContext(context.Context) SloLabelArrayOutput +} + +type SloLabelArray []SloLabelInput + +func (SloLabelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloLabel)(nil)).Elem() +} + +func (i SloLabelArray) ToSloLabelArrayOutput() SloLabelArrayOutput { + return i.ToSloLabelArrayOutputWithContext(context.Background()) +} + +func (i SloLabelArray) ToSloLabelArrayOutputWithContext(ctx context.Context) SloLabelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloLabelArrayOutput) +} + +type SloLabelOutput struct{ *pulumi.OutputState } + +func (SloLabelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloLabel)(nil)).Elem() +} + +func (o SloLabelOutput) ToSloLabelOutput() SloLabelOutput { + return o +} + +func (o SloLabelOutput) ToSloLabelOutputWithContext(ctx context.Context) SloLabelOutput { + return o +} + +// A key for the label, unique within the associated resource. +func (o SloLabelOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v SloLabel) string { return v.Key }).(pulumi.StringOutput) +} + +// A list of unique values for a single key. +func (o SloLabelOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v SloLabel) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type SloLabelArrayOutput struct{ *pulumi.OutputState } + +func (SloLabelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloLabel)(nil)).Elem() +} + +func (o SloLabelArrayOutput) ToSloLabelArrayOutput() SloLabelArrayOutput { + return o +} + +func (o SloLabelArrayOutput) ToSloLabelArrayOutputWithContext(ctx context.Context) SloLabelArrayOutput { + return o +} + +func (o SloLabelArrayOutput) Index(i pulumi.IntInput) SloLabelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloLabel { + return vs[0].([]SloLabel)[vs[1].(int)] + }).(SloLabelOutput) +} + +type SloObjective struct { + // Compares two time series, indicating the ratio of the count of good values to total values. + CountMetrics []SloObjectiveCountMetric `pulumi:"countMetrics"` + // Name to be displayed + DisplayName string `pulumi:"displayName"` + // Objective's name. This field is computed if not provided. + Name *string `pulumi:"name"` + // Type of logical operation + Op *string `pulumi:"op"` + // Raw data is used to compare objective values. + RawMetrics []SloObjectiveRawMetric `pulumi:"rawMetrics"` + // Designated value + Target float64 `pulumi:"target"` + // Designated value for slice + TimeSliceTarget *float64 `pulumi:"timeSliceTarget"` + // Value + Value float64 `pulumi:"value"` +} + +// SloObjectiveInput is an input type that accepts SloObjectiveArgs and SloObjectiveOutput values. +// You can construct a concrete instance of `SloObjectiveInput` via: +// +// SloObjectiveArgs{...} +type SloObjectiveInput interface { + pulumi.Input + + ToSloObjectiveOutput() SloObjectiveOutput + ToSloObjectiveOutputWithContext(context.Context) SloObjectiveOutput +} + +type SloObjectiveArgs struct { + // Compares two time series, indicating the ratio of the count of good values to total values. + CountMetrics SloObjectiveCountMetricArrayInput `pulumi:"countMetrics"` + // Name to be displayed + DisplayName pulumi.StringInput `pulumi:"displayName"` + // Objective's name. This field is computed if not provided. + Name pulumi.StringPtrInput `pulumi:"name"` + // Type of logical operation + Op pulumi.StringPtrInput `pulumi:"op"` + // Raw data is used to compare objective values. + RawMetrics SloObjectiveRawMetricArrayInput `pulumi:"rawMetrics"` + // Designated value + Target pulumi.Float64Input `pulumi:"target"` + // Designated value for slice + TimeSliceTarget pulumi.Float64PtrInput `pulumi:"timeSliceTarget"` + // Value + Value pulumi.Float64Input `pulumi:"value"` +} + +func (SloObjectiveArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjective)(nil)).Elem() +} + +func (i SloObjectiveArgs) ToSloObjectiveOutput() SloObjectiveOutput { + return i.ToSloObjectiveOutputWithContext(context.Background()) +} + +func (i SloObjectiveArgs) ToSloObjectiveOutputWithContext(ctx context.Context) SloObjectiveOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveOutput) +} + +// SloObjectiveArrayInput is an input type that accepts SloObjectiveArray and SloObjectiveArrayOutput values. +// You can construct a concrete instance of `SloObjectiveArrayInput` via: +// +// SloObjectiveArray{ SloObjectiveArgs{...} } +type SloObjectiveArrayInput interface { + pulumi.Input + + ToSloObjectiveArrayOutput() SloObjectiveArrayOutput + ToSloObjectiveArrayOutputWithContext(context.Context) SloObjectiveArrayOutput +} + +type SloObjectiveArray []SloObjectiveInput + +func (SloObjectiveArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjective)(nil)).Elem() +} + +func (i SloObjectiveArray) ToSloObjectiveArrayOutput() SloObjectiveArrayOutput { + return i.ToSloObjectiveArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveArray) ToSloObjectiveArrayOutputWithContext(ctx context.Context) SloObjectiveArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveArrayOutput) +} + +type SloObjectiveOutput struct{ *pulumi.OutputState } + +func (SloObjectiveOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjective)(nil)).Elem() +} + +func (o SloObjectiveOutput) ToSloObjectiveOutput() SloObjectiveOutput { + return o +} + +func (o SloObjectiveOutput) ToSloObjectiveOutputWithContext(ctx context.Context) SloObjectiveOutput { + return o +} + +// Compares two time series, indicating the ratio of the count of good values to total values. +func (o SloObjectiveOutput) CountMetrics() SloObjectiveCountMetricArrayOutput { + return o.ApplyT(func(v SloObjective) []SloObjectiveCountMetric { return v.CountMetrics }).(SloObjectiveCountMetricArrayOutput) +} + +// Name to be displayed +func (o SloObjectiveOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v SloObjective) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// Objective's name. This field is computed if not provided. +func (o SloObjectiveOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjective) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Type of logical operation +func (o SloObjectiveOutput) Op() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjective) *string { return v.Op }).(pulumi.StringPtrOutput) +} + +// Raw data is used to compare objective values. +func (o SloObjectiveOutput) RawMetrics() SloObjectiveRawMetricArrayOutput { + return o.ApplyT(func(v SloObjective) []SloObjectiveRawMetric { return v.RawMetrics }).(SloObjectiveRawMetricArrayOutput) +} + +// Designated value +func (o SloObjectiveOutput) Target() pulumi.Float64Output { + return o.ApplyT(func(v SloObjective) float64 { return v.Target }).(pulumi.Float64Output) +} + +// Designated value for slice +func (o SloObjectiveOutput) TimeSliceTarget() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SloObjective) *float64 { return v.TimeSliceTarget }).(pulumi.Float64PtrOutput) +} + +// Value +func (o SloObjectiveOutput) Value() pulumi.Float64Output { + return o.ApplyT(func(v SloObjective) float64 { return v.Value }).(pulumi.Float64Output) +} + +type SloObjectiveArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjective)(nil)).Elem() +} + +func (o SloObjectiveArrayOutput) ToSloObjectiveArrayOutput() SloObjectiveArrayOutput { + return o +} + +func (o SloObjectiveArrayOutput) ToSloObjectiveArrayOutputWithContext(ctx context.Context) SloObjectiveArrayOutput { + return o +} + +func (o SloObjectiveArrayOutput) Index(i pulumi.IntInput) SloObjectiveOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjective { + return vs[0].([]SloObjective)[vs[1].(int)] + }).(SloObjectiveOutput) +} + +type SloObjectiveCountMetric struct { + Goods []SloObjectiveCountMetricGood `pulumi:"goods"` + Incremental bool `pulumi:"incremental"` + Totals []SloObjectiveCountMetricTotal `pulumi:"totals"` +} + +// SloObjectiveCountMetricInput is an input type that accepts SloObjectiveCountMetricArgs and SloObjectiveCountMetricOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricInput` via: +// +// SloObjectiveCountMetricArgs{...} +type SloObjectiveCountMetricInput interface { + pulumi.Input + + ToSloObjectiveCountMetricOutput() SloObjectiveCountMetricOutput + ToSloObjectiveCountMetricOutputWithContext(context.Context) SloObjectiveCountMetricOutput +} + +type SloObjectiveCountMetricArgs struct { + Goods SloObjectiveCountMetricGoodArrayInput `pulumi:"goods"` + Incremental pulumi.BoolInput `pulumi:"incremental"` + Totals SloObjectiveCountMetricTotalArrayInput `pulumi:"totals"` +} + +func (SloObjectiveCountMetricArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetric)(nil)).Elem() +} + +func (i SloObjectiveCountMetricArgs) ToSloObjectiveCountMetricOutput() SloObjectiveCountMetricOutput { + return i.ToSloObjectiveCountMetricOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricArgs) ToSloObjectiveCountMetricOutputWithContext(ctx context.Context) SloObjectiveCountMetricOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricOutput) +} + +// SloObjectiveCountMetricArrayInput is an input type that accepts SloObjectiveCountMetricArray and SloObjectiveCountMetricArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricArrayInput` via: +// +// SloObjectiveCountMetricArray{ SloObjectiveCountMetricArgs{...} } +type SloObjectiveCountMetricArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricArrayOutput() SloObjectiveCountMetricArrayOutput + ToSloObjectiveCountMetricArrayOutputWithContext(context.Context) SloObjectiveCountMetricArrayOutput +} + +type SloObjectiveCountMetricArray []SloObjectiveCountMetricInput + +func (SloObjectiveCountMetricArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetric)(nil)).Elem() +} + +func (i SloObjectiveCountMetricArray) ToSloObjectiveCountMetricArrayOutput() SloObjectiveCountMetricArrayOutput { + return i.ToSloObjectiveCountMetricArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricArray) ToSloObjectiveCountMetricArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricArrayOutput) +} + +type SloObjectiveCountMetricOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetric)(nil)).Elem() +} + +func (o SloObjectiveCountMetricOutput) ToSloObjectiveCountMetricOutput() SloObjectiveCountMetricOutput { + return o +} + +func (o SloObjectiveCountMetricOutput) ToSloObjectiveCountMetricOutputWithContext(ctx context.Context) SloObjectiveCountMetricOutput { + return o +} + +func (o SloObjectiveCountMetricOutput) Goods() SloObjectiveCountMetricGoodArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetric) []SloObjectiveCountMetricGood { return v.Goods }).(SloObjectiveCountMetricGoodArrayOutput) +} + +func (o SloObjectiveCountMetricOutput) Incremental() pulumi.BoolOutput { + return o.ApplyT(func(v SloObjectiveCountMetric) bool { return v.Incremental }).(pulumi.BoolOutput) +} + +func (o SloObjectiveCountMetricOutput) Totals() SloObjectiveCountMetricTotalArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetric) []SloObjectiveCountMetricTotal { return v.Totals }).(SloObjectiveCountMetricTotalArrayOutput) +} + +type SloObjectiveCountMetricArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetric)(nil)).Elem() +} + +func (o SloObjectiveCountMetricArrayOutput) ToSloObjectiveCountMetricArrayOutput() SloObjectiveCountMetricArrayOutput { + return o +} + +func (o SloObjectiveCountMetricArrayOutput) ToSloObjectiveCountMetricArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricArrayOutput { + return o +} + +func (o SloObjectiveCountMetricArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetric { + return vs[0].([]SloObjectiveCountMetric)[vs[1].(int)] + }).(SloObjectiveCountMetricOutput) +} + +type SloObjectiveCountMetricGood struct { + AmazonPrometheuses []SloObjectiveCountMetricGoodAmazonPrometheus `pulumi:"amazonPrometheuses"` + Appdynamics []SloObjectiveCountMetricGoodAppdynamic `pulumi:"appdynamics"` + Bigqueries []SloObjectiveCountMetricGoodBigquery `pulumi:"bigqueries"` + Cloudwatches []SloObjectiveCountMetricGoodCloudwatch `pulumi:"cloudwatches"` + Datadogs []SloObjectiveCountMetricGoodDatadog `pulumi:"datadogs"` + Dynatraces []SloObjectiveCountMetricGoodDynatrace `pulumi:"dynatraces"` + Elasticsearches []SloObjectiveCountMetricGoodElasticsearch `pulumi:"elasticsearches"` + Gcms []SloObjectiveCountMetricGoodGcm `pulumi:"gcms"` + GrafanaLokis []SloObjectiveCountMetricGoodGrafanaLoki `pulumi:"grafanaLokis"` + Graphites []SloObjectiveCountMetricGoodGraphite `pulumi:"graphites"` + Influxdbs []SloObjectiveCountMetricGoodInfluxdb `pulumi:"influxdbs"` + Instanas []SloObjectiveCountMetricGoodInstana `pulumi:"instanas"` + Lightsteps []SloObjectiveCountMetricGoodLightstep `pulumi:"lightsteps"` + Newrelics []SloObjectiveCountMetricGoodNewrelic `pulumi:"newrelics"` + Opentsdbs []SloObjectiveCountMetricGoodOpentsdb `pulumi:"opentsdbs"` + Pingdoms []SloObjectiveCountMetricGoodPingdom `pulumi:"pingdoms"` + Prometheuses []SloObjectiveCountMetricGoodPrometheus `pulumi:"prometheuses"` + Redshifts []SloObjectiveCountMetricGoodRedshift `pulumi:"redshifts"` + SplunkObservabilities []SloObjectiveCountMetricGoodSplunkObservability `pulumi:"splunkObservabilities"` + Splunks []SloObjectiveCountMetricGoodSplunk `pulumi:"splunks"` + Sumologics []SloObjectiveCountMetricGoodSumologic `pulumi:"sumologics"` + Thousandeyes []SloObjectiveCountMetricGoodThousandeye `pulumi:"thousandeyes"` +} + +// SloObjectiveCountMetricGoodInput is an input type that accepts SloObjectiveCountMetricGoodArgs and SloObjectiveCountMetricGoodOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodInput` via: +// +// SloObjectiveCountMetricGoodArgs{...} +type SloObjectiveCountMetricGoodInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodOutput() SloObjectiveCountMetricGoodOutput + ToSloObjectiveCountMetricGoodOutputWithContext(context.Context) SloObjectiveCountMetricGoodOutput +} + +type SloObjectiveCountMetricGoodArgs struct { + AmazonPrometheuses SloObjectiveCountMetricGoodAmazonPrometheusArrayInput `pulumi:"amazonPrometheuses"` + Appdynamics SloObjectiveCountMetricGoodAppdynamicArrayInput `pulumi:"appdynamics"` + Bigqueries SloObjectiveCountMetricGoodBigqueryArrayInput `pulumi:"bigqueries"` + Cloudwatches SloObjectiveCountMetricGoodCloudwatchArrayInput `pulumi:"cloudwatches"` + Datadogs SloObjectiveCountMetricGoodDatadogArrayInput `pulumi:"datadogs"` + Dynatraces SloObjectiveCountMetricGoodDynatraceArrayInput `pulumi:"dynatraces"` + Elasticsearches SloObjectiveCountMetricGoodElasticsearchArrayInput `pulumi:"elasticsearches"` + Gcms SloObjectiveCountMetricGoodGcmArrayInput `pulumi:"gcms"` + GrafanaLokis SloObjectiveCountMetricGoodGrafanaLokiArrayInput `pulumi:"grafanaLokis"` + Graphites SloObjectiveCountMetricGoodGraphiteArrayInput `pulumi:"graphites"` + Influxdbs SloObjectiveCountMetricGoodInfluxdbArrayInput `pulumi:"influxdbs"` + Instanas SloObjectiveCountMetricGoodInstanaArrayInput `pulumi:"instanas"` + Lightsteps SloObjectiveCountMetricGoodLightstepArrayInput `pulumi:"lightsteps"` + Newrelics SloObjectiveCountMetricGoodNewrelicArrayInput `pulumi:"newrelics"` + Opentsdbs SloObjectiveCountMetricGoodOpentsdbArrayInput `pulumi:"opentsdbs"` + Pingdoms SloObjectiveCountMetricGoodPingdomArrayInput `pulumi:"pingdoms"` + Prometheuses SloObjectiveCountMetricGoodPrometheusArrayInput `pulumi:"prometheuses"` + Redshifts SloObjectiveCountMetricGoodRedshiftArrayInput `pulumi:"redshifts"` + SplunkObservabilities SloObjectiveCountMetricGoodSplunkObservabilityArrayInput `pulumi:"splunkObservabilities"` + Splunks SloObjectiveCountMetricGoodSplunkArrayInput `pulumi:"splunks"` + Sumologics SloObjectiveCountMetricGoodSumologicArrayInput `pulumi:"sumologics"` + Thousandeyes SloObjectiveCountMetricGoodThousandeyeArrayInput `pulumi:"thousandeyes"` +} + +func (SloObjectiveCountMetricGoodArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGood)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodArgs) ToSloObjectiveCountMetricGoodOutput() SloObjectiveCountMetricGoodOutput { + return i.ToSloObjectiveCountMetricGoodOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodArgs) ToSloObjectiveCountMetricGoodOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodOutput) +} + +// SloObjectiveCountMetricGoodArrayInput is an input type that accepts SloObjectiveCountMetricGoodArray and SloObjectiveCountMetricGoodArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodArrayInput` via: +// +// SloObjectiveCountMetricGoodArray{ SloObjectiveCountMetricGoodArgs{...} } +type SloObjectiveCountMetricGoodArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodArrayOutput() SloObjectiveCountMetricGoodArrayOutput + ToSloObjectiveCountMetricGoodArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodArrayOutput +} + +type SloObjectiveCountMetricGoodArray []SloObjectiveCountMetricGoodInput + +func (SloObjectiveCountMetricGoodArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGood)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodArray) ToSloObjectiveCountMetricGoodArrayOutput() SloObjectiveCountMetricGoodArrayOutput { + return i.ToSloObjectiveCountMetricGoodArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodArray) ToSloObjectiveCountMetricGoodArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodArrayOutput) +} + +type SloObjectiveCountMetricGoodOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGood)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodOutput) ToSloObjectiveCountMetricGoodOutput() SloObjectiveCountMetricGoodOutput { + return o +} + +func (o SloObjectiveCountMetricGoodOutput) ToSloObjectiveCountMetricGoodOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodOutput { + return o +} + +func (o SloObjectiveCountMetricGoodOutput) AmazonPrometheuses() SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodAmazonPrometheus { + return v.AmazonPrometheuses + }).(SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Appdynamics() SloObjectiveCountMetricGoodAppdynamicArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodAppdynamic { return v.Appdynamics }).(SloObjectiveCountMetricGoodAppdynamicArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Bigqueries() SloObjectiveCountMetricGoodBigqueryArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodBigquery { return v.Bigqueries }).(SloObjectiveCountMetricGoodBigqueryArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Cloudwatches() SloObjectiveCountMetricGoodCloudwatchArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodCloudwatch { return v.Cloudwatches }).(SloObjectiveCountMetricGoodCloudwatchArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Datadogs() SloObjectiveCountMetricGoodDatadogArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodDatadog { return v.Datadogs }).(SloObjectiveCountMetricGoodDatadogArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Dynatraces() SloObjectiveCountMetricGoodDynatraceArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodDynatrace { return v.Dynatraces }).(SloObjectiveCountMetricGoodDynatraceArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Elasticsearches() SloObjectiveCountMetricGoodElasticsearchArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodElasticsearch { + return v.Elasticsearches + }).(SloObjectiveCountMetricGoodElasticsearchArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Gcms() SloObjectiveCountMetricGoodGcmArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodGcm { return v.Gcms }).(SloObjectiveCountMetricGoodGcmArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) GrafanaLokis() SloObjectiveCountMetricGoodGrafanaLokiArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodGrafanaLoki { return v.GrafanaLokis }).(SloObjectiveCountMetricGoodGrafanaLokiArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Graphites() SloObjectiveCountMetricGoodGraphiteArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodGraphite { return v.Graphites }).(SloObjectiveCountMetricGoodGraphiteArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Influxdbs() SloObjectiveCountMetricGoodInfluxdbArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodInfluxdb { return v.Influxdbs }).(SloObjectiveCountMetricGoodInfluxdbArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Instanas() SloObjectiveCountMetricGoodInstanaArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodInstana { return v.Instanas }).(SloObjectiveCountMetricGoodInstanaArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Lightsteps() SloObjectiveCountMetricGoodLightstepArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodLightstep { return v.Lightsteps }).(SloObjectiveCountMetricGoodLightstepArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Newrelics() SloObjectiveCountMetricGoodNewrelicArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodNewrelic { return v.Newrelics }).(SloObjectiveCountMetricGoodNewrelicArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Opentsdbs() SloObjectiveCountMetricGoodOpentsdbArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodOpentsdb { return v.Opentsdbs }).(SloObjectiveCountMetricGoodOpentsdbArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Pingdoms() SloObjectiveCountMetricGoodPingdomArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodPingdom { return v.Pingdoms }).(SloObjectiveCountMetricGoodPingdomArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Prometheuses() SloObjectiveCountMetricGoodPrometheusArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodPrometheus { return v.Prometheuses }).(SloObjectiveCountMetricGoodPrometheusArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Redshifts() SloObjectiveCountMetricGoodRedshiftArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodRedshift { return v.Redshifts }).(SloObjectiveCountMetricGoodRedshiftArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) SplunkObservabilities() SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodSplunkObservability { + return v.SplunkObservabilities + }).(SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Splunks() SloObjectiveCountMetricGoodSplunkArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodSplunk { return v.Splunks }).(SloObjectiveCountMetricGoodSplunkArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Sumologics() SloObjectiveCountMetricGoodSumologicArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodSumologic { return v.Sumologics }).(SloObjectiveCountMetricGoodSumologicArrayOutput) +} + +func (o SloObjectiveCountMetricGoodOutput) Thousandeyes() SloObjectiveCountMetricGoodThousandeyeArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGood) []SloObjectiveCountMetricGoodThousandeye { return v.Thousandeyes }).(SloObjectiveCountMetricGoodThousandeyeArrayOutput) +} + +type SloObjectiveCountMetricGoodArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGood)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodArrayOutput) ToSloObjectiveCountMetricGoodArrayOutput() SloObjectiveCountMetricGoodArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodArrayOutput) ToSloObjectiveCountMetricGoodArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGood { + return vs[0].([]SloObjectiveCountMetricGood)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodOutput) +} + +type SloObjectiveCountMetricGoodAmazonPrometheus struct { + Promql string `pulumi:"promql"` +} + +// SloObjectiveCountMetricGoodAmazonPrometheusInput is an input type that accepts SloObjectiveCountMetricGoodAmazonPrometheusArgs and SloObjectiveCountMetricGoodAmazonPrometheusOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodAmazonPrometheusInput` via: +// +// SloObjectiveCountMetricGoodAmazonPrometheusArgs{...} +type SloObjectiveCountMetricGoodAmazonPrometheusInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodAmazonPrometheusOutput() SloObjectiveCountMetricGoodAmazonPrometheusOutput + ToSloObjectiveCountMetricGoodAmazonPrometheusOutputWithContext(context.Context) SloObjectiveCountMetricGoodAmazonPrometheusOutput +} + +type SloObjectiveCountMetricGoodAmazonPrometheusArgs struct { + Promql pulumi.StringInput `pulumi:"promql"` +} + +func (SloObjectiveCountMetricGoodAmazonPrometheusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodAmazonPrometheus)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodAmazonPrometheusArgs) ToSloObjectiveCountMetricGoodAmazonPrometheusOutput() SloObjectiveCountMetricGoodAmazonPrometheusOutput { + return i.ToSloObjectiveCountMetricGoodAmazonPrometheusOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodAmazonPrometheusArgs) ToSloObjectiveCountMetricGoodAmazonPrometheusOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodAmazonPrometheusOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodAmazonPrometheusOutput) +} + +// SloObjectiveCountMetricGoodAmazonPrometheusArrayInput is an input type that accepts SloObjectiveCountMetricGoodAmazonPrometheusArray and SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodAmazonPrometheusArrayInput` via: +// +// SloObjectiveCountMetricGoodAmazonPrometheusArray{ SloObjectiveCountMetricGoodAmazonPrometheusArgs{...} } +type SloObjectiveCountMetricGoodAmazonPrometheusArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodAmazonPrometheusArrayOutput() SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput + ToSloObjectiveCountMetricGoodAmazonPrometheusArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput +} + +type SloObjectiveCountMetricGoodAmazonPrometheusArray []SloObjectiveCountMetricGoodAmazonPrometheusInput + +func (SloObjectiveCountMetricGoodAmazonPrometheusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodAmazonPrometheus)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodAmazonPrometheusArray) ToSloObjectiveCountMetricGoodAmazonPrometheusArrayOutput() SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput { + return i.ToSloObjectiveCountMetricGoodAmazonPrometheusArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodAmazonPrometheusArray) ToSloObjectiveCountMetricGoodAmazonPrometheusArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput) +} + +type SloObjectiveCountMetricGoodAmazonPrometheusOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodAmazonPrometheusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodAmazonPrometheus)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodAmazonPrometheusOutput) ToSloObjectiveCountMetricGoodAmazonPrometheusOutput() SloObjectiveCountMetricGoodAmazonPrometheusOutput { + return o +} + +func (o SloObjectiveCountMetricGoodAmazonPrometheusOutput) ToSloObjectiveCountMetricGoodAmazonPrometheusOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodAmazonPrometheusOutput { + return o +} + +func (o SloObjectiveCountMetricGoodAmazonPrometheusOutput) Promql() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodAmazonPrometheus) string { return v.Promql }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodAmazonPrometheus)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput) ToSloObjectiveCountMetricGoodAmazonPrometheusArrayOutput() SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput) ToSloObjectiveCountMetricGoodAmazonPrometheusArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodAmazonPrometheusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodAmazonPrometheus { + return vs[0].([]SloObjectiveCountMetricGoodAmazonPrometheus)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodAmazonPrometheusOutput) +} + +type SloObjectiveCountMetricGoodAppdynamic struct { + ApplicationName string `pulumi:"applicationName"` + MetricPath string `pulumi:"metricPath"` +} + +// SloObjectiveCountMetricGoodAppdynamicInput is an input type that accepts SloObjectiveCountMetricGoodAppdynamicArgs and SloObjectiveCountMetricGoodAppdynamicOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodAppdynamicInput` via: +// +// SloObjectiveCountMetricGoodAppdynamicArgs{...} +type SloObjectiveCountMetricGoodAppdynamicInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodAppdynamicOutput() SloObjectiveCountMetricGoodAppdynamicOutput + ToSloObjectiveCountMetricGoodAppdynamicOutputWithContext(context.Context) SloObjectiveCountMetricGoodAppdynamicOutput +} + +type SloObjectiveCountMetricGoodAppdynamicArgs struct { + ApplicationName pulumi.StringInput `pulumi:"applicationName"` + MetricPath pulumi.StringInput `pulumi:"metricPath"` +} + +func (SloObjectiveCountMetricGoodAppdynamicArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodAppdynamic)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodAppdynamicArgs) ToSloObjectiveCountMetricGoodAppdynamicOutput() SloObjectiveCountMetricGoodAppdynamicOutput { + return i.ToSloObjectiveCountMetricGoodAppdynamicOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodAppdynamicArgs) ToSloObjectiveCountMetricGoodAppdynamicOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodAppdynamicOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodAppdynamicOutput) +} + +// SloObjectiveCountMetricGoodAppdynamicArrayInput is an input type that accepts SloObjectiveCountMetricGoodAppdynamicArray and SloObjectiveCountMetricGoodAppdynamicArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodAppdynamicArrayInput` via: +// +// SloObjectiveCountMetricGoodAppdynamicArray{ SloObjectiveCountMetricGoodAppdynamicArgs{...} } +type SloObjectiveCountMetricGoodAppdynamicArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodAppdynamicArrayOutput() SloObjectiveCountMetricGoodAppdynamicArrayOutput + ToSloObjectiveCountMetricGoodAppdynamicArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodAppdynamicArrayOutput +} + +type SloObjectiveCountMetricGoodAppdynamicArray []SloObjectiveCountMetricGoodAppdynamicInput + +func (SloObjectiveCountMetricGoodAppdynamicArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodAppdynamic)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodAppdynamicArray) ToSloObjectiveCountMetricGoodAppdynamicArrayOutput() SloObjectiveCountMetricGoodAppdynamicArrayOutput { + return i.ToSloObjectiveCountMetricGoodAppdynamicArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodAppdynamicArray) ToSloObjectiveCountMetricGoodAppdynamicArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodAppdynamicArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodAppdynamicArrayOutput) +} + +type SloObjectiveCountMetricGoodAppdynamicOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodAppdynamicOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodAppdynamic)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodAppdynamicOutput) ToSloObjectiveCountMetricGoodAppdynamicOutput() SloObjectiveCountMetricGoodAppdynamicOutput { + return o +} + +func (o SloObjectiveCountMetricGoodAppdynamicOutput) ToSloObjectiveCountMetricGoodAppdynamicOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodAppdynamicOutput { + return o +} + +func (o SloObjectiveCountMetricGoodAppdynamicOutput) ApplicationName() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodAppdynamic) string { return v.ApplicationName }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodAppdynamicOutput) MetricPath() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodAppdynamic) string { return v.MetricPath }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodAppdynamicArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodAppdynamicArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodAppdynamic)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodAppdynamicArrayOutput) ToSloObjectiveCountMetricGoodAppdynamicArrayOutput() SloObjectiveCountMetricGoodAppdynamicArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodAppdynamicArrayOutput) ToSloObjectiveCountMetricGoodAppdynamicArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodAppdynamicArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodAppdynamicArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodAppdynamicOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodAppdynamic { + return vs[0].([]SloObjectiveCountMetricGoodAppdynamic)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodAppdynamicOutput) +} + +type SloObjectiveCountMetricGoodBigquery struct { + Location string `pulumi:"location"` + ProjectId string `pulumi:"projectId"` + Query string `pulumi:"query"` +} + +// SloObjectiveCountMetricGoodBigqueryInput is an input type that accepts SloObjectiveCountMetricGoodBigqueryArgs and SloObjectiveCountMetricGoodBigqueryOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodBigqueryInput` via: +// +// SloObjectiveCountMetricGoodBigqueryArgs{...} +type SloObjectiveCountMetricGoodBigqueryInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodBigqueryOutput() SloObjectiveCountMetricGoodBigqueryOutput + ToSloObjectiveCountMetricGoodBigqueryOutputWithContext(context.Context) SloObjectiveCountMetricGoodBigqueryOutput +} + +type SloObjectiveCountMetricGoodBigqueryArgs struct { + Location pulumi.StringInput `pulumi:"location"` + ProjectId pulumi.StringInput `pulumi:"projectId"` + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveCountMetricGoodBigqueryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodBigquery)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodBigqueryArgs) ToSloObjectiveCountMetricGoodBigqueryOutput() SloObjectiveCountMetricGoodBigqueryOutput { + return i.ToSloObjectiveCountMetricGoodBigqueryOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodBigqueryArgs) ToSloObjectiveCountMetricGoodBigqueryOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodBigqueryOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodBigqueryOutput) +} + +// SloObjectiveCountMetricGoodBigqueryArrayInput is an input type that accepts SloObjectiveCountMetricGoodBigqueryArray and SloObjectiveCountMetricGoodBigqueryArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodBigqueryArrayInput` via: +// +// SloObjectiveCountMetricGoodBigqueryArray{ SloObjectiveCountMetricGoodBigqueryArgs{...} } +type SloObjectiveCountMetricGoodBigqueryArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodBigqueryArrayOutput() SloObjectiveCountMetricGoodBigqueryArrayOutput + ToSloObjectiveCountMetricGoodBigqueryArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodBigqueryArrayOutput +} + +type SloObjectiveCountMetricGoodBigqueryArray []SloObjectiveCountMetricGoodBigqueryInput + +func (SloObjectiveCountMetricGoodBigqueryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodBigquery)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodBigqueryArray) ToSloObjectiveCountMetricGoodBigqueryArrayOutput() SloObjectiveCountMetricGoodBigqueryArrayOutput { + return i.ToSloObjectiveCountMetricGoodBigqueryArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodBigqueryArray) ToSloObjectiveCountMetricGoodBigqueryArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodBigqueryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodBigqueryArrayOutput) +} + +type SloObjectiveCountMetricGoodBigqueryOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodBigqueryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodBigquery)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodBigqueryOutput) ToSloObjectiveCountMetricGoodBigqueryOutput() SloObjectiveCountMetricGoodBigqueryOutput { + return o +} + +func (o SloObjectiveCountMetricGoodBigqueryOutput) ToSloObjectiveCountMetricGoodBigqueryOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodBigqueryOutput { + return o +} + +func (o SloObjectiveCountMetricGoodBigqueryOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodBigquery) string { return v.Location }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodBigqueryOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodBigquery) string { return v.ProjectId }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodBigqueryOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodBigquery) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodBigqueryArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodBigqueryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodBigquery)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodBigqueryArrayOutput) ToSloObjectiveCountMetricGoodBigqueryArrayOutput() SloObjectiveCountMetricGoodBigqueryArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodBigqueryArrayOutput) ToSloObjectiveCountMetricGoodBigqueryArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodBigqueryArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodBigqueryArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodBigqueryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodBigquery { + return vs[0].([]SloObjectiveCountMetricGoodBigquery)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodBigqueryOutput) +} + +type SloObjectiveCountMetricGoodCloudwatch struct { + Dimensions []SloObjectiveCountMetricGoodCloudwatchDimension `pulumi:"dimensions"` + Json *string `pulumi:"json"` + MetricName *string `pulumi:"metricName"` + Namespace *string `pulumi:"namespace"` + Region string `pulumi:"region"` + Sql *string `pulumi:"sql"` + Stat *string `pulumi:"stat"` +} + +// SloObjectiveCountMetricGoodCloudwatchInput is an input type that accepts SloObjectiveCountMetricGoodCloudwatchArgs and SloObjectiveCountMetricGoodCloudwatchOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodCloudwatchInput` via: +// +// SloObjectiveCountMetricGoodCloudwatchArgs{...} +type SloObjectiveCountMetricGoodCloudwatchInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodCloudwatchOutput() SloObjectiveCountMetricGoodCloudwatchOutput + ToSloObjectiveCountMetricGoodCloudwatchOutputWithContext(context.Context) SloObjectiveCountMetricGoodCloudwatchOutput +} + +type SloObjectiveCountMetricGoodCloudwatchArgs struct { + Dimensions SloObjectiveCountMetricGoodCloudwatchDimensionArrayInput `pulumi:"dimensions"` + Json pulumi.StringPtrInput `pulumi:"json"` + MetricName pulumi.StringPtrInput `pulumi:"metricName"` + Namespace pulumi.StringPtrInput `pulumi:"namespace"` + Region pulumi.StringInput `pulumi:"region"` + Sql pulumi.StringPtrInput `pulumi:"sql"` + Stat pulumi.StringPtrInput `pulumi:"stat"` +} + +func (SloObjectiveCountMetricGoodCloudwatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodCloudwatch)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodCloudwatchArgs) ToSloObjectiveCountMetricGoodCloudwatchOutput() SloObjectiveCountMetricGoodCloudwatchOutput { + return i.ToSloObjectiveCountMetricGoodCloudwatchOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodCloudwatchArgs) ToSloObjectiveCountMetricGoodCloudwatchOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodCloudwatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodCloudwatchOutput) +} + +// SloObjectiveCountMetricGoodCloudwatchArrayInput is an input type that accepts SloObjectiveCountMetricGoodCloudwatchArray and SloObjectiveCountMetricGoodCloudwatchArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodCloudwatchArrayInput` via: +// +// SloObjectiveCountMetricGoodCloudwatchArray{ SloObjectiveCountMetricGoodCloudwatchArgs{...} } +type SloObjectiveCountMetricGoodCloudwatchArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodCloudwatchArrayOutput() SloObjectiveCountMetricGoodCloudwatchArrayOutput + ToSloObjectiveCountMetricGoodCloudwatchArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodCloudwatchArrayOutput +} + +type SloObjectiveCountMetricGoodCloudwatchArray []SloObjectiveCountMetricGoodCloudwatchInput + +func (SloObjectiveCountMetricGoodCloudwatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodCloudwatch)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodCloudwatchArray) ToSloObjectiveCountMetricGoodCloudwatchArrayOutput() SloObjectiveCountMetricGoodCloudwatchArrayOutput { + return i.ToSloObjectiveCountMetricGoodCloudwatchArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodCloudwatchArray) ToSloObjectiveCountMetricGoodCloudwatchArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodCloudwatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodCloudwatchArrayOutput) +} + +type SloObjectiveCountMetricGoodCloudwatchOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodCloudwatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodCloudwatch)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodCloudwatchOutput) ToSloObjectiveCountMetricGoodCloudwatchOutput() SloObjectiveCountMetricGoodCloudwatchOutput { + return o +} + +func (o SloObjectiveCountMetricGoodCloudwatchOutput) ToSloObjectiveCountMetricGoodCloudwatchOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodCloudwatchOutput { + return o +} + +func (o SloObjectiveCountMetricGoodCloudwatchOutput) Dimensions() SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodCloudwatch) []SloObjectiveCountMetricGoodCloudwatchDimension { + return v.Dimensions + }).(SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput) +} + +func (o SloObjectiveCountMetricGoodCloudwatchOutput) Json() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodCloudwatch) *string { return v.Json }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricGoodCloudwatchOutput) MetricName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodCloudwatch) *string { return v.MetricName }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricGoodCloudwatchOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodCloudwatch) *string { return v.Namespace }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricGoodCloudwatchOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodCloudwatch) string { return v.Region }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodCloudwatchOutput) Sql() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodCloudwatch) *string { return v.Sql }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricGoodCloudwatchOutput) Stat() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodCloudwatch) *string { return v.Stat }).(pulumi.StringPtrOutput) +} + +type SloObjectiveCountMetricGoodCloudwatchArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodCloudwatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodCloudwatch)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodCloudwatchArrayOutput) ToSloObjectiveCountMetricGoodCloudwatchArrayOutput() SloObjectiveCountMetricGoodCloudwatchArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodCloudwatchArrayOutput) ToSloObjectiveCountMetricGoodCloudwatchArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodCloudwatchArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodCloudwatchArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodCloudwatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodCloudwatch { + return vs[0].([]SloObjectiveCountMetricGoodCloudwatch)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodCloudwatchOutput) +} + +type SloObjectiveCountMetricGoodCloudwatchDimension struct { + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name string `pulumi:"name"` + Value string `pulumi:"value"` +} + +// SloObjectiveCountMetricGoodCloudwatchDimensionInput is an input type that accepts SloObjectiveCountMetricGoodCloudwatchDimensionArgs and SloObjectiveCountMetricGoodCloudwatchDimensionOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodCloudwatchDimensionInput` via: +// +// SloObjectiveCountMetricGoodCloudwatchDimensionArgs{...} +type SloObjectiveCountMetricGoodCloudwatchDimensionInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodCloudwatchDimensionOutput() SloObjectiveCountMetricGoodCloudwatchDimensionOutput + ToSloObjectiveCountMetricGoodCloudwatchDimensionOutputWithContext(context.Context) SloObjectiveCountMetricGoodCloudwatchDimensionOutput +} + +type SloObjectiveCountMetricGoodCloudwatchDimensionArgs struct { + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringInput `pulumi:"name"` + Value pulumi.StringInput `pulumi:"value"` +} + +func (SloObjectiveCountMetricGoodCloudwatchDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodCloudwatchDimension)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodCloudwatchDimensionArgs) ToSloObjectiveCountMetricGoodCloudwatchDimensionOutput() SloObjectiveCountMetricGoodCloudwatchDimensionOutput { + return i.ToSloObjectiveCountMetricGoodCloudwatchDimensionOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodCloudwatchDimensionArgs) ToSloObjectiveCountMetricGoodCloudwatchDimensionOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodCloudwatchDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodCloudwatchDimensionOutput) +} + +// SloObjectiveCountMetricGoodCloudwatchDimensionArrayInput is an input type that accepts SloObjectiveCountMetricGoodCloudwatchDimensionArray and SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodCloudwatchDimensionArrayInput` via: +// +// SloObjectiveCountMetricGoodCloudwatchDimensionArray{ SloObjectiveCountMetricGoodCloudwatchDimensionArgs{...} } +type SloObjectiveCountMetricGoodCloudwatchDimensionArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput() SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput + ToSloObjectiveCountMetricGoodCloudwatchDimensionArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput +} + +type SloObjectiveCountMetricGoodCloudwatchDimensionArray []SloObjectiveCountMetricGoodCloudwatchDimensionInput + +func (SloObjectiveCountMetricGoodCloudwatchDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodCloudwatchDimension)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodCloudwatchDimensionArray) ToSloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput() SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput { + return i.ToSloObjectiveCountMetricGoodCloudwatchDimensionArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodCloudwatchDimensionArray) ToSloObjectiveCountMetricGoodCloudwatchDimensionArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput) +} + +type SloObjectiveCountMetricGoodCloudwatchDimensionOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodCloudwatchDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodCloudwatchDimension)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodCloudwatchDimensionOutput) ToSloObjectiveCountMetricGoodCloudwatchDimensionOutput() SloObjectiveCountMetricGoodCloudwatchDimensionOutput { + return o +} + +func (o SloObjectiveCountMetricGoodCloudwatchDimensionOutput) ToSloObjectiveCountMetricGoodCloudwatchDimensionOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodCloudwatchDimensionOutput { + return o +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o SloObjectiveCountMetricGoodCloudwatchDimensionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodCloudwatchDimension) string { return v.Name }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodCloudwatchDimensionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodCloudwatchDimension) string { return v.Value }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodCloudwatchDimension)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput) ToSloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput() SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput) ToSloObjectiveCountMetricGoodCloudwatchDimensionArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodCloudwatchDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodCloudwatchDimension { + return vs[0].([]SloObjectiveCountMetricGoodCloudwatchDimension)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodCloudwatchDimensionOutput) +} + +type SloObjectiveCountMetricGoodDatadog struct { + Query string `pulumi:"query"` +} + +// SloObjectiveCountMetricGoodDatadogInput is an input type that accepts SloObjectiveCountMetricGoodDatadogArgs and SloObjectiveCountMetricGoodDatadogOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodDatadogInput` via: +// +// SloObjectiveCountMetricGoodDatadogArgs{...} +type SloObjectiveCountMetricGoodDatadogInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodDatadogOutput() SloObjectiveCountMetricGoodDatadogOutput + ToSloObjectiveCountMetricGoodDatadogOutputWithContext(context.Context) SloObjectiveCountMetricGoodDatadogOutput +} + +type SloObjectiveCountMetricGoodDatadogArgs struct { + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveCountMetricGoodDatadogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodDatadog)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodDatadogArgs) ToSloObjectiveCountMetricGoodDatadogOutput() SloObjectiveCountMetricGoodDatadogOutput { + return i.ToSloObjectiveCountMetricGoodDatadogOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodDatadogArgs) ToSloObjectiveCountMetricGoodDatadogOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodDatadogOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodDatadogOutput) +} + +// SloObjectiveCountMetricGoodDatadogArrayInput is an input type that accepts SloObjectiveCountMetricGoodDatadogArray and SloObjectiveCountMetricGoodDatadogArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodDatadogArrayInput` via: +// +// SloObjectiveCountMetricGoodDatadogArray{ SloObjectiveCountMetricGoodDatadogArgs{...} } +type SloObjectiveCountMetricGoodDatadogArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodDatadogArrayOutput() SloObjectiveCountMetricGoodDatadogArrayOutput + ToSloObjectiveCountMetricGoodDatadogArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodDatadogArrayOutput +} + +type SloObjectiveCountMetricGoodDatadogArray []SloObjectiveCountMetricGoodDatadogInput + +func (SloObjectiveCountMetricGoodDatadogArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodDatadog)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodDatadogArray) ToSloObjectiveCountMetricGoodDatadogArrayOutput() SloObjectiveCountMetricGoodDatadogArrayOutput { + return i.ToSloObjectiveCountMetricGoodDatadogArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodDatadogArray) ToSloObjectiveCountMetricGoodDatadogArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodDatadogArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodDatadogArrayOutput) +} + +type SloObjectiveCountMetricGoodDatadogOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodDatadogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodDatadog)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodDatadogOutput) ToSloObjectiveCountMetricGoodDatadogOutput() SloObjectiveCountMetricGoodDatadogOutput { + return o +} + +func (o SloObjectiveCountMetricGoodDatadogOutput) ToSloObjectiveCountMetricGoodDatadogOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodDatadogOutput { + return o +} + +func (o SloObjectiveCountMetricGoodDatadogOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodDatadog) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodDatadogArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodDatadogArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodDatadog)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodDatadogArrayOutput) ToSloObjectiveCountMetricGoodDatadogArrayOutput() SloObjectiveCountMetricGoodDatadogArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodDatadogArrayOutput) ToSloObjectiveCountMetricGoodDatadogArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodDatadogArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodDatadogArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodDatadogOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodDatadog { + return vs[0].([]SloObjectiveCountMetricGoodDatadog)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodDatadogOutput) +} + +type SloObjectiveCountMetricGoodDynatrace struct { + MetricSelector string `pulumi:"metricSelector"` +} + +// SloObjectiveCountMetricGoodDynatraceInput is an input type that accepts SloObjectiveCountMetricGoodDynatraceArgs and SloObjectiveCountMetricGoodDynatraceOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodDynatraceInput` via: +// +// SloObjectiveCountMetricGoodDynatraceArgs{...} +type SloObjectiveCountMetricGoodDynatraceInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodDynatraceOutput() SloObjectiveCountMetricGoodDynatraceOutput + ToSloObjectiveCountMetricGoodDynatraceOutputWithContext(context.Context) SloObjectiveCountMetricGoodDynatraceOutput +} + +type SloObjectiveCountMetricGoodDynatraceArgs struct { + MetricSelector pulumi.StringInput `pulumi:"metricSelector"` +} + +func (SloObjectiveCountMetricGoodDynatraceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodDynatrace)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodDynatraceArgs) ToSloObjectiveCountMetricGoodDynatraceOutput() SloObjectiveCountMetricGoodDynatraceOutput { + return i.ToSloObjectiveCountMetricGoodDynatraceOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodDynatraceArgs) ToSloObjectiveCountMetricGoodDynatraceOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodDynatraceOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodDynatraceOutput) +} + +// SloObjectiveCountMetricGoodDynatraceArrayInput is an input type that accepts SloObjectiveCountMetricGoodDynatraceArray and SloObjectiveCountMetricGoodDynatraceArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodDynatraceArrayInput` via: +// +// SloObjectiveCountMetricGoodDynatraceArray{ SloObjectiveCountMetricGoodDynatraceArgs{...} } +type SloObjectiveCountMetricGoodDynatraceArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodDynatraceArrayOutput() SloObjectiveCountMetricGoodDynatraceArrayOutput + ToSloObjectiveCountMetricGoodDynatraceArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodDynatraceArrayOutput +} + +type SloObjectiveCountMetricGoodDynatraceArray []SloObjectiveCountMetricGoodDynatraceInput + +func (SloObjectiveCountMetricGoodDynatraceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodDynatrace)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodDynatraceArray) ToSloObjectiveCountMetricGoodDynatraceArrayOutput() SloObjectiveCountMetricGoodDynatraceArrayOutput { + return i.ToSloObjectiveCountMetricGoodDynatraceArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodDynatraceArray) ToSloObjectiveCountMetricGoodDynatraceArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodDynatraceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodDynatraceArrayOutput) +} + +type SloObjectiveCountMetricGoodDynatraceOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodDynatraceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodDynatrace)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodDynatraceOutput) ToSloObjectiveCountMetricGoodDynatraceOutput() SloObjectiveCountMetricGoodDynatraceOutput { + return o +} + +func (o SloObjectiveCountMetricGoodDynatraceOutput) ToSloObjectiveCountMetricGoodDynatraceOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodDynatraceOutput { + return o +} + +func (o SloObjectiveCountMetricGoodDynatraceOutput) MetricSelector() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodDynatrace) string { return v.MetricSelector }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodDynatraceArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodDynatraceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodDynatrace)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodDynatraceArrayOutput) ToSloObjectiveCountMetricGoodDynatraceArrayOutput() SloObjectiveCountMetricGoodDynatraceArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodDynatraceArrayOutput) ToSloObjectiveCountMetricGoodDynatraceArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodDynatraceArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodDynatraceArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodDynatraceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodDynatrace { + return vs[0].([]SloObjectiveCountMetricGoodDynatrace)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodDynatraceOutput) +} + +type SloObjectiveCountMetricGoodElasticsearch struct { + Index string `pulumi:"index"` + Query string `pulumi:"query"` +} + +// SloObjectiveCountMetricGoodElasticsearchInput is an input type that accepts SloObjectiveCountMetricGoodElasticsearchArgs and SloObjectiveCountMetricGoodElasticsearchOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodElasticsearchInput` via: +// +// SloObjectiveCountMetricGoodElasticsearchArgs{...} +type SloObjectiveCountMetricGoodElasticsearchInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodElasticsearchOutput() SloObjectiveCountMetricGoodElasticsearchOutput + ToSloObjectiveCountMetricGoodElasticsearchOutputWithContext(context.Context) SloObjectiveCountMetricGoodElasticsearchOutput +} + +type SloObjectiveCountMetricGoodElasticsearchArgs struct { + Index pulumi.StringInput `pulumi:"index"` + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveCountMetricGoodElasticsearchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodElasticsearch)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodElasticsearchArgs) ToSloObjectiveCountMetricGoodElasticsearchOutput() SloObjectiveCountMetricGoodElasticsearchOutput { + return i.ToSloObjectiveCountMetricGoodElasticsearchOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodElasticsearchArgs) ToSloObjectiveCountMetricGoodElasticsearchOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodElasticsearchOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodElasticsearchOutput) +} + +// SloObjectiveCountMetricGoodElasticsearchArrayInput is an input type that accepts SloObjectiveCountMetricGoodElasticsearchArray and SloObjectiveCountMetricGoodElasticsearchArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodElasticsearchArrayInput` via: +// +// SloObjectiveCountMetricGoodElasticsearchArray{ SloObjectiveCountMetricGoodElasticsearchArgs{...} } +type SloObjectiveCountMetricGoodElasticsearchArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodElasticsearchArrayOutput() SloObjectiveCountMetricGoodElasticsearchArrayOutput + ToSloObjectiveCountMetricGoodElasticsearchArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodElasticsearchArrayOutput +} + +type SloObjectiveCountMetricGoodElasticsearchArray []SloObjectiveCountMetricGoodElasticsearchInput + +func (SloObjectiveCountMetricGoodElasticsearchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodElasticsearch)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodElasticsearchArray) ToSloObjectiveCountMetricGoodElasticsearchArrayOutput() SloObjectiveCountMetricGoodElasticsearchArrayOutput { + return i.ToSloObjectiveCountMetricGoodElasticsearchArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodElasticsearchArray) ToSloObjectiveCountMetricGoodElasticsearchArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodElasticsearchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodElasticsearchArrayOutput) +} + +type SloObjectiveCountMetricGoodElasticsearchOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodElasticsearchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodElasticsearch)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodElasticsearchOutput) ToSloObjectiveCountMetricGoodElasticsearchOutput() SloObjectiveCountMetricGoodElasticsearchOutput { + return o +} + +func (o SloObjectiveCountMetricGoodElasticsearchOutput) ToSloObjectiveCountMetricGoodElasticsearchOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodElasticsearchOutput { + return o +} + +func (o SloObjectiveCountMetricGoodElasticsearchOutput) Index() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodElasticsearch) string { return v.Index }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodElasticsearchOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodElasticsearch) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodElasticsearchArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodElasticsearchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodElasticsearch)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodElasticsearchArrayOutput) ToSloObjectiveCountMetricGoodElasticsearchArrayOutput() SloObjectiveCountMetricGoodElasticsearchArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodElasticsearchArrayOutput) ToSloObjectiveCountMetricGoodElasticsearchArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodElasticsearchArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodElasticsearchArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodElasticsearchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodElasticsearch { + return vs[0].([]SloObjectiveCountMetricGoodElasticsearch)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodElasticsearchOutput) +} + +type SloObjectiveCountMetricGoodGcm struct { + ProjectId string `pulumi:"projectId"` + Query string `pulumi:"query"` +} + +// SloObjectiveCountMetricGoodGcmInput is an input type that accepts SloObjectiveCountMetricGoodGcmArgs and SloObjectiveCountMetricGoodGcmOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodGcmInput` via: +// +// SloObjectiveCountMetricGoodGcmArgs{...} +type SloObjectiveCountMetricGoodGcmInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodGcmOutput() SloObjectiveCountMetricGoodGcmOutput + ToSloObjectiveCountMetricGoodGcmOutputWithContext(context.Context) SloObjectiveCountMetricGoodGcmOutput +} + +type SloObjectiveCountMetricGoodGcmArgs struct { + ProjectId pulumi.StringInput `pulumi:"projectId"` + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveCountMetricGoodGcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodGcm)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodGcmArgs) ToSloObjectiveCountMetricGoodGcmOutput() SloObjectiveCountMetricGoodGcmOutput { + return i.ToSloObjectiveCountMetricGoodGcmOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodGcmArgs) ToSloObjectiveCountMetricGoodGcmOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodGcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodGcmOutput) +} + +// SloObjectiveCountMetricGoodGcmArrayInput is an input type that accepts SloObjectiveCountMetricGoodGcmArray and SloObjectiveCountMetricGoodGcmArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodGcmArrayInput` via: +// +// SloObjectiveCountMetricGoodGcmArray{ SloObjectiveCountMetricGoodGcmArgs{...} } +type SloObjectiveCountMetricGoodGcmArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodGcmArrayOutput() SloObjectiveCountMetricGoodGcmArrayOutput + ToSloObjectiveCountMetricGoodGcmArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodGcmArrayOutput +} + +type SloObjectiveCountMetricGoodGcmArray []SloObjectiveCountMetricGoodGcmInput + +func (SloObjectiveCountMetricGoodGcmArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodGcm)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodGcmArray) ToSloObjectiveCountMetricGoodGcmArrayOutput() SloObjectiveCountMetricGoodGcmArrayOutput { + return i.ToSloObjectiveCountMetricGoodGcmArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodGcmArray) ToSloObjectiveCountMetricGoodGcmArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodGcmArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodGcmArrayOutput) +} + +type SloObjectiveCountMetricGoodGcmOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodGcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodGcm)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodGcmOutput) ToSloObjectiveCountMetricGoodGcmOutput() SloObjectiveCountMetricGoodGcmOutput { + return o +} + +func (o SloObjectiveCountMetricGoodGcmOutput) ToSloObjectiveCountMetricGoodGcmOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodGcmOutput { + return o +} + +func (o SloObjectiveCountMetricGoodGcmOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodGcm) string { return v.ProjectId }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodGcmOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodGcm) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodGcmArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodGcmArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodGcm)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodGcmArrayOutput) ToSloObjectiveCountMetricGoodGcmArrayOutput() SloObjectiveCountMetricGoodGcmArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodGcmArrayOutput) ToSloObjectiveCountMetricGoodGcmArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodGcmArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodGcmArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodGcmOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodGcm { + return vs[0].([]SloObjectiveCountMetricGoodGcm)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodGcmOutput) +} + +type SloObjectiveCountMetricGoodGrafanaLoki struct { + Logql string `pulumi:"logql"` +} + +// SloObjectiveCountMetricGoodGrafanaLokiInput is an input type that accepts SloObjectiveCountMetricGoodGrafanaLokiArgs and SloObjectiveCountMetricGoodGrafanaLokiOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodGrafanaLokiInput` via: +// +// SloObjectiveCountMetricGoodGrafanaLokiArgs{...} +type SloObjectiveCountMetricGoodGrafanaLokiInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodGrafanaLokiOutput() SloObjectiveCountMetricGoodGrafanaLokiOutput + ToSloObjectiveCountMetricGoodGrafanaLokiOutputWithContext(context.Context) SloObjectiveCountMetricGoodGrafanaLokiOutput +} + +type SloObjectiveCountMetricGoodGrafanaLokiArgs struct { + Logql pulumi.StringInput `pulumi:"logql"` +} + +func (SloObjectiveCountMetricGoodGrafanaLokiArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodGrafanaLoki)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodGrafanaLokiArgs) ToSloObjectiveCountMetricGoodGrafanaLokiOutput() SloObjectiveCountMetricGoodGrafanaLokiOutput { + return i.ToSloObjectiveCountMetricGoodGrafanaLokiOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodGrafanaLokiArgs) ToSloObjectiveCountMetricGoodGrafanaLokiOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodGrafanaLokiOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodGrafanaLokiOutput) +} + +// SloObjectiveCountMetricGoodGrafanaLokiArrayInput is an input type that accepts SloObjectiveCountMetricGoodGrafanaLokiArray and SloObjectiveCountMetricGoodGrafanaLokiArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodGrafanaLokiArrayInput` via: +// +// SloObjectiveCountMetricGoodGrafanaLokiArray{ SloObjectiveCountMetricGoodGrafanaLokiArgs{...} } +type SloObjectiveCountMetricGoodGrafanaLokiArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodGrafanaLokiArrayOutput() SloObjectiveCountMetricGoodGrafanaLokiArrayOutput + ToSloObjectiveCountMetricGoodGrafanaLokiArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodGrafanaLokiArrayOutput +} + +type SloObjectiveCountMetricGoodGrafanaLokiArray []SloObjectiveCountMetricGoodGrafanaLokiInput + +func (SloObjectiveCountMetricGoodGrafanaLokiArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodGrafanaLoki)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodGrafanaLokiArray) ToSloObjectiveCountMetricGoodGrafanaLokiArrayOutput() SloObjectiveCountMetricGoodGrafanaLokiArrayOutput { + return i.ToSloObjectiveCountMetricGoodGrafanaLokiArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodGrafanaLokiArray) ToSloObjectiveCountMetricGoodGrafanaLokiArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodGrafanaLokiArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodGrafanaLokiArrayOutput) +} + +type SloObjectiveCountMetricGoodGrafanaLokiOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodGrafanaLokiOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodGrafanaLoki)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodGrafanaLokiOutput) ToSloObjectiveCountMetricGoodGrafanaLokiOutput() SloObjectiveCountMetricGoodGrafanaLokiOutput { + return o +} + +func (o SloObjectiveCountMetricGoodGrafanaLokiOutput) ToSloObjectiveCountMetricGoodGrafanaLokiOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodGrafanaLokiOutput { + return o +} + +func (o SloObjectiveCountMetricGoodGrafanaLokiOutput) Logql() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodGrafanaLoki) string { return v.Logql }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodGrafanaLokiArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodGrafanaLokiArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodGrafanaLoki)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodGrafanaLokiArrayOutput) ToSloObjectiveCountMetricGoodGrafanaLokiArrayOutput() SloObjectiveCountMetricGoodGrafanaLokiArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodGrafanaLokiArrayOutput) ToSloObjectiveCountMetricGoodGrafanaLokiArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodGrafanaLokiArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodGrafanaLokiArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodGrafanaLokiOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodGrafanaLoki { + return vs[0].([]SloObjectiveCountMetricGoodGrafanaLoki)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodGrafanaLokiOutput) +} + +type SloObjectiveCountMetricGoodGraphite struct { + MetricPath string `pulumi:"metricPath"` +} + +// SloObjectiveCountMetricGoodGraphiteInput is an input type that accepts SloObjectiveCountMetricGoodGraphiteArgs and SloObjectiveCountMetricGoodGraphiteOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodGraphiteInput` via: +// +// SloObjectiveCountMetricGoodGraphiteArgs{...} +type SloObjectiveCountMetricGoodGraphiteInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodGraphiteOutput() SloObjectiveCountMetricGoodGraphiteOutput + ToSloObjectiveCountMetricGoodGraphiteOutputWithContext(context.Context) SloObjectiveCountMetricGoodGraphiteOutput +} + +type SloObjectiveCountMetricGoodGraphiteArgs struct { + MetricPath pulumi.StringInput `pulumi:"metricPath"` +} + +func (SloObjectiveCountMetricGoodGraphiteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodGraphite)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodGraphiteArgs) ToSloObjectiveCountMetricGoodGraphiteOutput() SloObjectiveCountMetricGoodGraphiteOutput { + return i.ToSloObjectiveCountMetricGoodGraphiteOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodGraphiteArgs) ToSloObjectiveCountMetricGoodGraphiteOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodGraphiteOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodGraphiteOutput) +} + +// SloObjectiveCountMetricGoodGraphiteArrayInput is an input type that accepts SloObjectiveCountMetricGoodGraphiteArray and SloObjectiveCountMetricGoodGraphiteArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodGraphiteArrayInput` via: +// +// SloObjectiveCountMetricGoodGraphiteArray{ SloObjectiveCountMetricGoodGraphiteArgs{...} } +type SloObjectiveCountMetricGoodGraphiteArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodGraphiteArrayOutput() SloObjectiveCountMetricGoodGraphiteArrayOutput + ToSloObjectiveCountMetricGoodGraphiteArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodGraphiteArrayOutput +} + +type SloObjectiveCountMetricGoodGraphiteArray []SloObjectiveCountMetricGoodGraphiteInput + +func (SloObjectiveCountMetricGoodGraphiteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodGraphite)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodGraphiteArray) ToSloObjectiveCountMetricGoodGraphiteArrayOutput() SloObjectiveCountMetricGoodGraphiteArrayOutput { + return i.ToSloObjectiveCountMetricGoodGraphiteArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodGraphiteArray) ToSloObjectiveCountMetricGoodGraphiteArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodGraphiteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodGraphiteArrayOutput) +} + +type SloObjectiveCountMetricGoodGraphiteOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodGraphiteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodGraphite)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodGraphiteOutput) ToSloObjectiveCountMetricGoodGraphiteOutput() SloObjectiveCountMetricGoodGraphiteOutput { + return o +} + +func (o SloObjectiveCountMetricGoodGraphiteOutput) ToSloObjectiveCountMetricGoodGraphiteOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodGraphiteOutput { + return o +} + +func (o SloObjectiveCountMetricGoodGraphiteOutput) MetricPath() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodGraphite) string { return v.MetricPath }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodGraphiteArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodGraphiteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodGraphite)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodGraphiteArrayOutput) ToSloObjectiveCountMetricGoodGraphiteArrayOutput() SloObjectiveCountMetricGoodGraphiteArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodGraphiteArrayOutput) ToSloObjectiveCountMetricGoodGraphiteArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodGraphiteArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodGraphiteArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodGraphiteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodGraphite { + return vs[0].([]SloObjectiveCountMetricGoodGraphite)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodGraphiteOutput) +} + +type SloObjectiveCountMetricGoodInfluxdb struct { + Query string `pulumi:"query"` +} + +// SloObjectiveCountMetricGoodInfluxdbInput is an input type that accepts SloObjectiveCountMetricGoodInfluxdbArgs and SloObjectiveCountMetricGoodInfluxdbOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodInfluxdbInput` via: +// +// SloObjectiveCountMetricGoodInfluxdbArgs{...} +type SloObjectiveCountMetricGoodInfluxdbInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodInfluxdbOutput() SloObjectiveCountMetricGoodInfluxdbOutput + ToSloObjectiveCountMetricGoodInfluxdbOutputWithContext(context.Context) SloObjectiveCountMetricGoodInfluxdbOutput +} + +type SloObjectiveCountMetricGoodInfluxdbArgs struct { + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveCountMetricGoodInfluxdbArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodInfluxdb)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodInfluxdbArgs) ToSloObjectiveCountMetricGoodInfluxdbOutput() SloObjectiveCountMetricGoodInfluxdbOutput { + return i.ToSloObjectiveCountMetricGoodInfluxdbOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodInfluxdbArgs) ToSloObjectiveCountMetricGoodInfluxdbOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInfluxdbOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodInfluxdbOutput) +} + +// SloObjectiveCountMetricGoodInfluxdbArrayInput is an input type that accepts SloObjectiveCountMetricGoodInfluxdbArray and SloObjectiveCountMetricGoodInfluxdbArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodInfluxdbArrayInput` via: +// +// SloObjectiveCountMetricGoodInfluxdbArray{ SloObjectiveCountMetricGoodInfluxdbArgs{...} } +type SloObjectiveCountMetricGoodInfluxdbArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodInfluxdbArrayOutput() SloObjectiveCountMetricGoodInfluxdbArrayOutput + ToSloObjectiveCountMetricGoodInfluxdbArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodInfluxdbArrayOutput +} + +type SloObjectiveCountMetricGoodInfluxdbArray []SloObjectiveCountMetricGoodInfluxdbInput + +func (SloObjectiveCountMetricGoodInfluxdbArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodInfluxdb)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodInfluxdbArray) ToSloObjectiveCountMetricGoodInfluxdbArrayOutput() SloObjectiveCountMetricGoodInfluxdbArrayOutput { + return i.ToSloObjectiveCountMetricGoodInfluxdbArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodInfluxdbArray) ToSloObjectiveCountMetricGoodInfluxdbArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInfluxdbArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodInfluxdbArrayOutput) +} + +type SloObjectiveCountMetricGoodInfluxdbOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodInfluxdbOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodInfluxdb)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodInfluxdbOutput) ToSloObjectiveCountMetricGoodInfluxdbOutput() SloObjectiveCountMetricGoodInfluxdbOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInfluxdbOutput) ToSloObjectiveCountMetricGoodInfluxdbOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInfluxdbOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInfluxdbOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInfluxdb) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodInfluxdbArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodInfluxdbArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodInfluxdb)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodInfluxdbArrayOutput) ToSloObjectiveCountMetricGoodInfluxdbArrayOutput() SloObjectiveCountMetricGoodInfluxdbArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInfluxdbArrayOutput) ToSloObjectiveCountMetricGoodInfluxdbArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInfluxdbArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInfluxdbArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodInfluxdbOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodInfluxdb { + return vs[0].([]SloObjectiveCountMetricGoodInfluxdb)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodInfluxdbOutput) +} + +type SloObjectiveCountMetricGoodInstana struct { + Applications []SloObjectiveCountMetricGoodInstanaApplication `pulumi:"applications"` + Infrastructures []SloObjectiveCountMetricGoodInstanaInfrastructure `pulumi:"infrastructures"` + MetricType string `pulumi:"metricType"` +} + +// SloObjectiveCountMetricGoodInstanaInput is an input type that accepts SloObjectiveCountMetricGoodInstanaArgs and SloObjectiveCountMetricGoodInstanaOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodInstanaInput` via: +// +// SloObjectiveCountMetricGoodInstanaArgs{...} +type SloObjectiveCountMetricGoodInstanaInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodInstanaOutput() SloObjectiveCountMetricGoodInstanaOutput + ToSloObjectiveCountMetricGoodInstanaOutputWithContext(context.Context) SloObjectiveCountMetricGoodInstanaOutput +} + +type SloObjectiveCountMetricGoodInstanaArgs struct { + Applications SloObjectiveCountMetricGoodInstanaApplicationArrayInput `pulumi:"applications"` + Infrastructures SloObjectiveCountMetricGoodInstanaInfrastructureArrayInput `pulumi:"infrastructures"` + MetricType pulumi.StringInput `pulumi:"metricType"` +} + +func (SloObjectiveCountMetricGoodInstanaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodInstana)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodInstanaArgs) ToSloObjectiveCountMetricGoodInstanaOutput() SloObjectiveCountMetricGoodInstanaOutput { + return i.ToSloObjectiveCountMetricGoodInstanaOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodInstanaArgs) ToSloObjectiveCountMetricGoodInstanaOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodInstanaOutput) +} + +// SloObjectiveCountMetricGoodInstanaArrayInput is an input type that accepts SloObjectiveCountMetricGoodInstanaArray and SloObjectiveCountMetricGoodInstanaArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodInstanaArrayInput` via: +// +// SloObjectiveCountMetricGoodInstanaArray{ SloObjectiveCountMetricGoodInstanaArgs{...} } +type SloObjectiveCountMetricGoodInstanaArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodInstanaArrayOutput() SloObjectiveCountMetricGoodInstanaArrayOutput + ToSloObjectiveCountMetricGoodInstanaArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodInstanaArrayOutput +} + +type SloObjectiveCountMetricGoodInstanaArray []SloObjectiveCountMetricGoodInstanaInput + +func (SloObjectiveCountMetricGoodInstanaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodInstana)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodInstanaArray) ToSloObjectiveCountMetricGoodInstanaArrayOutput() SloObjectiveCountMetricGoodInstanaArrayOutput { + return i.ToSloObjectiveCountMetricGoodInstanaArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodInstanaArray) ToSloObjectiveCountMetricGoodInstanaArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodInstanaArrayOutput) +} + +type SloObjectiveCountMetricGoodInstanaOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodInstanaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodInstana)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodInstanaOutput) ToSloObjectiveCountMetricGoodInstanaOutput() SloObjectiveCountMetricGoodInstanaOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaOutput) ToSloObjectiveCountMetricGoodInstanaOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaOutput) Applications() SloObjectiveCountMetricGoodInstanaApplicationArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstana) []SloObjectiveCountMetricGoodInstanaApplication { + return v.Applications + }).(SloObjectiveCountMetricGoodInstanaApplicationArrayOutput) +} + +func (o SloObjectiveCountMetricGoodInstanaOutput) Infrastructures() SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstana) []SloObjectiveCountMetricGoodInstanaInfrastructure { + return v.Infrastructures + }).(SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput) +} + +func (o SloObjectiveCountMetricGoodInstanaOutput) MetricType() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstana) string { return v.MetricType }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodInstanaArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodInstanaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodInstana)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodInstanaArrayOutput) ToSloObjectiveCountMetricGoodInstanaArrayOutput() SloObjectiveCountMetricGoodInstanaArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaArrayOutput) ToSloObjectiveCountMetricGoodInstanaArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodInstanaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodInstana { + return vs[0].([]SloObjectiveCountMetricGoodInstana)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodInstanaOutput) +} + +type SloObjectiveCountMetricGoodInstanaApplication struct { + Aggregation string `pulumi:"aggregation"` + ApiQuery string `pulumi:"apiQuery"` + GroupBies []SloObjectiveCountMetricGoodInstanaApplicationGroupBy `pulumi:"groupBies"` + IncludeInternal *bool `pulumi:"includeInternal"` + IncludeSynthetic *bool `pulumi:"includeSynthetic"` + MetricId string `pulumi:"metricId"` +} + +// SloObjectiveCountMetricGoodInstanaApplicationInput is an input type that accepts SloObjectiveCountMetricGoodInstanaApplicationArgs and SloObjectiveCountMetricGoodInstanaApplicationOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodInstanaApplicationInput` via: +// +// SloObjectiveCountMetricGoodInstanaApplicationArgs{...} +type SloObjectiveCountMetricGoodInstanaApplicationInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodInstanaApplicationOutput() SloObjectiveCountMetricGoodInstanaApplicationOutput + ToSloObjectiveCountMetricGoodInstanaApplicationOutputWithContext(context.Context) SloObjectiveCountMetricGoodInstanaApplicationOutput +} + +type SloObjectiveCountMetricGoodInstanaApplicationArgs struct { + Aggregation pulumi.StringInput `pulumi:"aggregation"` + ApiQuery pulumi.StringInput `pulumi:"apiQuery"` + GroupBies SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayInput `pulumi:"groupBies"` + IncludeInternal pulumi.BoolPtrInput `pulumi:"includeInternal"` + IncludeSynthetic pulumi.BoolPtrInput `pulumi:"includeSynthetic"` + MetricId pulumi.StringInput `pulumi:"metricId"` +} + +func (SloObjectiveCountMetricGoodInstanaApplicationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodInstanaApplication)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodInstanaApplicationArgs) ToSloObjectiveCountMetricGoodInstanaApplicationOutput() SloObjectiveCountMetricGoodInstanaApplicationOutput { + return i.ToSloObjectiveCountMetricGoodInstanaApplicationOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodInstanaApplicationArgs) ToSloObjectiveCountMetricGoodInstanaApplicationOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaApplicationOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodInstanaApplicationOutput) +} + +// SloObjectiveCountMetricGoodInstanaApplicationArrayInput is an input type that accepts SloObjectiveCountMetricGoodInstanaApplicationArray and SloObjectiveCountMetricGoodInstanaApplicationArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodInstanaApplicationArrayInput` via: +// +// SloObjectiveCountMetricGoodInstanaApplicationArray{ SloObjectiveCountMetricGoodInstanaApplicationArgs{...} } +type SloObjectiveCountMetricGoodInstanaApplicationArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodInstanaApplicationArrayOutput() SloObjectiveCountMetricGoodInstanaApplicationArrayOutput + ToSloObjectiveCountMetricGoodInstanaApplicationArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodInstanaApplicationArrayOutput +} + +type SloObjectiveCountMetricGoodInstanaApplicationArray []SloObjectiveCountMetricGoodInstanaApplicationInput + +func (SloObjectiveCountMetricGoodInstanaApplicationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodInstanaApplication)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodInstanaApplicationArray) ToSloObjectiveCountMetricGoodInstanaApplicationArrayOutput() SloObjectiveCountMetricGoodInstanaApplicationArrayOutput { + return i.ToSloObjectiveCountMetricGoodInstanaApplicationArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodInstanaApplicationArray) ToSloObjectiveCountMetricGoodInstanaApplicationArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaApplicationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodInstanaApplicationArrayOutput) +} + +type SloObjectiveCountMetricGoodInstanaApplicationOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodInstanaApplicationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodInstanaApplication)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationOutput) ToSloObjectiveCountMetricGoodInstanaApplicationOutput() SloObjectiveCountMetricGoodInstanaApplicationOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationOutput) ToSloObjectiveCountMetricGoodInstanaApplicationOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaApplicationOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationOutput) Aggregation() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstanaApplication) string { return v.Aggregation }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationOutput) ApiQuery() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstanaApplication) string { return v.ApiQuery }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationOutput) GroupBies() SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstanaApplication) []SloObjectiveCountMetricGoodInstanaApplicationGroupBy { + return v.GroupBies + }).(SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput) +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationOutput) IncludeInternal() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstanaApplication) *bool { return v.IncludeInternal }).(pulumi.BoolPtrOutput) +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationOutput) IncludeSynthetic() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstanaApplication) *bool { return v.IncludeSynthetic }).(pulumi.BoolPtrOutput) +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationOutput) MetricId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstanaApplication) string { return v.MetricId }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodInstanaApplicationArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodInstanaApplicationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodInstanaApplication)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationArrayOutput) ToSloObjectiveCountMetricGoodInstanaApplicationArrayOutput() SloObjectiveCountMetricGoodInstanaApplicationArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationArrayOutput) ToSloObjectiveCountMetricGoodInstanaApplicationArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaApplicationArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodInstanaApplicationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodInstanaApplication { + return vs[0].([]SloObjectiveCountMetricGoodInstanaApplication)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodInstanaApplicationOutput) +} + +type SloObjectiveCountMetricGoodInstanaApplicationGroupBy struct { + Tag string `pulumi:"tag"` + TagEntity string `pulumi:"tagEntity"` + TagSecondLevelKey *string `pulumi:"tagSecondLevelKey"` +} + +// SloObjectiveCountMetricGoodInstanaApplicationGroupByInput is an input type that accepts SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs and SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodInstanaApplicationGroupByInput` via: +// +// SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs{...} +type SloObjectiveCountMetricGoodInstanaApplicationGroupByInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodInstanaApplicationGroupByOutput() SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput + ToSloObjectiveCountMetricGoodInstanaApplicationGroupByOutputWithContext(context.Context) SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput +} + +type SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs struct { + Tag pulumi.StringInput `pulumi:"tag"` + TagEntity pulumi.StringInput `pulumi:"tagEntity"` + TagSecondLevelKey pulumi.StringPtrInput `pulumi:"tagSecondLevelKey"` +} + +func (SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodInstanaApplicationGroupBy)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs) ToSloObjectiveCountMetricGoodInstanaApplicationGroupByOutput() SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput { + return i.ToSloObjectiveCountMetricGoodInstanaApplicationGroupByOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs) ToSloObjectiveCountMetricGoodInstanaApplicationGroupByOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput) +} + +// SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayInput is an input type that accepts SloObjectiveCountMetricGoodInstanaApplicationGroupByArray and SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayInput` via: +// +// SloObjectiveCountMetricGoodInstanaApplicationGroupByArray{ SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs{...} } +type SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput() SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput + ToSloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput +} + +type SloObjectiveCountMetricGoodInstanaApplicationGroupByArray []SloObjectiveCountMetricGoodInstanaApplicationGroupByInput + +func (SloObjectiveCountMetricGoodInstanaApplicationGroupByArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodInstanaApplicationGroupBy)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodInstanaApplicationGroupByArray) ToSloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput() SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput { + return i.ToSloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodInstanaApplicationGroupByArray) ToSloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput) +} + +type SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodInstanaApplicationGroupBy)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput) ToSloObjectiveCountMetricGoodInstanaApplicationGroupByOutput() SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput) ToSloObjectiveCountMetricGoodInstanaApplicationGroupByOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput) Tag() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstanaApplicationGroupBy) string { return v.Tag }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput) TagEntity() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstanaApplicationGroupBy) string { return v.TagEntity }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput) TagSecondLevelKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstanaApplicationGroupBy) *string { return v.TagSecondLevelKey }).(pulumi.StringPtrOutput) +} + +type SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodInstanaApplicationGroupBy)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput) ToSloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput() SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput) ToSloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodInstanaApplicationGroupBy { + return vs[0].([]SloObjectiveCountMetricGoodInstanaApplicationGroupBy)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput) +} + +type SloObjectiveCountMetricGoodInstanaInfrastructure struct { + MetricId string `pulumi:"metricId"` + MetricRetrievalMethod string `pulumi:"metricRetrievalMethod"` + PluginId string `pulumi:"pluginId"` + Query *string `pulumi:"query"` + SnapshotId *string `pulumi:"snapshotId"` +} + +// SloObjectiveCountMetricGoodInstanaInfrastructureInput is an input type that accepts SloObjectiveCountMetricGoodInstanaInfrastructureArgs and SloObjectiveCountMetricGoodInstanaInfrastructureOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodInstanaInfrastructureInput` via: +// +// SloObjectiveCountMetricGoodInstanaInfrastructureArgs{...} +type SloObjectiveCountMetricGoodInstanaInfrastructureInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodInstanaInfrastructureOutput() SloObjectiveCountMetricGoodInstanaInfrastructureOutput + ToSloObjectiveCountMetricGoodInstanaInfrastructureOutputWithContext(context.Context) SloObjectiveCountMetricGoodInstanaInfrastructureOutput +} + +type SloObjectiveCountMetricGoodInstanaInfrastructureArgs struct { + MetricId pulumi.StringInput `pulumi:"metricId"` + MetricRetrievalMethod pulumi.StringInput `pulumi:"metricRetrievalMethod"` + PluginId pulumi.StringInput `pulumi:"pluginId"` + Query pulumi.StringPtrInput `pulumi:"query"` + SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` +} + +func (SloObjectiveCountMetricGoodInstanaInfrastructureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodInstanaInfrastructure)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodInstanaInfrastructureArgs) ToSloObjectiveCountMetricGoodInstanaInfrastructureOutput() SloObjectiveCountMetricGoodInstanaInfrastructureOutput { + return i.ToSloObjectiveCountMetricGoodInstanaInfrastructureOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodInstanaInfrastructureArgs) ToSloObjectiveCountMetricGoodInstanaInfrastructureOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaInfrastructureOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodInstanaInfrastructureOutput) +} + +// SloObjectiveCountMetricGoodInstanaInfrastructureArrayInput is an input type that accepts SloObjectiveCountMetricGoodInstanaInfrastructureArray and SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodInstanaInfrastructureArrayInput` via: +// +// SloObjectiveCountMetricGoodInstanaInfrastructureArray{ SloObjectiveCountMetricGoodInstanaInfrastructureArgs{...} } +type SloObjectiveCountMetricGoodInstanaInfrastructureArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput() SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput + ToSloObjectiveCountMetricGoodInstanaInfrastructureArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput +} + +type SloObjectiveCountMetricGoodInstanaInfrastructureArray []SloObjectiveCountMetricGoodInstanaInfrastructureInput + +func (SloObjectiveCountMetricGoodInstanaInfrastructureArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodInstanaInfrastructure)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodInstanaInfrastructureArray) ToSloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput() SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput { + return i.ToSloObjectiveCountMetricGoodInstanaInfrastructureArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodInstanaInfrastructureArray) ToSloObjectiveCountMetricGoodInstanaInfrastructureArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput) +} + +type SloObjectiveCountMetricGoodInstanaInfrastructureOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodInstanaInfrastructureOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodInstanaInfrastructure)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodInstanaInfrastructureOutput) ToSloObjectiveCountMetricGoodInstanaInfrastructureOutput() SloObjectiveCountMetricGoodInstanaInfrastructureOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaInfrastructureOutput) ToSloObjectiveCountMetricGoodInstanaInfrastructureOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaInfrastructureOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaInfrastructureOutput) MetricId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstanaInfrastructure) string { return v.MetricId }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodInstanaInfrastructureOutput) MetricRetrievalMethod() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstanaInfrastructure) string { return v.MetricRetrievalMethod }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodInstanaInfrastructureOutput) PluginId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstanaInfrastructure) string { return v.PluginId }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodInstanaInfrastructureOutput) Query() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstanaInfrastructure) *string { return v.Query }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricGoodInstanaInfrastructureOutput) SnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodInstanaInfrastructure) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +} + +type SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodInstanaInfrastructure)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput) ToSloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput() SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput) ToSloObjectiveCountMetricGoodInstanaInfrastructureArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodInstanaInfrastructureOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodInstanaInfrastructure { + return vs[0].([]SloObjectiveCountMetricGoodInstanaInfrastructure)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodInstanaInfrastructureOutput) +} + +type SloObjectiveCountMetricGoodLightstep struct { + Percentile *float64 `pulumi:"percentile"` + StreamId *string `pulumi:"streamId"` + TypeOfData string `pulumi:"typeOfData"` + Uql *string `pulumi:"uql"` +} + +// SloObjectiveCountMetricGoodLightstepInput is an input type that accepts SloObjectiveCountMetricGoodLightstepArgs and SloObjectiveCountMetricGoodLightstepOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodLightstepInput` via: +// +// SloObjectiveCountMetricGoodLightstepArgs{...} +type SloObjectiveCountMetricGoodLightstepInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodLightstepOutput() SloObjectiveCountMetricGoodLightstepOutput + ToSloObjectiveCountMetricGoodLightstepOutputWithContext(context.Context) SloObjectiveCountMetricGoodLightstepOutput +} + +type SloObjectiveCountMetricGoodLightstepArgs struct { + Percentile pulumi.Float64PtrInput `pulumi:"percentile"` + StreamId pulumi.StringPtrInput `pulumi:"streamId"` + TypeOfData pulumi.StringInput `pulumi:"typeOfData"` + Uql pulumi.StringPtrInput `pulumi:"uql"` +} + +func (SloObjectiveCountMetricGoodLightstepArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodLightstep)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodLightstepArgs) ToSloObjectiveCountMetricGoodLightstepOutput() SloObjectiveCountMetricGoodLightstepOutput { + return i.ToSloObjectiveCountMetricGoodLightstepOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodLightstepArgs) ToSloObjectiveCountMetricGoodLightstepOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodLightstepOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodLightstepOutput) +} + +// SloObjectiveCountMetricGoodLightstepArrayInput is an input type that accepts SloObjectiveCountMetricGoodLightstepArray and SloObjectiveCountMetricGoodLightstepArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodLightstepArrayInput` via: +// +// SloObjectiveCountMetricGoodLightstepArray{ SloObjectiveCountMetricGoodLightstepArgs{...} } +type SloObjectiveCountMetricGoodLightstepArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodLightstepArrayOutput() SloObjectiveCountMetricGoodLightstepArrayOutput + ToSloObjectiveCountMetricGoodLightstepArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodLightstepArrayOutput +} + +type SloObjectiveCountMetricGoodLightstepArray []SloObjectiveCountMetricGoodLightstepInput + +func (SloObjectiveCountMetricGoodLightstepArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodLightstep)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodLightstepArray) ToSloObjectiveCountMetricGoodLightstepArrayOutput() SloObjectiveCountMetricGoodLightstepArrayOutput { + return i.ToSloObjectiveCountMetricGoodLightstepArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodLightstepArray) ToSloObjectiveCountMetricGoodLightstepArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodLightstepArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodLightstepArrayOutput) +} + +type SloObjectiveCountMetricGoodLightstepOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodLightstepOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodLightstep)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodLightstepOutput) ToSloObjectiveCountMetricGoodLightstepOutput() SloObjectiveCountMetricGoodLightstepOutput { + return o +} + +func (o SloObjectiveCountMetricGoodLightstepOutput) ToSloObjectiveCountMetricGoodLightstepOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodLightstepOutput { + return o +} + +func (o SloObjectiveCountMetricGoodLightstepOutput) Percentile() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodLightstep) *float64 { return v.Percentile }).(pulumi.Float64PtrOutput) +} + +func (o SloObjectiveCountMetricGoodLightstepOutput) StreamId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodLightstep) *string { return v.StreamId }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricGoodLightstepOutput) TypeOfData() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodLightstep) string { return v.TypeOfData }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodLightstepOutput) Uql() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodLightstep) *string { return v.Uql }).(pulumi.StringPtrOutput) +} + +type SloObjectiveCountMetricGoodLightstepArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodLightstepArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodLightstep)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodLightstepArrayOutput) ToSloObjectiveCountMetricGoodLightstepArrayOutput() SloObjectiveCountMetricGoodLightstepArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodLightstepArrayOutput) ToSloObjectiveCountMetricGoodLightstepArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodLightstepArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodLightstepArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodLightstepOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodLightstep { + return vs[0].([]SloObjectiveCountMetricGoodLightstep)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodLightstepOutput) +} + +type SloObjectiveCountMetricGoodNewrelic struct { + Nrql string `pulumi:"nrql"` +} + +// SloObjectiveCountMetricGoodNewrelicInput is an input type that accepts SloObjectiveCountMetricGoodNewrelicArgs and SloObjectiveCountMetricGoodNewrelicOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodNewrelicInput` via: +// +// SloObjectiveCountMetricGoodNewrelicArgs{...} +type SloObjectiveCountMetricGoodNewrelicInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodNewrelicOutput() SloObjectiveCountMetricGoodNewrelicOutput + ToSloObjectiveCountMetricGoodNewrelicOutputWithContext(context.Context) SloObjectiveCountMetricGoodNewrelicOutput +} + +type SloObjectiveCountMetricGoodNewrelicArgs struct { + Nrql pulumi.StringInput `pulumi:"nrql"` +} + +func (SloObjectiveCountMetricGoodNewrelicArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodNewrelic)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodNewrelicArgs) ToSloObjectiveCountMetricGoodNewrelicOutput() SloObjectiveCountMetricGoodNewrelicOutput { + return i.ToSloObjectiveCountMetricGoodNewrelicOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodNewrelicArgs) ToSloObjectiveCountMetricGoodNewrelicOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodNewrelicOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodNewrelicOutput) +} + +// SloObjectiveCountMetricGoodNewrelicArrayInput is an input type that accepts SloObjectiveCountMetricGoodNewrelicArray and SloObjectiveCountMetricGoodNewrelicArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodNewrelicArrayInput` via: +// +// SloObjectiveCountMetricGoodNewrelicArray{ SloObjectiveCountMetricGoodNewrelicArgs{...} } +type SloObjectiveCountMetricGoodNewrelicArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodNewrelicArrayOutput() SloObjectiveCountMetricGoodNewrelicArrayOutput + ToSloObjectiveCountMetricGoodNewrelicArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodNewrelicArrayOutput +} + +type SloObjectiveCountMetricGoodNewrelicArray []SloObjectiveCountMetricGoodNewrelicInput + +func (SloObjectiveCountMetricGoodNewrelicArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodNewrelic)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodNewrelicArray) ToSloObjectiveCountMetricGoodNewrelicArrayOutput() SloObjectiveCountMetricGoodNewrelicArrayOutput { + return i.ToSloObjectiveCountMetricGoodNewrelicArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodNewrelicArray) ToSloObjectiveCountMetricGoodNewrelicArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodNewrelicArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodNewrelicArrayOutput) +} + +type SloObjectiveCountMetricGoodNewrelicOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodNewrelicOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodNewrelic)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodNewrelicOutput) ToSloObjectiveCountMetricGoodNewrelicOutput() SloObjectiveCountMetricGoodNewrelicOutput { + return o +} + +func (o SloObjectiveCountMetricGoodNewrelicOutput) ToSloObjectiveCountMetricGoodNewrelicOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodNewrelicOutput { + return o +} + +func (o SloObjectiveCountMetricGoodNewrelicOutput) Nrql() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodNewrelic) string { return v.Nrql }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodNewrelicArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodNewrelicArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodNewrelic)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodNewrelicArrayOutput) ToSloObjectiveCountMetricGoodNewrelicArrayOutput() SloObjectiveCountMetricGoodNewrelicArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodNewrelicArrayOutput) ToSloObjectiveCountMetricGoodNewrelicArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodNewrelicArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodNewrelicArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodNewrelicOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodNewrelic { + return vs[0].([]SloObjectiveCountMetricGoodNewrelic)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodNewrelicOutput) +} + +type SloObjectiveCountMetricGoodOpentsdb struct { + Query string `pulumi:"query"` +} + +// SloObjectiveCountMetricGoodOpentsdbInput is an input type that accepts SloObjectiveCountMetricGoodOpentsdbArgs and SloObjectiveCountMetricGoodOpentsdbOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodOpentsdbInput` via: +// +// SloObjectiveCountMetricGoodOpentsdbArgs{...} +type SloObjectiveCountMetricGoodOpentsdbInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodOpentsdbOutput() SloObjectiveCountMetricGoodOpentsdbOutput + ToSloObjectiveCountMetricGoodOpentsdbOutputWithContext(context.Context) SloObjectiveCountMetricGoodOpentsdbOutput +} + +type SloObjectiveCountMetricGoodOpentsdbArgs struct { + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveCountMetricGoodOpentsdbArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodOpentsdb)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodOpentsdbArgs) ToSloObjectiveCountMetricGoodOpentsdbOutput() SloObjectiveCountMetricGoodOpentsdbOutput { + return i.ToSloObjectiveCountMetricGoodOpentsdbOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodOpentsdbArgs) ToSloObjectiveCountMetricGoodOpentsdbOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodOpentsdbOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodOpentsdbOutput) +} + +// SloObjectiveCountMetricGoodOpentsdbArrayInput is an input type that accepts SloObjectiveCountMetricGoodOpentsdbArray and SloObjectiveCountMetricGoodOpentsdbArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodOpentsdbArrayInput` via: +// +// SloObjectiveCountMetricGoodOpentsdbArray{ SloObjectiveCountMetricGoodOpentsdbArgs{...} } +type SloObjectiveCountMetricGoodOpentsdbArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodOpentsdbArrayOutput() SloObjectiveCountMetricGoodOpentsdbArrayOutput + ToSloObjectiveCountMetricGoodOpentsdbArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodOpentsdbArrayOutput +} + +type SloObjectiveCountMetricGoodOpentsdbArray []SloObjectiveCountMetricGoodOpentsdbInput + +func (SloObjectiveCountMetricGoodOpentsdbArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodOpentsdb)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodOpentsdbArray) ToSloObjectiveCountMetricGoodOpentsdbArrayOutput() SloObjectiveCountMetricGoodOpentsdbArrayOutput { + return i.ToSloObjectiveCountMetricGoodOpentsdbArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodOpentsdbArray) ToSloObjectiveCountMetricGoodOpentsdbArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodOpentsdbArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodOpentsdbArrayOutput) +} + +type SloObjectiveCountMetricGoodOpentsdbOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodOpentsdbOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodOpentsdb)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodOpentsdbOutput) ToSloObjectiveCountMetricGoodOpentsdbOutput() SloObjectiveCountMetricGoodOpentsdbOutput { + return o +} + +func (o SloObjectiveCountMetricGoodOpentsdbOutput) ToSloObjectiveCountMetricGoodOpentsdbOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodOpentsdbOutput { + return o +} + +func (o SloObjectiveCountMetricGoodOpentsdbOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodOpentsdb) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodOpentsdbArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodOpentsdbArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodOpentsdb)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodOpentsdbArrayOutput) ToSloObjectiveCountMetricGoodOpentsdbArrayOutput() SloObjectiveCountMetricGoodOpentsdbArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodOpentsdbArrayOutput) ToSloObjectiveCountMetricGoodOpentsdbArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodOpentsdbArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodOpentsdbArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodOpentsdbOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodOpentsdb { + return vs[0].([]SloObjectiveCountMetricGoodOpentsdb)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodOpentsdbOutput) +} + +type SloObjectiveCountMetricGoodPingdom struct { + CheckId string `pulumi:"checkId"` + CheckType *string `pulumi:"checkType"` + Status *string `pulumi:"status"` +} + +// SloObjectiveCountMetricGoodPingdomInput is an input type that accepts SloObjectiveCountMetricGoodPingdomArgs and SloObjectiveCountMetricGoodPingdomOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodPingdomInput` via: +// +// SloObjectiveCountMetricGoodPingdomArgs{...} +type SloObjectiveCountMetricGoodPingdomInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodPingdomOutput() SloObjectiveCountMetricGoodPingdomOutput + ToSloObjectiveCountMetricGoodPingdomOutputWithContext(context.Context) SloObjectiveCountMetricGoodPingdomOutput +} + +type SloObjectiveCountMetricGoodPingdomArgs struct { + CheckId pulumi.StringInput `pulumi:"checkId"` + CheckType pulumi.StringPtrInput `pulumi:"checkType"` + Status pulumi.StringPtrInput `pulumi:"status"` +} + +func (SloObjectiveCountMetricGoodPingdomArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodPingdom)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodPingdomArgs) ToSloObjectiveCountMetricGoodPingdomOutput() SloObjectiveCountMetricGoodPingdomOutput { + return i.ToSloObjectiveCountMetricGoodPingdomOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodPingdomArgs) ToSloObjectiveCountMetricGoodPingdomOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodPingdomOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodPingdomOutput) +} + +// SloObjectiveCountMetricGoodPingdomArrayInput is an input type that accepts SloObjectiveCountMetricGoodPingdomArray and SloObjectiveCountMetricGoodPingdomArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodPingdomArrayInput` via: +// +// SloObjectiveCountMetricGoodPingdomArray{ SloObjectiveCountMetricGoodPingdomArgs{...} } +type SloObjectiveCountMetricGoodPingdomArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodPingdomArrayOutput() SloObjectiveCountMetricGoodPingdomArrayOutput + ToSloObjectiveCountMetricGoodPingdomArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodPingdomArrayOutput +} + +type SloObjectiveCountMetricGoodPingdomArray []SloObjectiveCountMetricGoodPingdomInput + +func (SloObjectiveCountMetricGoodPingdomArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodPingdom)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodPingdomArray) ToSloObjectiveCountMetricGoodPingdomArrayOutput() SloObjectiveCountMetricGoodPingdomArrayOutput { + return i.ToSloObjectiveCountMetricGoodPingdomArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodPingdomArray) ToSloObjectiveCountMetricGoodPingdomArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodPingdomArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodPingdomArrayOutput) +} + +type SloObjectiveCountMetricGoodPingdomOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodPingdomOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodPingdom)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodPingdomOutput) ToSloObjectiveCountMetricGoodPingdomOutput() SloObjectiveCountMetricGoodPingdomOutput { + return o +} + +func (o SloObjectiveCountMetricGoodPingdomOutput) ToSloObjectiveCountMetricGoodPingdomOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodPingdomOutput { + return o +} + +func (o SloObjectiveCountMetricGoodPingdomOutput) CheckId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodPingdom) string { return v.CheckId }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodPingdomOutput) CheckType() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodPingdom) *string { return v.CheckType }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricGoodPingdomOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodPingdom) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +type SloObjectiveCountMetricGoodPingdomArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodPingdomArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodPingdom)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodPingdomArrayOutput) ToSloObjectiveCountMetricGoodPingdomArrayOutput() SloObjectiveCountMetricGoodPingdomArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodPingdomArrayOutput) ToSloObjectiveCountMetricGoodPingdomArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodPingdomArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodPingdomArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodPingdomOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodPingdom { + return vs[0].([]SloObjectiveCountMetricGoodPingdom)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodPingdomOutput) +} + +type SloObjectiveCountMetricGoodPrometheus struct { + Promql string `pulumi:"promql"` +} + +// SloObjectiveCountMetricGoodPrometheusInput is an input type that accepts SloObjectiveCountMetricGoodPrometheusArgs and SloObjectiveCountMetricGoodPrometheusOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodPrometheusInput` via: +// +// SloObjectiveCountMetricGoodPrometheusArgs{...} +type SloObjectiveCountMetricGoodPrometheusInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodPrometheusOutput() SloObjectiveCountMetricGoodPrometheusOutput + ToSloObjectiveCountMetricGoodPrometheusOutputWithContext(context.Context) SloObjectiveCountMetricGoodPrometheusOutput +} + +type SloObjectiveCountMetricGoodPrometheusArgs struct { + Promql pulumi.StringInput `pulumi:"promql"` +} + +func (SloObjectiveCountMetricGoodPrometheusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodPrometheus)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodPrometheusArgs) ToSloObjectiveCountMetricGoodPrometheusOutput() SloObjectiveCountMetricGoodPrometheusOutput { + return i.ToSloObjectiveCountMetricGoodPrometheusOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodPrometheusArgs) ToSloObjectiveCountMetricGoodPrometheusOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodPrometheusOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodPrometheusOutput) +} + +// SloObjectiveCountMetricGoodPrometheusArrayInput is an input type that accepts SloObjectiveCountMetricGoodPrometheusArray and SloObjectiveCountMetricGoodPrometheusArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodPrometheusArrayInput` via: +// +// SloObjectiveCountMetricGoodPrometheusArray{ SloObjectiveCountMetricGoodPrometheusArgs{...} } +type SloObjectiveCountMetricGoodPrometheusArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodPrometheusArrayOutput() SloObjectiveCountMetricGoodPrometheusArrayOutput + ToSloObjectiveCountMetricGoodPrometheusArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodPrometheusArrayOutput +} + +type SloObjectiveCountMetricGoodPrometheusArray []SloObjectiveCountMetricGoodPrometheusInput + +func (SloObjectiveCountMetricGoodPrometheusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodPrometheus)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodPrometheusArray) ToSloObjectiveCountMetricGoodPrometheusArrayOutput() SloObjectiveCountMetricGoodPrometheusArrayOutput { + return i.ToSloObjectiveCountMetricGoodPrometheusArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodPrometheusArray) ToSloObjectiveCountMetricGoodPrometheusArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodPrometheusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodPrometheusArrayOutput) +} + +type SloObjectiveCountMetricGoodPrometheusOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodPrometheusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodPrometheus)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodPrometheusOutput) ToSloObjectiveCountMetricGoodPrometheusOutput() SloObjectiveCountMetricGoodPrometheusOutput { + return o +} + +func (o SloObjectiveCountMetricGoodPrometheusOutput) ToSloObjectiveCountMetricGoodPrometheusOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodPrometheusOutput { + return o +} + +func (o SloObjectiveCountMetricGoodPrometheusOutput) Promql() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodPrometheus) string { return v.Promql }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodPrometheusArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodPrometheusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodPrometheus)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodPrometheusArrayOutput) ToSloObjectiveCountMetricGoodPrometheusArrayOutput() SloObjectiveCountMetricGoodPrometheusArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodPrometheusArrayOutput) ToSloObjectiveCountMetricGoodPrometheusArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodPrometheusArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodPrometheusArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodPrometheusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodPrometheus { + return vs[0].([]SloObjectiveCountMetricGoodPrometheus)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodPrometheusOutput) +} + +type SloObjectiveCountMetricGoodRedshift struct { + ClusterId string `pulumi:"clusterId"` + DatabaseName string `pulumi:"databaseName"` + Query string `pulumi:"query"` + Region string `pulumi:"region"` +} + +// SloObjectiveCountMetricGoodRedshiftInput is an input type that accepts SloObjectiveCountMetricGoodRedshiftArgs and SloObjectiveCountMetricGoodRedshiftOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodRedshiftInput` via: +// +// SloObjectiveCountMetricGoodRedshiftArgs{...} +type SloObjectiveCountMetricGoodRedshiftInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodRedshiftOutput() SloObjectiveCountMetricGoodRedshiftOutput + ToSloObjectiveCountMetricGoodRedshiftOutputWithContext(context.Context) SloObjectiveCountMetricGoodRedshiftOutput +} + +type SloObjectiveCountMetricGoodRedshiftArgs struct { + ClusterId pulumi.StringInput `pulumi:"clusterId"` + DatabaseName pulumi.StringInput `pulumi:"databaseName"` + Query pulumi.StringInput `pulumi:"query"` + Region pulumi.StringInput `pulumi:"region"` +} + +func (SloObjectiveCountMetricGoodRedshiftArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodRedshift)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodRedshiftArgs) ToSloObjectiveCountMetricGoodRedshiftOutput() SloObjectiveCountMetricGoodRedshiftOutput { + return i.ToSloObjectiveCountMetricGoodRedshiftOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodRedshiftArgs) ToSloObjectiveCountMetricGoodRedshiftOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodRedshiftOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodRedshiftOutput) +} + +// SloObjectiveCountMetricGoodRedshiftArrayInput is an input type that accepts SloObjectiveCountMetricGoodRedshiftArray and SloObjectiveCountMetricGoodRedshiftArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodRedshiftArrayInput` via: +// +// SloObjectiveCountMetricGoodRedshiftArray{ SloObjectiveCountMetricGoodRedshiftArgs{...} } +type SloObjectiveCountMetricGoodRedshiftArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodRedshiftArrayOutput() SloObjectiveCountMetricGoodRedshiftArrayOutput + ToSloObjectiveCountMetricGoodRedshiftArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodRedshiftArrayOutput +} + +type SloObjectiveCountMetricGoodRedshiftArray []SloObjectiveCountMetricGoodRedshiftInput + +func (SloObjectiveCountMetricGoodRedshiftArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodRedshift)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodRedshiftArray) ToSloObjectiveCountMetricGoodRedshiftArrayOutput() SloObjectiveCountMetricGoodRedshiftArrayOutput { + return i.ToSloObjectiveCountMetricGoodRedshiftArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodRedshiftArray) ToSloObjectiveCountMetricGoodRedshiftArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodRedshiftArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodRedshiftArrayOutput) +} + +type SloObjectiveCountMetricGoodRedshiftOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodRedshiftOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodRedshift)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodRedshiftOutput) ToSloObjectiveCountMetricGoodRedshiftOutput() SloObjectiveCountMetricGoodRedshiftOutput { + return o +} + +func (o SloObjectiveCountMetricGoodRedshiftOutput) ToSloObjectiveCountMetricGoodRedshiftOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodRedshiftOutput { + return o +} + +func (o SloObjectiveCountMetricGoodRedshiftOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodRedshift) string { return v.ClusterId }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodRedshiftOutput) DatabaseName() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodRedshift) string { return v.DatabaseName }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodRedshiftOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodRedshift) string { return v.Query }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodRedshiftOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodRedshift) string { return v.Region }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodRedshiftArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodRedshiftArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodRedshift)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodRedshiftArrayOutput) ToSloObjectiveCountMetricGoodRedshiftArrayOutput() SloObjectiveCountMetricGoodRedshiftArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodRedshiftArrayOutput) ToSloObjectiveCountMetricGoodRedshiftArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodRedshiftArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodRedshiftArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodRedshiftOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodRedshift { + return vs[0].([]SloObjectiveCountMetricGoodRedshift)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodRedshiftOutput) +} + +type SloObjectiveCountMetricGoodSplunk struct { + Query string `pulumi:"query"` +} + +// SloObjectiveCountMetricGoodSplunkInput is an input type that accepts SloObjectiveCountMetricGoodSplunkArgs and SloObjectiveCountMetricGoodSplunkOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodSplunkInput` via: +// +// SloObjectiveCountMetricGoodSplunkArgs{...} +type SloObjectiveCountMetricGoodSplunkInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodSplunkOutput() SloObjectiveCountMetricGoodSplunkOutput + ToSloObjectiveCountMetricGoodSplunkOutputWithContext(context.Context) SloObjectiveCountMetricGoodSplunkOutput +} + +type SloObjectiveCountMetricGoodSplunkArgs struct { + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveCountMetricGoodSplunkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodSplunk)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodSplunkArgs) ToSloObjectiveCountMetricGoodSplunkOutput() SloObjectiveCountMetricGoodSplunkOutput { + return i.ToSloObjectiveCountMetricGoodSplunkOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodSplunkArgs) ToSloObjectiveCountMetricGoodSplunkOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodSplunkOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodSplunkOutput) +} + +// SloObjectiveCountMetricGoodSplunkArrayInput is an input type that accepts SloObjectiveCountMetricGoodSplunkArray and SloObjectiveCountMetricGoodSplunkArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodSplunkArrayInput` via: +// +// SloObjectiveCountMetricGoodSplunkArray{ SloObjectiveCountMetricGoodSplunkArgs{...} } +type SloObjectiveCountMetricGoodSplunkArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodSplunkArrayOutput() SloObjectiveCountMetricGoodSplunkArrayOutput + ToSloObjectiveCountMetricGoodSplunkArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodSplunkArrayOutput +} + +type SloObjectiveCountMetricGoodSplunkArray []SloObjectiveCountMetricGoodSplunkInput + +func (SloObjectiveCountMetricGoodSplunkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodSplunk)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodSplunkArray) ToSloObjectiveCountMetricGoodSplunkArrayOutput() SloObjectiveCountMetricGoodSplunkArrayOutput { + return i.ToSloObjectiveCountMetricGoodSplunkArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodSplunkArray) ToSloObjectiveCountMetricGoodSplunkArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodSplunkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodSplunkArrayOutput) +} + +type SloObjectiveCountMetricGoodSplunkOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodSplunkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodSplunk)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodSplunkOutput) ToSloObjectiveCountMetricGoodSplunkOutput() SloObjectiveCountMetricGoodSplunkOutput { + return o +} + +func (o SloObjectiveCountMetricGoodSplunkOutput) ToSloObjectiveCountMetricGoodSplunkOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodSplunkOutput { + return o +} + +func (o SloObjectiveCountMetricGoodSplunkOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodSplunk) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodSplunkArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodSplunkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodSplunk)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodSplunkArrayOutput) ToSloObjectiveCountMetricGoodSplunkArrayOutput() SloObjectiveCountMetricGoodSplunkArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodSplunkArrayOutput) ToSloObjectiveCountMetricGoodSplunkArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodSplunkArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodSplunkArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodSplunkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodSplunk { + return vs[0].([]SloObjectiveCountMetricGoodSplunk)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodSplunkOutput) +} + +type SloObjectiveCountMetricGoodSplunkObservability struct { + Program string `pulumi:"program"` +} + +// SloObjectiveCountMetricGoodSplunkObservabilityInput is an input type that accepts SloObjectiveCountMetricGoodSplunkObservabilityArgs and SloObjectiveCountMetricGoodSplunkObservabilityOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodSplunkObservabilityInput` via: +// +// SloObjectiveCountMetricGoodSplunkObservabilityArgs{...} +type SloObjectiveCountMetricGoodSplunkObservabilityInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodSplunkObservabilityOutput() SloObjectiveCountMetricGoodSplunkObservabilityOutput + ToSloObjectiveCountMetricGoodSplunkObservabilityOutputWithContext(context.Context) SloObjectiveCountMetricGoodSplunkObservabilityOutput +} + +type SloObjectiveCountMetricGoodSplunkObservabilityArgs struct { + Program pulumi.StringInput `pulumi:"program"` +} + +func (SloObjectiveCountMetricGoodSplunkObservabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodSplunkObservability)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodSplunkObservabilityArgs) ToSloObjectiveCountMetricGoodSplunkObservabilityOutput() SloObjectiveCountMetricGoodSplunkObservabilityOutput { + return i.ToSloObjectiveCountMetricGoodSplunkObservabilityOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodSplunkObservabilityArgs) ToSloObjectiveCountMetricGoodSplunkObservabilityOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodSplunkObservabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodSplunkObservabilityOutput) +} + +// SloObjectiveCountMetricGoodSplunkObservabilityArrayInput is an input type that accepts SloObjectiveCountMetricGoodSplunkObservabilityArray and SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodSplunkObservabilityArrayInput` via: +// +// SloObjectiveCountMetricGoodSplunkObservabilityArray{ SloObjectiveCountMetricGoodSplunkObservabilityArgs{...} } +type SloObjectiveCountMetricGoodSplunkObservabilityArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodSplunkObservabilityArrayOutput() SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput + ToSloObjectiveCountMetricGoodSplunkObservabilityArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput +} + +type SloObjectiveCountMetricGoodSplunkObservabilityArray []SloObjectiveCountMetricGoodSplunkObservabilityInput + +func (SloObjectiveCountMetricGoodSplunkObservabilityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodSplunkObservability)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodSplunkObservabilityArray) ToSloObjectiveCountMetricGoodSplunkObservabilityArrayOutput() SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput { + return i.ToSloObjectiveCountMetricGoodSplunkObservabilityArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodSplunkObservabilityArray) ToSloObjectiveCountMetricGoodSplunkObservabilityArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput) +} + +type SloObjectiveCountMetricGoodSplunkObservabilityOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodSplunkObservabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodSplunkObservability)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodSplunkObservabilityOutput) ToSloObjectiveCountMetricGoodSplunkObservabilityOutput() SloObjectiveCountMetricGoodSplunkObservabilityOutput { + return o +} + +func (o SloObjectiveCountMetricGoodSplunkObservabilityOutput) ToSloObjectiveCountMetricGoodSplunkObservabilityOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodSplunkObservabilityOutput { + return o +} + +func (o SloObjectiveCountMetricGoodSplunkObservabilityOutput) Program() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodSplunkObservability) string { return v.Program }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodSplunkObservability)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput) ToSloObjectiveCountMetricGoodSplunkObservabilityArrayOutput() SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput) ToSloObjectiveCountMetricGoodSplunkObservabilityArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodSplunkObservabilityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodSplunkObservability { + return vs[0].([]SloObjectiveCountMetricGoodSplunkObservability)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodSplunkObservabilityOutput) +} + +type SloObjectiveCountMetricGoodSumologic struct { + Quantization *string `pulumi:"quantization"` + Query string `pulumi:"query"` + Rollup *string `pulumi:"rollup"` + Type string `pulumi:"type"` +} + +// SloObjectiveCountMetricGoodSumologicInput is an input type that accepts SloObjectiveCountMetricGoodSumologicArgs and SloObjectiveCountMetricGoodSumologicOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodSumologicInput` via: +// +// SloObjectiveCountMetricGoodSumologicArgs{...} +type SloObjectiveCountMetricGoodSumologicInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodSumologicOutput() SloObjectiveCountMetricGoodSumologicOutput + ToSloObjectiveCountMetricGoodSumologicOutputWithContext(context.Context) SloObjectiveCountMetricGoodSumologicOutput +} + +type SloObjectiveCountMetricGoodSumologicArgs struct { + Quantization pulumi.StringPtrInput `pulumi:"quantization"` + Query pulumi.StringInput `pulumi:"query"` + Rollup pulumi.StringPtrInput `pulumi:"rollup"` + Type pulumi.StringInput `pulumi:"type"` +} + +func (SloObjectiveCountMetricGoodSumologicArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodSumologic)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodSumologicArgs) ToSloObjectiveCountMetricGoodSumologicOutput() SloObjectiveCountMetricGoodSumologicOutput { + return i.ToSloObjectiveCountMetricGoodSumologicOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodSumologicArgs) ToSloObjectiveCountMetricGoodSumologicOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodSumologicOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodSumologicOutput) +} + +// SloObjectiveCountMetricGoodSumologicArrayInput is an input type that accepts SloObjectiveCountMetricGoodSumologicArray and SloObjectiveCountMetricGoodSumologicArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodSumologicArrayInput` via: +// +// SloObjectiveCountMetricGoodSumologicArray{ SloObjectiveCountMetricGoodSumologicArgs{...} } +type SloObjectiveCountMetricGoodSumologicArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodSumologicArrayOutput() SloObjectiveCountMetricGoodSumologicArrayOutput + ToSloObjectiveCountMetricGoodSumologicArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodSumologicArrayOutput +} + +type SloObjectiveCountMetricGoodSumologicArray []SloObjectiveCountMetricGoodSumologicInput + +func (SloObjectiveCountMetricGoodSumologicArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodSumologic)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodSumologicArray) ToSloObjectiveCountMetricGoodSumologicArrayOutput() SloObjectiveCountMetricGoodSumologicArrayOutput { + return i.ToSloObjectiveCountMetricGoodSumologicArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodSumologicArray) ToSloObjectiveCountMetricGoodSumologicArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodSumologicArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodSumologicArrayOutput) +} + +type SloObjectiveCountMetricGoodSumologicOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodSumologicOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodSumologic)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodSumologicOutput) ToSloObjectiveCountMetricGoodSumologicOutput() SloObjectiveCountMetricGoodSumologicOutput { + return o +} + +func (o SloObjectiveCountMetricGoodSumologicOutput) ToSloObjectiveCountMetricGoodSumologicOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodSumologicOutput { + return o +} + +func (o SloObjectiveCountMetricGoodSumologicOutput) Quantization() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodSumologic) *string { return v.Quantization }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricGoodSumologicOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodSumologic) string { return v.Query }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricGoodSumologicOutput) Rollup() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodSumologic) *string { return v.Rollup }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricGoodSumologicOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodSumologic) string { return v.Type }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricGoodSumologicArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodSumologicArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodSumologic)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodSumologicArrayOutput) ToSloObjectiveCountMetricGoodSumologicArrayOutput() SloObjectiveCountMetricGoodSumologicArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodSumologicArrayOutput) ToSloObjectiveCountMetricGoodSumologicArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodSumologicArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodSumologicArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodSumologicOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodSumologic { + return vs[0].([]SloObjectiveCountMetricGoodSumologic)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodSumologicOutput) +} + +type SloObjectiveCountMetricGoodThousandeye struct { + TestId int `pulumi:"testId"` +} + +// SloObjectiveCountMetricGoodThousandeyeInput is an input type that accepts SloObjectiveCountMetricGoodThousandeyeArgs and SloObjectiveCountMetricGoodThousandeyeOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodThousandeyeInput` via: +// +// SloObjectiveCountMetricGoodThousandeyeArgs{...} +type SloObjectiveCountMetricGoodThousandeyeInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodThousandeyeOutput() SloObjectiveCountMetricGoodThousandeyeOutput + ToSloObjectiveCountMetricGoodThousandeyeOutputWithContext(context.Context) SloObjectiveCountMetricGoodThousandeyeOutput +} + +type SloObjectiveCountMetricGoodThousandeyeArgs struct { + TestId pulumi.IntInput `pulumi:"testId"` +} + +func (SloObjectiveCountMetricGoodThousandeyeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodThousandeye)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodThousandeyeArgs) ToSloObjectiveCountMetricGoodThousandeyeOutput() SloObjectiveCountMetricGoodThousandeyeOutput { + return i.ToSloObjectiveCountMetricGoodThousandeyeOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodThousandeyeArgs) ToSloObjectiveCountMetricGoodThousandeyeOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodThousandeyeOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodThousandeyeOutput) +} + +// SloObjectiveCountMetricGoodThousandeyeArrayInput is an input type that accepts SloObjectiveCountMetricGoodThousandeyeArray and SloObjectiveCountMetricGoodThousandeyeArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricGoodThousandeyeArrayInput` via: +// +// SloObjectiveCountMetricGoodThousandeyeArray{ SloObjectiveCountMetricGoodThousandeyeArgs{...} } +type SloObjectiveCountMetricGoodThousandeyeArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricGoodThousandeyeArrayOutput() SloObjectiveCountMetricGoodThousandeyeArrayOutput + ToSloObjectiveCountMetricGoodThousandeyeArrayOutputWithContext(context.Context) SloObjectiveCountMetricGoodThousandeyeArrayOutput +} + +type SloObjectiveCountMetricGoodThousandeyeArray []SloObjectiveCountMetricGoodThousandeyeInput + +func (SloObjectiveCountMetricGoodThousandeyeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodThousandeye)(nil)).Elem() +} + +func (i SloObjectiveCountMetricGoodThousandeyeArray) ToSloObjectiveCountMetricGoodThousandeyeArrayOutput() SloObjectiveCountMetricGoodThousandeyeArrayOutput { + return i.ToSloObjectiveCountMetricGoodThousandeyeArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricGoodThousandeyeArray) ToSloObjectiveCountMetricGoodThousandeyeArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodThousandeyeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricGoodThousandeyeArrayOutput) +} + +type SloObjectiveCountMetricGoodThousandeyeOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodThousandeyeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricGoodThousandeye)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodThousandeyeOutput) ToSloObjectiveCountMetricGoodThousandeyeOutput() SloObjectiveCountMetricGoodThousandeyeOutput { + return o +} + +func (o SloObjectiveCountMetricGoodThousandeyeOutput) ToSloObjectiveCountMetricGoodThousandeyeOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodThousandeyeOutput { + return o +} + +func (o SloObjectiveCountMetricGoodThousandeyeOutput) TestId() pulumi.IntOutput { + return o.ApplyT(func(v SloObjectiveCountMetricGoodThousandeye) int { return v.TestId }).(pulumi.IntOutput) +} + +type SloObjectiveCountMetricGoodThousandeyeArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricGoodThousandeyeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricGoodThousandeye)(nil)).Elem() +} + +func (o SloObjectiveCountMetricGoodThousandeyeArrayOutput) ToSloObjectiveCountMetricGoodThousandeyeArrayOutput() SloObjectiveCountMetricGoodThousandeyeArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodThousandeyeArrayOutput) ToSloObjectiveCountMetricGoodThousandeyeArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricGoodThousandeyeArrayOutput { + return o +} + +func (o SloObjectiveCountMetricGoodThousandeyeArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricGoodThousandeyeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricGoodThousandeye { + return vs[0].([]SloObjectiveCountMetricGoodThousandeye)[vs[1].(int)] + }).(SloObjectiveCountMetricGoodThousandeyeOutput) +} + +type SloObjectiveCountMetricTotal struct { + AmazonPrometheuses []SloObjectiveCountMetricTotalAmazonPrometheus `pulumi:"amazonPrometheuses"` + Appdynamics []SloObjectiveCountMetricTotalAppdynamic `pulumi:"appdynamics"` + Bigqueries []SloObjectiveCountMetricTotalBigquery `pulumi:"bigqueries"` + Cloudwatches []SloObjectiveCountMetricTotalCloudwatch `pulumi:"cloudwatches"` + Datadogs []SloObjectiveCountMetricTotalDatadog `pulumi:"datadogs"` + Dynatraces []SloObjectiveCountMetricTotalDynatrace `pulumi:"dynatraces"` + Elasticsearches []SloObjectiveCountMetricTotalElasticsearch `pulumi:"elasticsearches"` + Gcms []SloObjectiveCountMetricTotalGcm `pulumi:"gcms"` + GrafanaLokis []SloObjectiveCountMetricTotalGrafanaLoki `pulumi:"grafanaLokis"` + Graphites []SloObjectiveCountMetricTotalGraphite `pulumi:"graphites"` + Influxdbs []SloObjectiveCountMetricTotalInfluxdb `pulumi:"influxdbs"` + Instanas []SloObjectiveCountMetricTotalInstana `pulumi:"instanas"` + Lightsteps []SloObjectiveCountMetricTotalLightstep `pulumi:"lightsteps"` + Newrelics []SloObjectiveCountMetricTotalNewrelic `pulumi:"newrelics"` + Opentsdbs []SloObjectiveCountMetricTotalOpentsdb `pulumi:"opentsdbs"` + Pingdoms []SloObjectiveCountMetricTotalPingdom `pulumi:"pingdoms"` + Prometheuses []SloObjectiveCountMetricTotalPrometheus `pulumi:"prometheuses"` + Redshifts []SloObjectiveCountMetricTotalRedshift `pulumi:"redshifts"` + SplunkObservabilities []SloObjectiveCountMetricTotalSplunkObservability `pulumi:"splunkObservabilities"` + Splunks []SloObjectiveCountMetricTotalSplunk `pulumi:"splunks"` + Sumologics []SloObjectiveCountMetricTotalSumologic `pulumi:"sumologics"` + Thousandeyes []SloObjectiveCountMetricTotalThousandeye `pulumi:"thousandeyes"` +} + +// SloObjectiveCountMetricTotalInput is an input type that accepts SloObjectiveCountMetricTotalArgs and SloObjectiveCountMetricTotalOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalInput` via: +// +// SloObjectiveCountMetricTotalArgs{...} +type SloObjectiveCountMetricTotalInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalOutput() SloObjectiveCountMetricTotalOutput + ToSloObjectiveCountMetricTotalOutputWithContext(context.Context) SloObjectiveCountMetricTotalOutput +} + +type SloObjectiveCountMetricTotalArgs struct { + AmazonPrometheuses SloObjectiveCountMetricTotalAmazonPrometheusArrayInput `pulumi:"amazonPrometheuses"` + Appdynamics SloObjectiveCountMetricTotalAppdynamicArrayInput `pulumi:"appdynamics"` + Bigqueries SloObjectiveCountMetricTotalBigqueryArrayInput `pulumi:"bigqueries"` + Cloudwatches SloObjectiveCountMetricTotalCloudwatchArrayInput `pulumi:"cloudwatches"` + Datadogs SloObjectiveCountMetricTotalDatadogArrayInput `pulumi:"datadogs"` + Dynatraces SloObjectiveCountMetricTotalDynatraceArrayInput `pulumi:"dynatraces"` + Elasticsearches SloObjectiveCountMetricTotalElasticsearchArrayInput `pulumi:"elasticsearches"` + Gcms SloObjectiveCountMetricTotalGcmArrayInput `pulumi:"gcms"` + GrafanaLokis SloObjectiveCountMetricTotalGrafanaLokiArrayInput `pulumi:"grafanaLokis"` + Graphites SloObjectiveCountMetricTotalGraphiteArrayInput `pulumi:"graphites"` + Influxdbs SloObjectiveCountMetricTotalInfluxdbArrayInput `pulumi:"influxdbs"` + Instanas SloObjectiveCountMetricTotalInstanaArrayInput `pulumi:"instanas"` + Lightsteps SloObjectiveCountMetricTotalLightstepArrayInput `pulumi:"lightsteps"` + Newrelics SloObjectiveCountMetricTotalNewrelicArrayInput `pulumi:"newrelics"` + Opentsdbs SloObjectiveCountMetricTotalOpentsdbArrayInput `pulumi:"opentsdbs"` + Pingdoms SloObjectiveCountMetricTotalPingdomArrayInput `pulumi:"pingdoms"` + Prometheuses SloObjectiveCountMetricTotalPrometheusArrayInput `pulumi:"prometheuses"` + Redshifts SloObjectiveCountMetricTotalRedshiftArrayInput `pulumi:"redshifts"` + SplunkObservabilities SloObjectiveCountMetricTotalSplunkObservabilityArrayInput `pulumi:"splunkObservabilities"` + Splunks SloObjectiveCountMetricTotalSplunkArrayInput `pulumi:"splunks"` + Sumologics SloObjectiveCountMetricTotalSumologicArrayInput `pulumi:"sumologics"` + Thousandeyes SloObjectiveCountMetricTotalThousandeyeArrayInput `pulumi:"thousandeyes"` +} + +func (SloObjectiveCountMetricTotalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotal)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalArgs) ToSloObjectiveCountMetricTotalOutput() SloObjectiveCountMetricTotalOutput { + return i.ToSloObjectiveCountMetricTotalOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalArgs) ToSloObjectiveCountMetricTotalOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalOutput) +} + +// SloObjectiveCountMetricTotalArrayInput is an input type that accepts SloObjectiveCountMetricTotalArray and SloObjectiveCountMetricTotalArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalArrayInput` via: +// +// SloObjectiveCountMetricTotalArray{ SloObjectiveCountMetricTotalArgs{...} } +type SloObjectiveCountMetricTotalArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalArrayOutput() SloObjectiveCountMetricTotalArrayOutput + ToSloObjectiveCountMetricTotalArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalArrayOutput +} + +type SloObjectiveCountMetricTotalArray []SloObjectiveCountMetricTotalInput + +func (SloObjectiveCountMetricTotalArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotal)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalArray) ToSloObjectiveCountMetricTotalArrayOutput() SloObjectiveCountMetricTotalArrayOutput { + return i.ToSloObjectiveCountMetricTotalArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalArray) ToSloObjectiveCountMetricTotalArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalArrayOutput) +} + +type SloObjectiveCountMetricTotalOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotal)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalOutput) ToSloObjectiveCountMetricTotalOutput() SloObjectiveCountMetricTotalOutput { + return o +} + +func (o SloObjectiveCountMetricTotalOutput) ToSloObjectiveCountMetricTotalOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalOutput { + return o +} + +func (o SloObjectiveCountMetricTotalOutput) AmazonPrometheuses() SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalAmazonPrometheus { + return v.AmazonPrometheuses + }).(SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Appdynamics() SloObjectiveCountMetricTotalAppdynamicArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalAppdynamic { return v.Appdynamics }).(SloObjectiveCountMetricTotalAppdynamicArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Bigqueries() SloObjectiveCountMetricTotalBigqueryArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalBigquery { return v.Bigqueries }).(SloObjectiveCountMetricTotalBigqueryArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Cloudwatches() SloObjectiveCountMetricTotalCloudwatchArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalCloudwatch { return v.Cloudwatches }).(SloObjectiveCountMetricTotalCloudwatchArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Datadogs() SloObjectiveCountMetricTotalDatadogArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalDatadog { return v.Datadogs }).(SloObjectiveCountMetricTotalDatadogArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Dynatraces() SloObjectiveCountMetricTotalDynatraceArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalDynatrace { return v.Dynatraces }).(SloObjectiveCountMetricTotalDynatraceArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Elasticsearches() SloObjectiveCountMetricTotalElasticsearchArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalElasticsearch { + return v.Elasticsearches + }).(SloObjectiveCountMetricTotalElasticsearchArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Gcms() SloObjectiveCountMetricTotalGcmArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalGcm { return v.Gcms }).(SloObjectiveCountMetricTotalGcmArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) GrafanaLokis() SloObjectiveCountMetricTotalGrafanaLokiArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalGrafanaLoki { return v.GrafanaLokis }).(SloObjectiveCountMetricTotalGrafanaLokiArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Graphites() SloObjectiveCountMetricTotalGraphiteArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalGraphite { return v.Graphites }).(SloObjectiveCountMetricTotalGraphiteArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Influxdbs() SloObjectiveCountMetricTotalInfluxdbArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalInfluxdb { return v.Influxdbs }).(SloObjectiveCountMetricTotalInfluxdbArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Instanas() SloObjectiveCountMetricTotalInstanaArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalInstana { return v.Instanas }).(SloObjectiveCountMetricTotalInstanaArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Lightsteps() SloObjectiveCountMetricTotalLightstepArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalLightstep { return v.Lightsteps }).(SloObjectiveCountMetricTotalLightstepArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Newrelics() SloObjectiveCountMetricTotalNewrelicArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalNewrelic { return v.Newrelics }).(SloObjectiveCountMetricTotalNewrelicArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Opentsdbs() SloObjectiveCountMetricTotalOpentsdbArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalOpentsdb { return v.Opentsdbs }).(SloObjectiveCountMetricTotalOpentsdbArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Pingdoms() SloObjectiveCountMetricTotalPingdomArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalPingdom { return v.Pingdoms }).(SloObjectiveCountMetricTotalPingdomArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Prometheuses() SloObjectiveCountMetricTotalPrometheusArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalPrometheus { return v.Prometheuses }).(SloObjectiveCountMetricTotalPrometheusArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Redshifts() SloObjectiveCountMetricTotalRedshiftArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalRedshift { return v.Redshifts }).(SloObjectiveCountMetricTotalRedshiftArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) SplunkObservabilities() SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalSplunkObservability { + return v.SplunkObservabilities + }).(SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Splunks() SloObjectiveCountMetricTotalSplunkArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalSplunk { return v.Splunks }).(SloObjectiveCountMetricTotalSplunkArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Sumologics() SloObjectiveCountMetricTotalSumologicArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalSumologic { return v.Sumologics }).(SloObjectiveCountMetricTotalSumologicArrayOutput) +} + +func (o SloObjectiveCountMetricTotalOutput) Thousandeyes() SloObjectiveCountMetricTotalThousandeyeArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotal) []SloObjectiveCountMetricTotalThousandeye { return v.Thousandeyes }).(SloObjectiveCountMetricTotalThousandeyeArrayOutput) +} + +type SloObjectiveCountMetricTotalArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotal)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalArrayOutput) ToSloObjectiveCountMetricTotalArrayOutput() SloObjectiveCountMetricTotalArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalArrayOutput) ToSloObjectiveCountMetricTotalArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotal { + return vs[0].([]SloObjectiveCountMetricTotal)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalOutput) +} + +type SloObjectiveCountMetricTotalAmazonPrometheus struct { + Promql string `pulumi:"promql"` +} + +// SloObjectiveCountMetricTotalAmazonPrometheusInput is an input type that accepts SloObjectiveCountMetricTotalAmazonPrometheusArgs and SloObjectiveCountMetricTotalAmazonPrometheusOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalAmazonPrometheusInput` via: +// +// SloObjectiveCountMetricTotalAmazonPrometheusArgs{...} +type SloObjectiveCountMetricTotalAmazonPrometheusInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalAmazonPrometheusOutput() SloObjectiveCountMetricTotalAmazonPrometheusOutput + ToSloObjectiveCountMetricTotalAmazonPrometheusOutputWithContext(context.Context) SloObjectiveCountMetricTotalAmazonPrometheusOutput +} + +type SloObjectiveCountMetricTotalAmazonPrometheusArgs struct { + Promql pulumi.StringInput `pulumi:"promql"` +} + +func (SloObjectiveCountMetricTotalAmazonPrometheusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalAmazonPrometheus)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalAmazonPrometheusArgs) ToSloObjectiveCountMetricTotalAmazonPrometheusOutput() SloObjectiveCountMetricTotalAmazonPrometheusOutput { + return i.ToSloObjectiveCountMetricTotalAmazonPrometheusOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalAmazonPrometheusArgs) ToSloObjectiveCountMetricTotalAmazonPrometheusOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalAmazonPrometheusOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalAmazonPrometheusOutput) +} + +// SloObjectiveCountMetricTotalAmazonPrometheusArrayInput is an input type that accepts SloObjectiveCountMetricTotalAmazonPrometheusArray and SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalAmazonPrometheusArrayInput` via: +// +// SloObjectiveCountMetricTotalAmazonPrometheusArray{ SloObjectiveCountMetricTotalAmazonPrometheusArgs{...} } +type SloObjectiveCountMetricTotalAmazonPrometheusArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalAmazonPrometheusArrayOutput() SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput + ToSloObjectiveCountMetricTotalAmazonPrometheusArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput +} + +type SloObjectiveCountMetricTotalAmazonPrometheusArray []SloObjectiveCountMetricTotalAmazonPrometheusInput + +func (SloObjectiveCountMetricTotalAmazonPrometheusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalAmazonPrometheus)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalAmazonPrometheusArray) ToSloObjectiveCountMetricTotalAmazonPrometheusArrayOutput() SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput { + return i.ToSloObjectiveCountMetricTotalAmazonPrometheusArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalAmazonPrometheusArray) ToSloObjectiveCountMetricTotalAmazonPrometheusArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput) +} + +type SloObjectiveCountMetricTotalAmazonPrometheusOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalAmazonPrometheusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalAmazonPrometheus)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalAmazonPrometheusOutput) ToSloObjectiveCountMetricTotalAmazonPrometheusOutput() SloObjectiveCountMetricTotalAmazonPrometheusOutput { + return o +} + +func (o SloObjectiveCountMetricTotalAmazonPrometheusOutput) ToSloObjectiveCountMetricTotalAmazonPrometheusOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalAmazonPrometheusOutput { + return o +} + +func (o SloObjectiveCountMetricTotalAmazonPrometheusOutput) Promql() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalAmazonPrometheus) string { return v.Promql }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalAmazonPrometheus)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput) ToSloObjectiveCountMetricTotalAmazonPrometheusArrayOutput() SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput) ToSloObjectiveCountMetricTotalAmazonPrometheusArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalAmazonPrometheusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalAmazonPrometheus { + return vs[0].([]SloObjectiveCountMetricTotalAmazonPrometheus)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalAmazonPrometheusOutput) +} + +type SloObjectiveCountMetricTotalAppdynamic struct { + ApplicationName string `pulumi:"applicationName"` + MetricPath string `pulumi:"metricPath"` +} + +// SloObjectiveCountMetricTotalAppdynamicInput is an input type that accepts SloObjectiveCountMetricTotalAppdynamicArgs and SloObjectiveCountMetricTotalAppdynamicOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalAppdynamicInput` via: +// +// SloObjectiveCountMetricTotalAppdynamicArgs{...} +type SloObjectiveCountMetricTotalAppdynamicInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalAppdynamicOutput() SloObjectiveCountMetricTotalAppdynamicOutput + ToSloObjectiveCountMetricTotalAppdynamicOutputWithContext(context.Context) SloObjectiveCountMetricTotalAppdynamicOutput +} + +type SloObjectiveCountMetricTotalAppdynamicArgs struct { + ApplicationName pulumi.StringInput `pulumi:"applicationName"` + MetricPath pulumi.StringInput `pulumi:"metricPath"` +} + +func (SloObjectiveCountMetricTotalAppdynamicArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalAppdynamic)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalAppdynamicArgs) ToSloObjectiveCountMetricTotalAppdynamicOutput() SloObjectiveCountMetricTotalAppdynamicOutput { + return i.ToSloObjectiveCountMetricTotalAppdynamicOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalAppdynamicArgs) ToSloObjectiveCountMetricTotalAppdynamicOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalAppdynamicOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalAppdynamicOutput) +} + +// SloObjectiveCountMetricTotalAppdynamicArrayInput is an input type that accepts SloObjectiveCountMetricTotalAppdynamicArray and SloObjectiveCountMetricTotalAppdynamicArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalAppdynamicArrayInput` via: +// +// SloObjectiveCountMetricTotalAppdynamicArray{ SloObjectiveCountMetricTotalAppdynamicArgs{...} } +type SloObjectiveCountMetricTotalAppdynamicArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalAppdynamicArrayOutput() SloObjectiveCountMetricTotalAppdynamicArrayOutput + ToSloObjectiveCountMetricTotalAppdynamicArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalAppdynamicArrayOutput +} + +type SloObjectiveCountMetricTotalAppdynamicArray []SloObjectiveCountMetricTotalAppdynamicInput + +func (SloObjectiveCountMetricTotalAppdynamicArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalAppdynamic)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalAppdynamicArray) ToSloObjectiveCountMetricTotalAppdynamicArrayOutput() SloObjectiveCountMetricTotalAppdynamicArrayOutput { + return i.ToSloObjectiveCountMetricTotalAppdynamicArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalAppdynamicArray) ToSloObjectiveCountMetricTotalAppdynamicArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalAppdynamicArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalAppdynamicArrayOutput) +} + +type SloObjectiveCountMetricTotalAppdynamicOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalAppdynamicOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalAppdynamic)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalAppdynamicOutput) ToSloObjectiveCountMetricTotalAppdynamicOutput() SloObjectiveCountMetricTotalAppdynamicOutput { + return o +} + +func (o SloObjectiveCountMetricTotalAppdynamicOutput) ToSloObjectiveCountMetricTotalAppdynamicOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalAppdynamicOutput { + return o +} + +func (o SloObjectiveCountMetricTotalAppdynamicOutput) ApplicationName() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalAppdynamic) string { return v.ApplicationName }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalAppdynamicOutput) MetricPath() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalAppdynamic) string { return v.MetricPath }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalAppdynamicArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalAppdynamicArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalAppdynamic)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalAppdynamicArrayOutput) ToSloObjectiveCountMetricTotalAppdynamicArrayOutput() SloObjectiveCountMetricTotalAppdynamicArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalAppdynamicArrayOutput) ToSloObjectiveCountMetricTotalAppdynamicArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalAppdynamicArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalAppdynamicArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalAppdynamicOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalAppdynamic { + return vs[0].([]SloObjectiveCountMetricTotalAppdynamic)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalAppdynamicOutput) +} + +type SloObjectiveCountMetricTotalBigquery struct { + Location string `pulumi:"location"` + ProjectId string `pulumi:"projectId"` + Query string `pulumi:"query"` +} + +// SloObjectiveCountMetricTotalBigqueryInput is an input type that accepts SloObjectiveCountMetricTotalBigqueryArgs and SloObjectiveCountMetricTotalBigqueryOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalBigqueryInput` via: +// +// SloObjectiveCountMetricTotalBigqueryArgs{...} +type SloObjectiveCountMetricTotalBigqueryInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalBigqueryOutput() SloObjectiveCountMetricTotalBigqueryOutput + ToSloObjectiveCountMetricTotalBigqueryOutputWithContext(context.Context) SloObjectiveCountMetricTotalBigqueryOutput +} + +type SloObjectiveCountMetricTotalBigqueryArgs struct { + Location pulumi.StringInput `pulumi:"location"` + ProjectId pulumi.StringInput `pulumi:"projectId"` + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveCountMetricTotalBigqueryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalBigquery)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalBigqueryArgs) ToSloObjectiveCountMetricTotalBigqueryOutput() SloObjectiveCountMetricTotalBigqueryOutput { + return i.ToSloObjectiveCountMetricTotalBigqueryOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalBigqueryArgs) ToSloObjectiveCountMetricTotalBigqueryOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalBigqueryOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalBigqueryOutput) +} + +// SloObjectiveCountMetricTotalBigqueryArrayInput is an input type that accepts SloObjectiveCountMetricTotalBigqueryArray and SloObjectiveCountMetricTotalBigqueryArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalBigqueryArrayInput` via: +// +// SloObjectiveCountMetricTotalBigqueryArray{ SloObjectiveCountMetricTotalBigqueryArgs{...} } +type SloObjectiveCountMetricTotalBigqueryArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalBigqueryArrayOutput() SloObjectiveCountMetricTotalBigqueryArrayOutput + ToSloObjectiveCountMetricTotalBigqueryArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalBigqueryArrayOutput +} + +type SloObjectiveCountMetricTotalBigqueryArray []SloObjectiveCountMetricTotalBigqueryInput + +func (SloObjectiveCountMetricTotalBigqueryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalBigquery)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalBigqueryArray) ToSloObjectiveCountMetricTotalBigqueryArrayOutput() SloObjectiveCountMetricTotalBigqueryArrayOutput { + return i.ToSloObjectiveCountMetricTotalBigqueryArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalBigqueryArray) ToSloObjectiveCountMetricTotalBigqueryArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalBigqueryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalBigqueryArrayOutput) +} + +type SloObjectiveCountMetricTotalBigqueryOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalBigqueryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalBigquery)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalBigqueryOutput) ToSloObjectiveCountMetricTotalBigqueryOutput() SloObjectiveCountMetricTotalBigqueryOutput { + return o +} + +func (o SloObjectiveCountMetricTotalBigqueryOutput) ToSloObjectiveCountMetricTotalBigqueryOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalBigqueryOutput { + return o +} + +func (o SloObjectiveCountMetricTotalBigqueryOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalBigquery) string { return v.Location }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalBigqueryOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalBigquery) string { return v.ProjectId }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalBigqueryOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalBigquery) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalBigqueryArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalBigqueryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalBigquery)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalBigqueryArrayOutput) ToSloObjectiveCountMetricTotalBigqueryArrayOutput() SloObjectiveCountMetricTotalBigqueryArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalBigqueryArrayOutput) ToSloObjectiveCountMetricTotalBigqueryArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalBigqueryArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalBigqueryArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalBigqueryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalBigquery { + return vs[0].([]SloObjectiveCountMetricTotalBigquery)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalBigqueryOutput) +} + +type SloObjectiveCountMetricTotalCloudwatch struct { + Dimensions []SloObjectiveCountMetricTotalCloudwatchDimension `pulumi:"dimensions"` + Json *string `pulumi:"json"` + MetricName *string `pulumi:"metricName"` + Namespace *string `pulumi:"namespace"` + Region string `pulumi:"region"` + Sql *string `pulumi:"sql"` + Stat *string `pulumi:"stat"` +} + +// SloObjectiveCountMetricTotalCloudwatchInput is an input type that accepts SloObjectiveCountMetricTotalCloudwatchArgs and SloObjectiveCountMetricTotalCloudwatchOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalCloudwatchInput` via: +// +// SloObjectiveCountMetricTotalCloudwatchArgs{...} +type SloObjectiveCountMetricTotalCloudwatchInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalCloudwatchOutput() SloObjectiveCountMetricTotalCloudwatchOutput + ToSloObjectiveCountMetricTotalCloudwatchOutputWithContext(context.Context) SloObjectiveCountMetricTotalCloudwatchOutput +} + +type SloObjectiveCountMetricTotalCloudwatchArgs struct { + Dimensions SloObjectiveCountMetricTotalCloudwatchDimensionArrayInput `pulumi:"dimensions"` + Json pulumi.StringPtrInput `pulumi:"json"` + MetricName pulumi.StringPtrInput `pulumi:"metricName"` + Namespace pulumi.StringPtrInput `pulumi:"namespace"` + Region pulumi.StringInput `pulumi:"region"` + Sql pulumi.StringPtrInput `pulumi:"sql"` + Stat pulumi.StringPtrInput `pulumi:"stat"` +} + +func (SloObjectiveCountMetricTotalCloudwatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalCloudwatch)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalCloudwatchArgs) ToSloObjectiveCountMetricTotalCloudwatchOutput() SloObjectiveCountMetricTotalCloudwatchOutput { + return i.ToSloObjectiveCountMetricTotalCloudwatchOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalCloudwatchArgs) ToSloObjectiveCountMetricTotalCloudwatchOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalCloudwatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalCloudwatchOutput) +} + +// SloObjectiveCountMetricTotalCloudwatchArrayInput is an input type that accepts SloObjectiveCountMetricTotalCloudwatchArray and SloObjectiveCountMetricTotalCloudwatchArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalCloudwatchArrayInput` via: +// +// SloObjectiveCountMetricTotalCloudwatchArray{ SloObjectiveCountMetricTotalCloudwatchArgs{...} } +type SloObjectiveCountMetricTotalCloudwatchArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalCloudwatchArrayOutput() SloObjectiveCountMetricTotalCloudwatchArrayOutput + ToSloObjectiveCountMetricTotalCloudwatchArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalCloudwatchArrayOutput +} + +type SloObjectiveCountMetricTotalCloudwatchArray []SloObjectiveCountMetricTotalCloudwatchInput + +func (SloObjectiveCountMetricTotalCloudwatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalCloudwatch)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalCloudwatchArray) ToSloObjectiveCountMetricTotalCloudwatchArrayOutput() SloObjectiveCountMetricTotalCloudwatchArrayOutput { + return i.ToSloObjectiveCountMetricTotalCloudwatchArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalCloudwatchArray) ToSloObjectiveCountMetricTotalCloudwatchArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalCloudwatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalCloudwatchArrayOutput) +} + +type SloObjectiveCountMetricTotalCloudwatchOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalCloudwatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalCloudwatch)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalCloudwatchOutput) ToSloObjectiveCountMetricTotalCloudwatchOutput() SloObjectiveCountMetricTotalCloudwatchOutput { + return o +} + +func (o SloObjectiveCountMetricTotalCloudwatchOutput) ToSloObjectiveCountMetricTotalCloudwatchOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalCloudwatchOutput { + return o +} + +func (o SloObjectiveCountMetricTotalCloudwatchOutput) Dimensions() SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalCloudwatch) []SloObjectiveCountMetricTotalCloudwatchDimension { + return v.Dimensions + }).(SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput) +} + +func (o SloObjectiveCountMetricTotalCloudwatchOutput) Json() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalCloudwatch) *string { return v.Json }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricTotalCloudwatchOutput) MetricName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalCloudwatch) *string { return v.MetricName }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricTotalCloudwatchOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalCloudwatch) *string { return v.Namespace }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricTotalCloudwatchOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalCloudwatch) string { return v.Region }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalCloudwatchOutput) Sql() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalCloudwatch) *string { return v.Sql }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricTotalCloudwatchOutput) Stat() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalCloudwatch) *string { return v.Stat }).(pulumi.StringPtrOutput) +} + +type SloObjectiveCountMetricTotalCloudwatchArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalCloudwatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalCloudwatch)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalCloudwatchArrayOutput) ToSloObjectiveCountMetricTotalCloudwatchArrayOutput() SloObjectiveCountMetricTotalCloudwatchArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalCloudwatchArrayOutput) ToSloObjectiveCountMetricTotalCloudwatchArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalCloudwatchArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalCloudwatchArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalCloudwatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalCloudwatch { + return vs[0].([]SloObjectiveCountMetricTotalCloudwatch)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalCloudwatchOutput) +} + +type SloObjectiveCountMetricTotalCloudwatchDimension struct { + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name string `pulumi:"name"` + Value string `pulumi:"value"` +} + +// SloObjectiveCountMetricTotalCloudwatchDimensionInput is an input type that accepts SloObjectiveCountMetricTotalCloudwatchDimensionArgs and SloObjectiveCountMetricTotalCloudwatchDimensionOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalCloudwatchDimensionInput` via: +// +// SloObjectiveCountMetricTotalCloudwatchDimensionArgs{...} +type SloObjectiveCountMetricTotalCloudwatchDimensionInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalCloudwatchDimensionOutput() SloObjectiveCountMetricTotalCloudwatchDimensionOutput + ToSloObjectiveCountMetricTotalCloudwatchDimensionOutputWithContext(context.Context) SloObjectiveCountMetricTotalCloudwatchDimensionOutput +} + +type SloObjectiveCountMetricTotalCloudwatchDimensionArgs struct { + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringInput `pulumi:"name"` + Value pulumi.StringInput `pulumi:"value"` +} + +func (SloObjectiveCountMetricTotalCloudwatchDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalCloudwatchDimension)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalCloudwatchDimensionArgs) ToSloObjectiveCountMetricTotalCloudwatchDimensionOutput() SloObjectiveCountMetricTotalCloudwatchDimensionOutput { + return i.ToSloObjectiveCountMetricTotalCloudwatchDimensionOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalCloudwatchDimensionArgs) ToSloObjectiveCountMetricTotalCloudwatchDimensionOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalCloudwatchDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalCloudwatchDimensionOutput) +} + +// SloObjectiveCountMetricTotalCloudwatchDimensionArrayInput is an input type that accepts SloObjectiveCountMetricTotalCloudwatchDimensionArray and SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalCloudwatchDimensionArrayInput` via: +// +// SloObjectiveCountMetricTotalCloudwatchDimensionArray{ SloObjectiveCountMetricTotalCloudwatchDimensionArgs{...} } +type SloObjectiveCountMetricTotalCloudwatchDimensionArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput() SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput + ToSloObjectiveCountMetricTotalCloudwatchDimensionArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput +} + +type SloObjectiveCountMetricTotalCloudwatchDimensionArray []SloObjectiveCountMetricTotalCloudwatchDimensionInput + +func (SloObjectiveCountMetricTotalCloudwatchDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalCloudwatchDimension)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalCloudwatchDimensionArray) ToSloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput() SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput { + return i.ToSloObjectiveCountMetricTotalCloudwatchDimensionArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalCloudwatchDimensionArray) ToSloObjectiveCountMetricTotalCloudwatchDimensionArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput) +} + +type SloObjectiveCountMetricTotalCloudwatchDimensionOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalCloudwatchDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalCloudwatchDimension)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalCloudwatchDimensionOutput) ToSloObjectiveCountMetricTotalCloudwatchDimensionOutput() SloObjectiveCountMetricTotalCloudwatchDimensionOutput { + return o +} + +func (o SloObjectiveCountMetricTotalCloudwatchDimensionOutput) ToSloObjectiveCountMetricTotalCloudwatchDimensionOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalCloudwatchDimensionOutput { + return o +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o SloObjectiveCountMetricTotalCloudwatchDimensionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalCloudwatchDimension) string { return v.Name }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalCloudwatchDimensionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalCloudwatchDimension) string { return v.Value }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalCloudwatchDimension)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput) ToSloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput() SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput) ToSloObjectiveCountMetricTotalCloudwatchDimensionArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalCloudwatchDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalCloudwatchDimension { + return vs[0].([]SloObjectiveCountMetricTotalCloudwatchDimension)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalCloudwatchDimensionOutput) +} + +type SloObjectiveCountMetricTotalDatadog struct { + Query string `pulumi:"query"` +} + +// SloObjectiveCountMetricTotalDatadogInput is an input type that accepts SloObjectiveCountMetricTotalDatadogArgs and SloObjectiveCountMetricTotalDatadogOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalDatadogInput` via: +// +// SloObjectiveCountMetricTotalDatadogArgs{...} +type SloObjectiveCountMetricTotalDatadogInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalDatadogOutput() SloObjectiveCountMetricTotalDatadogOutput + ToSloObjectiveCountMetricTotalDatadogOutputWithContext(context.Context) SloObjectiveCountMetricTotalDatadogOutput +} + +type SloObjectiveCountMetricTotalDatadogArgs struct { + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveCountMetricTotalDatadogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalDatadog)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalDatadogArgs) ToSloObjectiveCountMetricTotalDatadogOutput() SloObjectiveCountMetricTotalDatadogOutput { + return i.ToSloObjectiveCountMetricTotalDatadogOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalDatadogArgs) ToSloObjectiveCountMetricTotalDatadogOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalDatadogOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalDatadogOutput) +} + +// SloObjectiveCountMetricTotalDatadogArrayInput is an input type that accepts SloObjectiveCountMetricTotalDatadogArray and SloObjectiveCountMetricTotalDatadogArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalDatadogArrayInput` via: +// +// SloObjectiveCountMetricTotalDatadogArray{ SloObjectiveCountMetricTotalDatadogArgs{...} } +type SloObjectiveCountMetricTotalDatadogArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalDatadogArrayOutput() SloObjectiveCountMetricTotalDatadogArrayOutput + ToSloObjectiveCountMetricTotalDatadogArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalDatadogArrayOutput +} + +type SloObjectiveCountMetricTotalDatadogArray []SloObjectiveCountMetricTotalDatadogInput + +func (SloObjectiveCountMetricTotalDatadogArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalDatadog)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalDatadogArray) ToSloObjectiveCountMetricTotalDatadogArrayOutput() SloObjectiveCountMetricTotalDatadogArrayOutput { + return i.ToSloObjectiveCountMetricTotalDatadogArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalDatadogArray) ToSloObjectiveCountMetricTotalDatadogArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalDatadogArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalDatadogArrayOutput) +} + +type SloObjectiveCountMetricTotalDatadogOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalDatadogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalDatadog)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalDatadogOutput) ToSloObjectiveCountMetricTotalDatadogOutput() SloObjectiveCountMetricTotalDatadogOutput { + return o +} + +func (o SloObjectiveCountMetricTotalDatadogOutput) ToSloObjectiveCountMetricTotalDatadogOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalDatadogOutput { + return o +} + +func (o SloObjectiveCountMetricTotalDatadogOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalDatadog) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalDatadogArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalDatadogArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalDatadog)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalDatadogArrayOutput) ToSloObjectiveCountMetricTotalDatadogArrayOutput() SloObjectiveCountMetricTotalDatadogArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalDatadogArrayOutput) ToSloObjectiveCountMetricTotalDatadogArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalDatadogArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalDatadogArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalDatadogOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalDatadog { + return vs[0].([]SloObjectiveCountMetricTotalDatadog)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalDatadogOutput) +} + +type SloObjectiveCountMetricTotalDynatrace struct { + MetricSelector string `pulumi:"metricSelector"` +} + +// SloObjectiveCountMetricTotalDynatraceInput is an input type that accepts SloObjectiveCountMetricTotalDynatraceArgs and SloObjectiveCountMetricTotalDynatraceOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalDynatraceInput` via: +// +// SloObjectiveCountMetricTotalDynatraceArgs{...} +type SloObjectiveCountMetricTotalDynatraceInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalDynatraceOutput() SloObjectiveCountMetricTotalDynatraceOutput + ToSloObjectiveCountMetricTotalDynatraceOutputWithContext(context.Context) SloObjectiveCountMetricTotalDynatraceOutput +} + +type SloObjectiveCountMetricTotalDynatraceArgs struct { + MetricSelector pulumi.StringInput `pulumi:"metricSelector"` +} + +func (SloObjectiveCountMetricTotalDynatraceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalDynatrace)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalDynatraceArgs) ToSloObjectiveCountMetricTotalDynatraceOutput() SloObjectiveCountMetricTotalDynatraceOutput { + return i.ToSloObjectiveCountMetricTotalDynatraceOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalDynatraceArgs) ToSloObjectiveCountMetricTotalDynatraceOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalDynatraceOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalDynatraceOutput) +} + +// SloObjectiveCountMetricTotalDynatraceArrayInput is an input type that accepts SloObjectiveCountMetricTotalDynatraceArray and SloObjectiveCountMetricTotalDynatraceArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalDynatraceArrayInput` via: +// +// SloObjectiveCountMetricTotalDynatraceArray{ SloObjectiveCountMetricTotalDynatraceArgs{...} } +type SloObjectiveCountMetricTotalDynatraceArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalDynatraceArrayOutput() SloObjectiveCountMetricTotalDynatraceArrayOutput + ToSloObjectiveCountMetricTotalDynatraceArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalDynatraceArrayOutput +} + +type SloObjectiveCountMetricTotalDynatraceArray []SloObjectiveCountMetricTotalDynatraceInput + +func (SloObjectiveCountMetricTotalDynatraceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalDynatrace)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalDynatraceArray) ToSloObjectiveCountMetricTotalDynatraceArrayOutput() SloObjectiveCountMetricTotalDynatraceArrayOutput { + return i.ToSloObjectiveCountMetricTotalDynatraceArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalDynatraceArray) ToSloObjectiveCountMetricTotalDynatraceArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalDynatraceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalDynatraceArrayOutput) +} + +type SloObjectiveCountMetricTotalDynatraceOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalDynatraceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalDynatrace)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalDynatraceOutput) ToSloObjectiveCountMetricTotalDynatraceOutput() SloObjectiveCountMetricTotalDynatraceOutput { + return o +} + +func (o SloObjectiveCountMetricTotalDynatraceOutput) ToSloObjectiveCountMetricTotalDynatraceOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalDynatraceOutput { + return o +} + +func (o SloObjectiveCountMetricTotalDynatraceOutput) MetricSelector() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalDynatrace) string { return v.MetricSelector }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalDynatraceArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalDynatraceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalDynatrace)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalDynatraceArrayOutput) ToSloObjectiveCountMetricTotalDynatraceArrayOutput() SloObjectiveCountMetricTotalDynatraceArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalDynatraceArrayOutput) ToSloObjectiveCountMetricTotalDynatraceArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalDynatraceArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalDynatraceArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalDynatraceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalDynatrace { + return vs[0].([]SloObjectiveCountMetricTotalDynatrace)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalDynatraceOutput) +} + +type SloObjectiveCountMetricTotalElasticsearch struct { + Index string `pulumi:"index"` + Query string `pulumi:"query"` +} + +// SloObjectiveCountMetricTotalElasticsearchInput is an input type that accepts SloObjectiveCountMetricTotalElasticsearchArgs and SloObjectiveCountMetricTotalElasticsearchOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalElasticsearchInput` via: +// +// SloObjectiveCountMetricTotalElasticsearchArgs{...} +type SloObjectiveCountMetricTotalElasticsearchInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalElasticsearchOutput() SloObjectiveCountMetricTotalElasticsearchOutput + ToSloObjectiveCountMetricTotalElasticsearchOutputWithContext(context.Context) SloObjectiveCountMetricTotalElasticsearchOutput +} + +type SloObjectiveCountMetricTotalElasticsearchArgs struct { + Index pulumi.StringInput `pulumi:"index"` + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveCountMetricTotalElasticsearchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalElasticsearch)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalElasticsearchArgs) ToSloObjectiveCountMetricTotalElasticsearchOutput() SloObjectiveCountMetricTotalElasticsearchOutput { + return i.ToSloObjectiveCountMetricTotalElasticsearchOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalElasticsearchArgs) ToSloObjectiveCountMetricTotalElasticsearchOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalElasticsearchOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalElasticsearchOutput) +} + +// SloObjectiveCountMetricTotalElasticsearchArrayInput is an input type that accepts SloObjectiveCountMetricTotalElasticsearchArray and SloObjectiveCountMetricTotalElasticsearchArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalElasticsearchArrayInput` via: +// +// SloObjectiveCountMetricTotalElasticsearchArray{ SloObjectiveCountMetricTotalElasticsearchArgs{...} } +type SloObjectiveCountMetricTotalElasticsearchArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalElasticsearchArrayOutput() SloObjectiveCountMetricTotalElasticsearchArrayOutput + ToSloObjectiveCountMetricTotalElasticsearchArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalElasticsearchArrayOutput +} + +type SloObjectiveCountMetricTotalElasticsearchArray []SloObjectiveCountMetricTotalElasticsearchInput + +func (SloObjectiveCountMetricTotalElasticsearchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalElasticsearch)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalElasticsearchArray) ToSloObjectiveCountMetricTotalElasticsearchArrayOutput() SloObjectiveCountMetricTotalElasticsearchArrayOutput { + return i.ToSloObjectiveCountMetricTotalElasticsearchArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalElasticsearchArray) ToSloObjectiveCountMetricTotalElasticsearchArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalElasticsearchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalElasticsearchArrayOutput) +} + +type SloObjectiveCountMetricTotalElasticsearchOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalElasticsearchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalElasticsearch)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalElasticsearchOutput) ToSloObjectiveCountMetricTotalElasticsearchOutput() SloObjectiveCountMetricTotalElasticsearchOutput { + return o +} + +func (o SloObjectiveCountMetricTotalElasticsearchOutput) ToSloObjectiveCountMetricTotalElasticsearchOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalElasticsearchOutput { + return o +} + +func (o SloObjectiveCountMetricTotalElasticsearchOutput) Index() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalElasticsearch) string { return v.Index }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalElasticsearchOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalElasticsearch) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalElasticsearchArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalElasticsearchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalElasticsearch)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalElasticsearchArrayOutput) ToSloObjectiveCountMetricTotalElasticsearchArrayOutput() SloObjectiveCountMetricTotalElasticsearchArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalElasticsearchArrayOutput) ToSloObjectiveCountMetricTotalElasticsearchArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalElasticsearchArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalElasticsearchArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalElasticsearchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalElasticsearch { + return vs[0].([]SloObjectiveCountMetricTotalElasticsearch)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalElasticsearchOutput) +} + +type SloObjectiveCountMetricTotalGcm struct { + ProjectId string `pulumi:"projectId"` + Query string `pulumi:"query"` +} + +// SloObjectiveCountMetricTotalGcmInput is an input type that accepts SloObjectiveCountMetricTotalGcmArgs and SloObjectiveCountMetricTotalGcmOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalGcmInput` via: +// +// SloObjectiveCountMetricTotalGcmArgs{...} +type SloObjectiveCountMetricTotalGcmInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalGcmOutput() SloObjectiveCountMetricTotalGcmOutput + ToSloObjectiveCountMetricTotalGcmOutputWithContext(context.Context) SloObjectiveCountMetricTotalGcmOutput +} + +type SloObjectiveCountMetricTotalGcmArgs struct { + ProjectId pulumi.StringInput `pulumi:"projectId"` + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveCountMetricTotalGcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalGcm)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalGcmArgs) ToSloObjectiveCountMetricTotalGcmOutput() SloObjectiveCountMetricTotalGcmOutput { + return i.ToSloObjectiveCountMetricTotalGcmOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalGcmArgs) ToSloObjectiveCountMetricTotalGcmOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalGcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalGcmOutput) +} + +// SloObjectiveCountMetricTotalGcmArrayInput is an input type that accepts SloObjectiveCountMetricTotalGcmArray and SloObjectiveCountMetricTotalGcmArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalGcmArrayInput` via: +// +// SloObjectiveCountMetricTotalGcmArray{ SloObjectiveCountMetricTotalGcmArgs{...} } +type SloObjectiveCountMetricTotalGcmArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalGcmArrayOutput() SloObjectiveCountMetricTotalGcmArrayOutput + ToSloObjectiveCountMetricTotalGcmArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalGcmArrayOutput +} + +type SloObjectiveCountMetricTotalGcmArray []SloObjectiveCountMetricTotalGcmInput + +func (SloObjectiveCountMetricTotalGcmArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalGcm)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalGcmArray) ToSloObjectiveCountMetricTotalGcmArrayOutput() SloObjectiveCountMetricTotalGcmArrayOutput { + return i.ToSloObjectiveCountMetricTotalGcmArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalGcmArray) ToSloObjectiveCountMetricTotalGcmArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalGcmArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalGcmArrayOutput) +} + +type SloObjectiveCountMetricTotalGcmOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalGcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalGcm)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalGcmOutput) ToSloObjectiveCountMetricTotalGcmOutput() SloObjectiveCountMetricTotalGcmOutput { + return o +} + +func (o SloObjectiveCountMetricTotalGcmOutput) ToSloObjectiveCountMetricTotalGcmOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalGcmOutput { + return o +} + +func (o SloObjectiveCountMetricTotalGcmOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalGcm) string { return v.ProjectId }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalGcmOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalGcm) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalGcmArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalGcmArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalGcm)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalGcmArrayOutput) ToSloObjectiveCountMetricTotalGcmArrayOutput() SloObjectiveCountMetricTotalGcmArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalGcmArrayOutput) ToSloObjectiveCountMetricTotalGcmArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalGcmArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalGcmArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalGcmOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalGcm { + return vs[0].([]SloObjectiveCountMetricTotalGcm)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalGcmOutput) +} + +type SloObjectiveCountMetricTotalGrafanaLoki struct { + Logql string `pulumi:"logql"` +} + +// SloObjectiveCountMetricTotalGrafanaLokiInput is an input type that accepts SloObjectiveCountMetricTotalGrafanaLokiArgs and SloObjectiveCountMetricTotalGrafanaLokiOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalGrafanaLokiInput` via: +// +// SloObjectiveCountMetricTotalGrafanaLokiArgs{...} +type SloObjectiveCountMetricTotalGrafanaLokiInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalGrafanaLokiOutput() SloObjectiveCountMetricTotalGrafanaLokiOutput + ToSloObjectiveCountMetricTotalGrafanaLokiOutputWithContext(context.Context) SloObjectiveCountMetricTotalGrafanaLokiOutput +} + +type SloObjectiveCountMetricTotalGrafanaLokiArgs struct { + Logql pulumi.StringInput `pulumi:"logql"` +} + +func (SloObjectiveCountMetricTotalGrafanaLokiArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalGrafanaLoki)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalGrafanaLokiArgs) ToSloObjectiveCountMetricTotalGrafanaLokiOutput() SloObjectiveCountMetricTotalGrafanaLokiOutput { + return i.ToSloObjectiveCountMetricTotalGrafanaLokiOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalGrafanaLokiArgs) ToSloObjectiveCountMetricTotalGrafanaLokiOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalGrafanaLokiOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalGrafanaLokiOutput) +} + +// SloObjectiveCountMetricTotalGrafanaLokiArrayInput is an input type that accepts SloObjectiveCountMetricTotalGrafanaLokiArray and SloObjectiveCountMetricTotalGrafanaLokiArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalGrafanaLokiArrayInput` via: +// +// SloObjectiveCountMetricTotalGrafanaLokiArray{ SloObjectiveCountMetricTotalGrafanaLokiArgs{...} } +type SloObjectiveCountMetricTotalGrafanaLokiArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalGrafanaLokiArrayOutput() SloObjectiveCountMetricTotalGrafanaLokiArrayOutput + ToSloObjectiveCountMetricTotalGrafanaLokiArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalGrafanaLokiArrayOutput +} + +type SloObjectiveCountMetricTotalGrafanaLokiArray []SloObjectiveCountMetricTotalGrafanaLokiInput + +func (SloObjectiveCountMetricTotalGrafanaLokiArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalGrafanaLoki)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalGrafanaLokiArray) ToSloObjectiveCountMetricTotalGrafanaLokiArrayOutput() SloObjectiveCountMetricTotalGrafanaLokiArrayOutput { + return i.ToSloObjectiveCountMetricTotalGrafanaLokiArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalGrafanaLokiArray) ToSloObjectiveCountMetricTotalGrafanaLokiArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalGrafanaLokiArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalGrafanaLokiArrayOutput) +} + +type SloObjectiveCountMetricTotalGrafanaLokiOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalGrafanaLokiOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalGrafanaLoki)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalGrafanaLokiOutput) ToSloObjectiveCountMetricTotalGrafanaLokiOutput() SloObjectiveCountMetricTotalGrafanaLokiOutput { + return o +} + +func (o SloObjectiveCountMetricTotalGrafanaLokiOutput) ToSloObjectiveCountMetricTotalGrafanaLokiOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalGrafanaLokiOutput { + return o +} + +func (o SloObjectiveCountMetricTotalGrafanaLokiOutput) Logql() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalGrafanaLoki) string { return v.Logql }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalGrafanaLokiArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalGrafanaLokiArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalGrafanaLoki)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalGrafanaLokiArrayOutput) ToSloObjectiveCountMetricTotalGrafanaLokiArrayOutput() SloObjectiveCountMetricTotalGrafanaLokiArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalGrafanaLokiArrayOutput) ToSloObjectiveCountMetricTotalGrafanaLokiArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalGrafanaLokiArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalGrafanaLokiArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalGrafanaLokiOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalGrafanaLoki { + return vs[0].([]SloObjectiveCountMetricTotalGrafanaLoki)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalGrafanaLokiOutput) +} + +type SloObjectiveCountMetricTotalGraphite struct { + MetricPath string `pulumi:"metricPath"` +} + +// SloObjectiveCountMetricTotalGraphiteInput is an input type that accepts SloObjectiveCountMetricTotalGraphiteArgs and SloObjectiveCountMetricTotalGraphiteOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalGraphiteInput` via: +// +// SloObjectiveCountMetricTotalGraphiteArgs{...} +type SloObjectiveCountMetricTotalGraphiteInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalGraphiteOutput() SloObjectiveCountMetricTotalGraphiteOutput + ToSloObjectiveCountMetricTotalGraphiteOutputWithContext(context.Context) SloObjectiveCountMetricTotalGraphiteOutput +} + +type SloObjectiveCountMetricTotalGraphiteArgs struct { + MetricPath pulumi.StringInput `pulumi:"metricPath"` +} + +func (SloObjectiveCountMetricTotalGraphiteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalGraphite)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalGraphiteArgs) ToSloObjectiveCountMetricTotalGraphiteOutput() SloObjectiveCountMetricTotalGraphiteOutput { + return i.ToSloObjectiveCountMetricTotalGraphiteOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalGraphiteArgs) ToSloObjectiveCountMetricTotalGraphiteOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalGraphiteOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalGraphiteOutput) +} + +// SloObjectiveCountMetricTotalGraphiteArrayInput is an input type that accepts SloObjectiveCountMetricTotalGraphiteArray and SloObjectiveCountMetricTotalGraphiteArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalGraphiteArrayInput` via: +// +// SloObjectiveCountMetricTotalGraphiteArray{ SloObjectiveCountMetricTotalGraphiteArgs{...} } +type SloObjectiveCountMetricTotalGraphiteArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalGraphiteArrayOutput() SloObjectiveCountMetricTotalGraphiteArrayOutput + ToSloObjectiveCountMetricTotalGraphiteArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalGraphiteArrayOutput +} + +type SloObjectiveCountMetricTotalGraphiteArray []SloObjectiveCountMetricTotalGraphiteInput + +func (SloObjectiveCountMetricTotalGraphiteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalGraphite)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalGraphiteArray) ToSloObjectiveCountMetricTotalGraphiteArrayOutput() SloObjectiveCountMetricTotalGraphiteArrayOutput { + return i.ToSloObjectiveCountMetricTotalGraphiteArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalGraphiteArray) ToSloObjectiveCountMetricTotalGraphiteArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalGraphiteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalGraphiteArrayOutput) +} + +type SloObjectiveCountMetricTotalGraphiteOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalGraphiteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalGraphite)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalGraphiteOutput) ToSloObjectiveCountMetricTotalGraphiteOutput() SloObjectiveCountMetricTotalGraphiteOutput { + return o +} + +func (o SloObjectiveCountMetricTotalGraphiteOutput) ToSloObjectiveCountMetricTotalGraphiteOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalGraphiteOutput { + return o +} + +func (o SloObjectiveCountMetricTotalGraphiteOutput) MetricPath() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalGraphite) string { return v.MetricPath }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalGraphiteArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalGraphiteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalGraphite)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalGraphiteArrayOutput) ToSloObjectiveCountMetricTotalGraphiteArrayOutput() SloObjectiveCountMetricTotalGraphiteArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalGraphiteArrayOutput) ToSloObjectiveCountMetricTotalGraphiteArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalGraphiteArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalGraphiteArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalGraphiteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalGraphite { + return vs[0].([]SloObjectiveCountMetricTotalGraphite)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalGraphiteOutput) +} + +type SloObjectiveCountMetricTotalInfluxdb struct { + Query string `pulumi:"query"` +} + +// SloObjectiveCountMetricTotalInfluxdbInput is an input type that accepts SloObjectiveCountMetricTotalInfluxdbArgs and SloObjectiveCountMetricTotalInfluxdbOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalInfluxdbInput` via: +// +// SloObjectiveCountMetricTotalInfluxdbArgs{...} +type SloObjectiveCountMetricTotalInfluxdbInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalInfluxdbOutput() SloObjectiveCountMetricTotalInfluxdbOutput + ToSloObjectiveCountMetricTotalInfluxdbOutputWithContext(context.Context) SloObjectiveCountMetricTotalInfluxdbOutput +} + +type SloObjectiveCountMetricTotalInfluxdbArgs struct { + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveCountMetricTotalInfluxdbArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalInfluxdb)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalInfluxdbArgs) ToSloObjectiveCountMetricTotalInfluxdbOutput() SloObjectiveCountMetricTotalInfluxdbOutput { + return i.ToSloObjectiveCountMetricTotalInfluxdbOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalInfluxdbArgs) ToSloObjectiveCountMetricTotalInfluxdbOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInfluxdbOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalInfluxdbOutput) +} + +// SloObjectiveCountMetricTotalInfluxdbArrayInput is an input type that accepts SloObjectiveCountMetricTotalInfluxdbArray and SloObjectiveCountMetricTotalInfluxdbArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalInfluxdbArrayInput` via: +// +// SloObjectiveCountMetricTotalInfluxdbArray{ SloObjectiveCountMetricTotalInfluxdbArgs{...} } +type SloObjectiveCountMetricTotalInfluxdbArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalInfluxdbArrayOutput() SloObjectiveCountMetricTotalInfluxdbArrayOutput + ToSloObjectiveCountMetricTotalInfluxdbArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalInfluxdbArrayOutput +} + +type SloObjectiveCountMetricTotalInfluxdbArray []SloObjectiveCountMetricTotalInfluxdbInput + +func (SloObjectiveCountMetricTotalInfluxdbArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalInfluxdb)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalInfluxdbArray) ToSloObjectiveCountMetricTotalInfluxdbArrayOutput() SloObjectiveCountMetricTotalInfluxdbArrayOutput { + return i.ToSloObjectiveCountMetricTotalInfluxdbArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalInfluxdbArray) ToSloObjectiveCountMetricTotalInfluxdbArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInfluxdbArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalInfluxdbArrayOutput) +} + +type SloObjectiveCountMetricTotalInfluxdbOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalInfluxdbOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalInfluxdb)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalInfluxdbOutput) ToSloObjectiveCountMetricTotalInfluxdbOutput() SloObjectiveCountMetricTotalInfluxdbOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInfluxdbOutput) ToSloObjectiveCountMetricTotalInfluxdbOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInfluxdbOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInfluxdbOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInfluxdb) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalInfluxdbArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalInfluxdbArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalInfluxdb)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalInfluxdbArrayOutput) ToSloObjectiveCountMetricTotalInfluxdbArrayOutput() SloObjectiveCountMetricTotalInfluxdbArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInfluxdbArrayOutput) ToSloObjectiveCountMetricTotalInfluxdbArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInfluxdbArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInfluxdbArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalInfluxdbOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalInfluxdb { + return vs[0].([]SloObjectiveCountMetricTotalInfluxdb)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalInfluxdbOutput) +} + +type SloObjectiveCountMetricTotalInstana struct { + Applications []SloObjectiveCountMetricTotalInstanaApplication `pulumi:"applications"` + Infrastructures []SloObjectiveCountMetricTotalInstanaInfrastructure `pulumi:"infrastructures"` + MetricType string `pulumi:"metricType"` +} + +// SloObjectiveCountMetricTotalInstanaInput is an input type that accepts SloObjectiveCountMetricTotalInstanaArgs and SloObjectiveCountMetricTotalInstanaOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalInstanaInput` via: +// +// SloObjectiveCountMetricTotalInstanaArgs{...} +type SloObjectiveCountMetricTotalInstanaInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalInstanaOutput() SloObjectiveCountMetricTotalInstanaOutput + ToSloObjectiveCountMetricTotalInstanaOutputWithContext(context.Context) SloObjectiveCountMetricTotalInstanaOutput +} + +type SloObjectiveCountMetricTotalInstanaArgs struct { + Applications SloObjectiveCountMetricTotalInstanaApplicationArrayInput `pulumi:"applications"` + Infrastructures SloObjectiveCountMetricTotalInstanaInfrastructureArrayInput `pulumi:"infrastructures"` + MetricType pulumi.StringInput `pulumi:"metricType"` +} + +func (SloObjectiveCountMetricTotalInstanaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalInstana)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalInstanaArgs) ToSloObjectiveCountMetricTotalInstanaOutput() SloObjectiveCountMetricTotalInstanaOutput { + return i.ToSloObjectiveCountMetricTotalInstanaOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalInstanaArgs) ToSloObjectiveCountMetricTotalInstanaOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalInstanaOutput) +} + +// SloObjectiveCountMetricTotalInstanaArrayInput is an input type that accepts SloObjectiveCountMetricTotalInstanaArray and SloObjectiveCountMetricTotalInstanaArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalInstanaArrayInput` via: +// +// SloObjectiveCountMetricTotalInstanaArray{ SloObjectiveCountMetricTotalInstanaArgs{...} } +type SloObjectiveCountMetricTotalInstanaArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalInstanaArrayOutput() SloObjectiveCountMetricTotalInstanaArrayOutput + ToSloObjectiveCountMetricTotalInstanaArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalInstanaArrayOutput +} + +type SloObjectiveCountMetricTotalInstanaArray []SloObjectiveCountMetricTotalInstanaInput + +func (SloObjectiveCountMetricTotalInstanaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalInstana)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalInstanaArray) ToSloObjectiveCountMetricTotalInstanaArrayOutput() SloObjectiveCountMetricTotalInstanaArrayOutput { + return i.ToSloObjectiveCountMetricTotalInstanaArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalInstanaArray) ToSloObjectiveCountMetricTotalInstanaArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalInstanaArrayOutput) +} + +type SloObjectiveCountMetricTotalInstanaOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalInstanaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalInstana)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalInstanaOutput) ToSloObjectiveCountMetricTotalInstanaOutput() SloObjectiveCountMetricTotalInstanaOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaOutput) ToSloObjectiveCountMetricTotalInstanaOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaOutput) Applications() SloObjectiveCountMetricTotalInstanaApplicationArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstana) []SloObjectiveCountMetricTotalInstanaApplication { + return v.Applications + }).(SloObjectiveCountMetricTotalInstanaApplicationArrayOutput) +} + +func (o SloObjectiveCountMetricTotalInstanaOutput) Infrastructures() SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstana) []SloObjectiveCountMetricTotalInstanaInfrastructure { + return v.Infrastructures + }).(SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput) +} + +func (o SloObjectiveCountMetricTotalInstanaOutput) MetricType() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstana) string { return v.MetricType }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalInstanaArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalInstanaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalInstana)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalInstanaArrayOutput) ToSloObjectiveCountMetricTotalInstanaArrayOutput() SloObjectiveCountMetricTotalInstanaArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaArrayOutput) ToSloObjectiveCountMetricTotalInstanaArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalInstanaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalInstana { + return vs[0].([]SloObjectiveCountMetricTotalInstana)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalInstanaOutput) +} + +type SloObjectiveCountMetricTotalInstanaApplication struct { + Aggregation string `pulumi:"aggregation"` + ApiQuery string `pulumi:"apiQuery"` + GroupBies []SloObjectiveCountMetricTotalInstanaApplicationGroupBy `pulumi:"groupBies"` + IncludeInternal *bool `pulumi:"includeInternal"` + IncludeSynthetic *bool `pulumi:"includeSynthetic"` + MetricId string `pulumi:"metricId"` +} + +// SloObjectiveCountMetricTotalInstanaApplicationInput is an input type that accepts SloObjectiveCountMetricTotalInstanaApplicationArgs and SloObjectiveCountMetricTotalInstanaApplicationOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalInstanaApplicationInput` via: +// +// SloObjectiveCountMetricTotalInstanaApplicationArgs{...} +type SloObjectiveCountMetricTotalInstanaApplicationInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalInstanaApplicationOutput() SloObjectiveCountMetricTotalInstanaApplicationOutput + ToSloObjectiveCountMetricTotalInstanaApplicationOutputWithContext(context.Context) SloObjectiveCountMetricTotalInstanaApplicationOutput +} + +type SloObjectiveCountMetricTotalInstanaApplicationArgs struct { + Aggregation pulumi.StringInput `pulumi:"aggregation"` + ApiQuery pulumi.StringInput `pulumi:"apiQuery"` + GroupBies SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayInput `pulumi:"groupBies"` + IncludeInternal pulumi.BoolPtrInput `pulumi:"includeInternal"` + IncludeSynthetic pulumi.BoolPtrInput `pulumi:"includeSynthetic"` + MetricId pulumi.StringInput `pulumi:"metricId"` +} + +func (SloObjectiveCountMetricTotalInstanaApplicationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalInstanaApplication)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalInstanaApplicationArgs) ToSloObjectiveCountMetricTotalInstanaApplicationOutput() SloObjectiveCountMetricTotalInstanaApplicationOutput { + return i.ToSloObjectiveCountMetricTotalInstanaApplicationOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalInstanaApplicationArgs) ToSloObjectiveCountMetricTotalInstanaApplicationOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaApplicationOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalInstanaApplicationOutput) +} + +// SloObjectiveCountMetricTotalInstanaApplicationArrayInput is an input type that accepts SloObjectiveCountMetricTotalInstanaApplicationArray and SloObjectiveCountMetricTotalInstanaApplicationArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalInstanaApplicationArrayInput` via: +// +// SloObjectiveCountMetricTotalInstanaApplicationArray{ SloObjectiveCountMetricTotalInstanaApplicationArgs{...} } +type SloObjectiveCountMetricTotalInstanaApplicationArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalInstanaApplicationArrayOutput() SloObjectiveCountMetricTotalInstanaApplicationArrayOutput + ToSloObjectiveCountMetricTotalInstanaApplicationArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalInstanaApplicationArrayOutput +} + +type SloObjectiveCountMetricTotalInstanaApplicationArray []SloObjectiveCountMetricTotalInstanaApplicationInput + +func (SloObjectiveCountMetricTotalInstanaApplicationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalInstanaApplication)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalInstanaApplicationArray) ToSloObjectiveCountMetricTotalInstanaApplicationArrayOutput() SloObjectiveCountMetricTotalInstanaApplicationArrayOutput { + return i.ToSloObjectiveCountMetricTotalInstanaApplicationArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalInstanaApplicationArray) ToSloObjectiveCountMetricTotalInstanaApplicationArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaApplicationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalInstanaApplicationArrayOutput) +} + +type SloObjectiveCountMetricTotalInstanaApplicationOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalInstanaApplicationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalInstanaApplication)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationOutput) ToSloObjectiveCountMetricTotalInstanaApplicationOutput() SloObjectiveCountMetricTotalInstanaApplicationOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationOutput) ToSloObjectiveCountMetricTotalInstanaApplicationOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaApplicationOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationOutput) Aggregation() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstanaApplication) string { return v.Aggregation }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationOutput) ApiQuery() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstanaApplication) string { return v.ApiQuery }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationOutput) GroupBies() SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstanaApplication) []SloObjectiveCountMetricTotalInstanaApplicationGroupBy { + return v.GroupBies + }).(SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput) +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationOutput) IncludeInternal() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstanaApplication) *bool { return v.IncludeInternal }).(pulumi.BoolPtrOutput) +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationOutput) IncludeSynthetic() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstanaApplication) *bool { return v.IncludeSynthetic }).(pulumi.BoolPtrOutput) +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationOutput) MetricId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstanaApplication) string { return v.MetricId }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalInstanaApplicationArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalInstanaApplicationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalInstanaApplication)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationArrayOutput) ToSloObjectiveCountMetricTotalInstanaApplicationArrayOutput() SloObjectiveCountMetricTotalInstanaApplicationArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationArrayOutput) ToSloObjectiveCountMetricTotalInstanaApplicationArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaApplicationArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalInstanaApplicationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalInstanaApplication { + return vs[0].([]SloObjectiveCountMetricTotalInstanaApplication)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalInstanaApplicationOutput) +} + +type SloObjectiveCountMetricTotalInstanaApplicationGroupBy struct { + Tag string `pulumi:"tag"` + TagEntity string `pulumi:"tagEntity"` + TagSecondLevelKey *string `pulumi:"tagSecondLevelKey"` +} + +// SloObjectiveCountMetricTotalInstanaApplicationGroupByInput is an input type that accepts SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs and SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalInstanaApplicationGroupByInput` via: +// +// SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs{...} +type SloObjectiveCountMetricTotalInstanaApplicationGroupByInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalInstanaApplicationGroupByOutput() SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput + ToSloObjectiveCountMetricTotalInstanaApplicationGroupByOutputWithContext(context.Context) SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput +} + +type SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs struct { + Tag pulumi.StringInput `pulumi:"tag"` + TagEntity pulumi.StringInput `pulumi:"tagEntity"` + TagSecondLevelKey pulumi.StringPtrInput `pulumi:"tagSecondLevelKey"` +} + +func (SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalInstanaApplicationGroupBy)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs) ToSloObjectiveCountMetricTotalInstanaApplicationGroupByOutput() SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput { + return i.ToSloObjectiveCountMetricTotalInstanaApplicationGroupByOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs) ToSloObjectiveCountMetricTotalInstanaApplicationGroupByOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput) +} + +// SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayInput is an input type that accepts SloObjectiveCountMetricTotalInstanaApplicationGroupByArray and SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayInput` via: +// +// SloObjectiveCountMetricTotalInstanaApplicationGroupByArray{ SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs{...} } +type SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput() SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput + ToSloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput +} + +type SloObjectiveCountMetricTotalInstanaApplicationGroupByArray []SloObjectiveCountMetricTotalInstanaApplicationGroupByInput + +func (SloObjectiveCountMetricTotalInstanaApplicationGroupByArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalInstanaApplicationGroupBy)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalInstanaApplicationGroupByArray) ToSloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput() SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput { + return i.ToSloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalInstanaApplicationGroupByArray) ToSloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput) +} + +type SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalInstanaApplicationGroupBy)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput) ToSloObjectiveCountMetricTotalInstanaApplicationGroupByOutput() SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput) ToSloObjectiveCountMetricTotalInstanaApplicationGroupByOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput) Tag() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstanaApplicationGroupBy) string { return v.Tag }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput) TagEntity() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstanaApplicationGroupBy) string { return v.TagEntity }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput) TagSecondLevelKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstanaApplicationGroupBy) *string { return v.TagSecondLevelKey }).(pulumi.StringPtrOutput) +} + +type SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalInstanaApplicationGroupBy)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput) ToSloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput() SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput) ToSloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalInstanaApplicationGroupBy { + return vs[0].([]SloObjectiveCountMetricTotalInstanaApplicationGroupBy)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput) +} + +type SloObjectiveCountMetricTotalInstanaInfrastructure struct { + MetricId string `pulumi:"metricId"` + MetricRetrievalMethod string `pulumi:"metricRetrievalMethod"` + PluginId string `pulumi:"pluginId"` + Query *string `pulumi:"query"` + SnapshotId *string `pulumi:"snapshotId"` +} + +// SloObjectiveCountMetricTotalInstanaInfrastructureInput is an input type that accepts SloObjectiveCountMetricTotalInstanaInfrastructureArgs and SloObjectiveCountMetricTotalInstanaInfrastructureOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalInstanaInfrastructureInput` via: +// +// SloObjectiveCountMetricTotalInstanaInfrastructureArgs{...} +type SloObjectiveCountMetricTotalInstanaInfrastructureInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalInstanaInfrastructureOutput() SloObjectiveCountMetricTotalInstanaInfrastructureOutput + ToSloObjectiveCountMetricTotalInstanaInfrastructureOutputWithContext(context.Context) SloObjectiveCountMetricTotalInstanaInfrastructureOutput +} + +type SloObjectiveCountMetricTotalInstanaInfrastructureArgs struct { + MetricId pulumi.StringInput `pulumi:"metricId"` + MetricRetrievalMethod pulumi.StringInput `pulumi:"metricRetrievalMethod"` + PluginId pulumi.StringInput `pulumi:"pluginId"` + Query pulumi.StringPtrInput `pulumi:"query"` + SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` +} + +func (SloObjectiveCountMetricTotalInstanaInfrastructureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalInstanaInfrastructure)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalInstanaInfrastructureArgs) ToSloObjectiveCountMetricTotalInstanaInfrastructureOutput() SloObjectiveCountMetricTotalInstanaInfrastructureOutput { + return i.ToSloObjectiveCountMetricTotalInstanaInfrastructureOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalInstanaInfrastructureArgs) ToSloObjectiveCountMetricTotalInstanaInfrastructureOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaInfrastructureOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalInstanaInfrastructureOutput) +} + +// SloObjectiveCountMetricTotalInstanaInfrastructureArrayInput is an input type that accepts SloObjectiveCountMetricTotalInstanaInfrastructureArray and SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalInstanaInfrastructureArrayInput` via: +// +// SloObjectiveCountMetricTotalInstanaInfrastructureArray{ SloObjectiveCountMetricTotalInstanaInfrastructureArgs{...} } +type SloObjectiveCountMetricTotalInstanaInfrastructureArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput() SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput + ToSloObjectiveCountMetricTotalInstanaInfrastructureArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput +} + +type SloObjectiveCountMetricTotalInstanaInfrastructureArray []SloObjectiveCountMetricTotalInstanaInfrastructureInput + +func (SloObjectiveCountMetricTotalInstanaInfrastructureArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalInstanaInfrastructure)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalInstanaInfrastructureArray) ToSloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput() SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput { + return i.ToSloObjectiveCountMetricTotalInstanaInfrastructureArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalInstanaInfrastructureArray) ToSloObjectiveCountMetricTotalInstanaInfrastructureArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput) +} + +type SloObjectiveCountMetricTotalInstanaInfrastructureOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalInstanaInfrastructureOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalInstanaInfrastructure)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalInstanaInfrastructureOutput) ToSloObjectiveCountMetricTotalInstanaInfrastructureOutput() SloObjectiveCountMetricTotalInstanaInfrastructureOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaInfrastructureOutput) ToSloObjectiveCountMetricTotalInstanaInfrastructureOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaInfrastructureOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaInfrastructureOutput) MetricId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstanaInfrastructure) string { return v.MetricId }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalInstanaInfrastructureOutput) MetricRetrievalMethod() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstanaInfrastructure) string { return v.MetricRetrievalMethod }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalInstanaInfrastructureOutput) PluginId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstanaInfrastructure) string { return v.PluginId }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalInstanaInfrastructureOutput) Query() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstanaInfrastructure) *string { return v.Query }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricTotalInstanaInfrastructureOutput) SnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalInstanaInfrastructure) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +} + +type SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalInstanaInfrastructure)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput) ToSloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput() SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput) ToSloObjectiveCountMetricTotalInstanaInfrastructureArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalInstanaInfrastructureOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalInstanaInfrastructure { + return vs[0].([]SloObjectiveCountMetricTotalInstanaInfrastructure)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalInstanaInfrastructureOutput) +} + +type SloObjectiveCountMetricTotalLightstep struct { + Percentile *float64 `pulumi:"percentile"` + StreamId *string `pulumi:"streamId"` + TypeOfData string `pulumi:"typeOfData"` + Uql *string `pulumi:"uql"` +} + +// SloObjectiveCountMetricTotalLightstepInput is an input type that accepts SloObjectiveCountMetricTotalLightstepArgs and SloObjectiveCountMetricTotalLightstepOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalLightstepInput` via: +// +// SloObjectiveCountMetricTotalLightstepArgs{...} +type SloObjectiveCountMetricTotalLightstepInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalLightstepOutput() SloObjectiveCountMetricTotalLightstepOutput + ToSloObjectiveCountMetricTotalLightstepOutputWithContext(context.Context) SloObjectiveCountMetricTotalLightstepOutput +} + +type SloObjectiveCountMetricTotalLightstepArgs struct { + Percentile pulumi.Float64PtrInput `pulumi:"percentile"` + StreamId pulumi.StringPtrInput `pulumi:"streamId"` + TypeOfData pulumi.StringInput `pulumi:"typeOfData"` + Uql pulumi.StringPtrInput `pulumi:"uql"` +} + +func (SloObjectiveCountMetricTotalLightstepArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalLightstep)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalLightstepArgs) ToSloObjectiveCountMetricTotalLightstepOutput() SloObjectiveCountMetricTotalLightstepOutput { + return i.ToSloObjectiveCountMetricTotalLightstepOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalLightstepArgs) ToSloObjectiveCountMetricTotalLightstepOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalLightstepOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalLightstepOutput) +} + +// SloObjectiveCountMetricTotalLightstepArrayInput is an input type that accepts SloObjectiveCountMetricTotalLightstepArray and SloObjectiveCountMetricTotalLightstepArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalLightstepArrayInput` via: +// +// SloObjectiveCountMetricTotalLightstepArray{ SloObjectiveCountMetricTotalLightstepArgs{...} } +type SloObjectiveCountMetricTotalLightstepArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalLightstepArrayOutput() SloObjectiveCountMetricTotalLightstepArrayOutput + ToSloObjectiveCountMetricTotalLightstepArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalLightstepArrayOutput +} + +type SloObjectiveCountMetricTotalLightstepArray []SloObjectiveCountMetricTotalLightstepInput + +func (SloObjectiveCountMetricTotalLightstepArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalLightstep)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalLightstepArray) ToSloObjectiveCountMetricTotalLightstepArrayOutput() SloObjectiveCountMetricTotalLightstepArrayOutput { + return i.ToSloObjectiveCountMetricTotalLightstepArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalLightstepArray) ToSloObjectiveCountMetricTotalLightstepArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalLightstepArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalLightstepArrayOutput) +} + +type SloObjectiveCountMetricTotalLightstepOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalLightstepOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalLightstep)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalLightstepOutput) ToSloObjectiveCountMetricTotalLightstepOutput() SloObjectiveCountMetricTotalLightstepOutput { + return o +} + +func (o SloObjectiveCountMetricTotalLightstepOutput) ToSloObjectiveCountMetricTotalLightstepOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalLightstepOutput { + return o +} + +func (o SloObjectiveCountMetricTotalLightstepOutput) Percentile() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalLightstep) *float64 { return v.Percentile }).(pulumi.Float64PtrOutput) +} + +func (o SloObjectiveCountMetricTotalLightstepOutput) StreamId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalLightstep) *string { return v.StreamId }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricTotalLightstepOutput) TypeOfData() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalLightstep) string { return v.TypeOfData }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalLightstepOutput) Uql() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalLightstep) *string { return v.Uql }).(pulumi.StringPtrOutput) +} + +type SloObjectiveCountMetricTotalLightstepArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalLightstepArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalLightstep)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalLightstepArrayOutput) ToSloObjectiveCountMetricTotalLightstepArrayOutput() SloObjectiveCountMetricTotalLightstepArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalLightstepArrayOutput) ToSloObjectiveCountMetricTotalLightstepArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalLightstepArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalLightstepArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalLightstepOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalLightstep { + return vs[0].([]SloObjectiveCountMetricTotalLightstep)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalLightstepOutput) +} + +type SloObjectiveCountMetricTotalNewrelic struct { + Nrql string `pulumi:"nrql"` +} + +// SloObjectiveCountMetricTotalNewrelicInput is an input type that accepts SloObjectiveCountMetricTotalNewrelicArgs and SloObjectiveCountMetricTotalNewrelicOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalNewrelicInput` via: +// +// SloObjectiveCountMetricTotalNewrelicArgs{...} +type SloObjectiveCountMetricTotalNewrelicInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalNewrelicOutput() SloObjectiveCountMetricTotalNewrelicOutput + ToSloObjectiveCountMetricTotalNewrelicOutputWithContext(context.Context) SloObjectiveCountMetricTotalNewrelicOutput +} + +type SloObjectiveCountMetricTotalNewrelicArgs struct { + Nrql pulumi.StringInput `pulumi:"nrql"` +} + +func (SloObjectiveCountMetricTotalNewrelicArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalNewrelic)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalNewrelicArgs) ToSloObjectiveCountMetricTotalNewrelicOutput() SloObjectiveCountMetricTotalNewrelicOutput { + return i.ToSloObjectiveCountMetricTotalNewrelicOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalNewrelicArgs) ToSloObjectiveCountMetricTotalNewrelicOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalNewrelicOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalNewrelicOutput) +} + +// SloObjectiveCountMetricTotalNewrelicArrayInput is an input type that accepts SloObjectiveCountMetricTotalNewrelicArray and SloObjectiveCountMetricTotalNewrelicArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalNewrelicArrayInput` via: +// +// SloObjectiveCountMetricTotalNewrelicArray{ SloObjectiveCountMetricTotalNewrelicArgs{...} } +type SloObjectiveCountMetricTotalNewrelicArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalNewrelicArrayOutput() SloObjectiveCountMetricTotalNewrelicArrayOutput + ToSloObjectiveCountMetricTotalNewrelicArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalNewrelicArrayOutput +} + +type SloObjectiveCountMetricTotalNewrelicArray []SloObjectiveCountMetricTotalNewrelicInput + +func (SloObjectiveCountMetricTotalNewrelicArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalNewrelic)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalNewrelicArray) ToSloObjectiveCountMetricTotalNewrelicArrayOutput() SloObjectiveCountMetricTotalNewrelicArrayOutput { + return i.ToSloObjectiveCountMetricTotalNewrelicArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalNewrelicArray) ToSloObjectiveCountMetricTotalNewrelicArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalNewrelicArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalNewrelicArrayOutput) +} + +type SloObjectiveCountMetricTotalNewrelicOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalNewrelicOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalNewrelic)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalNewrelicOutput) ToSloObjectiveCountMetricTotalNewrelicOutput() SloObjectiveCountMetricTotalNewrelicOutput { + return o +} + +func (o SloObjectiveCountMetricTotalNewrelicOutput) ToSloObjectiveCountMetricTotalNewrelicOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalNewrelicOutput { + return o +} + +func (o SloObjectiveCountMetricTotalNewrelicOutput) Nrql() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalNewrelic) string { return v.Nrql }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalNewrelicArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalNewrelicArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalNewrelic)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalNewrelicArrayOutput) ToSloObjectiveCountMetricTotalNewrelicArrayOutput() SloObjectiveCountMetricTotalNewrelicArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalNewrelicArrayOutput) ToSloObjectiveCountMetricTotalNewrelicArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalNewrelicArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalNewrelicArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalNewrelicOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalNewrelic { + return vs[0].([]SloObjectiveCountMetricTotalNewrelic)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalNewrelicOutput) +} + +type SloObjectiveCountMetricTotalOpentsdb struct { + Query string `pulumi:"query"` +} + +// SloObjectiveCountMetricTotalOpentsdbInput is an input type that accepts SloObjectiveCountMetricTotalOpentsdbArgs and SloObjectiveCountMetricTotalOpentsdbOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalOpentsdbInput` via: +// +// SloObjectiveCountMetricTotalOpentsdbArgs{...} +type SloObjectiveCountMetricTotalOpentsdbInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalOpentsdbOutput() SloObjectiveCountMetricTotalOpentsdbOutput + ToSloObjectiveCountMetricTotalOpentsdbOutputWithContext(context.Context) SloObjectiveCountMetricTotalOpentsdbOutput +} + +type SloObjectiveCountMetricTotalOpentsdbArgs struct { + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveCountMetricTotalOpentsdbArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalOpentsdb)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalOpentsdbArgs) ToSloObjectiveCountMetricTotalOpentsdbOutput() SloObjectiveCountMetricTotalOpentsdbOutput { + return i.ToSloObjectiveCountMetricTotalOpentsdbOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalOpentsdbArgs) ToSloObjectiveCountMetricTotalOpentsdbOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalOpentsdbOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalOpentsdbOutput) +} + +// SloObjectiveCountMetricTotalOpentsdbArrayInput is an input type that accepts SloObjectiveCountMetricTotalOpentsdbArray and SloObjectiveCountMetricTotalOpentsdbArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalOpentsdbArrayInput` via: +// +// SloObjectiveCountMetricTotalOpentsdbArray{ SloObjectiveCountMetricTotalOpentsdbArgs{...} } +type SloObjectiveCountMetricTotalOpentsdbArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalOpentsdbArrayOutput() SloObjectiveCountMetricTotalOpentsdbArrayOutput + ToSloObjectiveCountMetricTotalOpentsdbArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalOpentsdbArrayOutput +} + +type SloObjectiveCountMetricTotalOpentsdbArray []SloObjectiveCountMetricTotalOpentsdbInput + +func (SloObjectiveCountMetricTotalOpentsdbArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalOpentsdb)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalOpentsdbArray) ToSloObjectiveCountMetricTotalOpentsdbArrayOutput() SloObjectiveCountMetricTotalOpentsdbArrayOutput { + return i.ToSloObjectiveCountMetricTotalOpentsdbArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalOpentsdbArray) ToSloObjectiveCountMetricTotalOpentsdbArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalOpentsdbArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalOpentsdbArrayOutput) +} + +type SloObjectiveCountMetricTotalOpentsdbOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalOpentsdbOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalOpentsdb)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalOpentsdbOutput) ToSloObjectiveCountMetricTotalOpentsdbOutput() SloObjectiveCountMetricTotalOpentsdbOutput { + return o +} + +func (o SloObjectiveCountMetricTotalOpentsdbOutput) ToSloObjectiveCountMetricTotalOpentsdbOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalOpentsdbOutput { + return o +} + +func (o SloObjectiveCountMetricTotalOpentsdbOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalOpentsdb) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalOpentsdbArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalOpentsdbArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalOpentsdb)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalOpentsdbArrayOutput) ToSloObjectiveCountMetricTotalOpentsdbArrayOutput() SloObjectiveCountMetricTotalOpentsdbArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalOpentsdbArrayOutput) ToSloObjectiveCountMetricTotalOpentsdbArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalOpentsdbArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalOpentsdbArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalOpentsdbOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalOpentsdb { + return vs[0].([]SloObjectiveCountMetricTotalOpentsdb)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalOpentsdbOutput) +} + +type SloObjectiveCountMetricTotalPingdom struct { + CheckId string `pulumi:"checkId"` + CheckType *string `pulumi:"checkType"` + Status *string `pulumi:"status"` +} + +// SloObjectiveCountMetricTotalPingdomInput is an input type that accepts SloObjectiveCountMetricTotalPingdomArgs and SloObjectiveCountMetricTotalPingdomOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalPingdomInput` via: +// +// SloObjectiveCountMetricTotalPingdomArgs{...} +type SloObjectiveCountMetricTotalPingdomInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalPingdomOutput() SloObjectiveCountMetricTotalPingdomOutput + ToSloObjectiveCountMetricTotalPingdomOutputWithContext(context.Context) SloObjectiveCountMetricTotalPingdomOutput +} + +type SloObjectiveCountMetricTotalPingdomArgs struct { + CheckId pulumi.StringInput `pulumi:"checkId"` + CheckType pulumi.StringPtrInput `pulumi:"checkType"` + Status pulumi.StringPtrInput `pulumi:"status"` +} + +func (SloObjectiveCountMetricTotalPingdomArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalPingdom)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalPingdomArgs) ToSloObjectiveCountMetricTotalPingdomOutput() SloObjectiveCountMetricTotalPingdomOutput { + return i.ToSloObjectiveCountMetricTotalPingdomOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalPingdomArgs) ToSloObjectiveCountMetricTotalPingdomOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalPingdomOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalPingdomOutput) +} + +// SloObjectiveCountMetricTotalPingdomArrayInput is an input type that accepts SloObjectiveCountMetricTotalPingdomArray and SloObjectiveCountMetricTotalPingdomArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalPingdomArrayInput` via: +// +// SloObjectiveCountMetricTotalPingdomArray{ SloObjectiveCountMetricTotalPingdomArgs{...} } +type SloObjectiveCountMetricTotalPingdomArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalPingdomArrayOutput() SloObjectiveCountMetricTotalPingdomArrayOutput + ToSloObjectiveCountMetricTotalPingdomArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalPingdomArrayOutput +} + +type SloObjectiveCountMetricTotalPingdomArray []SloObjectiveCountMetricTotalPingdomInput + +func (SloObjectiveCountMetricTotalPingdomArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalPingdom)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalPingdomArray) ToSloObjectiveCountMetricTotalPingdomArrayOutput() SloObjectiveCountMetricTotalPingdomArrayOutput { + return i.ToSloObjectiveCountMetricTotalPingdomArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalPingdomArray) ToSloObjectiveCountMetricTotalPingdomArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalPingdomArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalPingdomArrayOutput) +} + +type SloObjectiveCountMetricTotalPingdomOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalPingdomOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalPingdom)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalPingdomOutput) ToSloObjectiveCountMetricTotalPingdomOutput() SloObjectiveCountMetricTotalPingdomOutput { + return o +} + +func (o SloObjectiveCountMetricTotalPingdomOutput) ToSloObjectiveCountMetricTotalPingdomOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalPingdomOutput { + return o +} + +func (o SloObjectiveCountMetricTotalPingdomOutput) CheckId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalPingdom) string { return v.CheckId }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalPingdomOutput) CheckType() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalPingdom) *string { return v.CheckType }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricTotalPingdomOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalPingdom) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +type SloObjectiveCountMetricTotalPingdomArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalPingdomArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalPingdom)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalPingdomArrayOutput) ToSloObjectiveCountMetricTotalPingdomArrayOutput() SloObjectiveCountMetricTotalPingdomArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalPingdomArrayOutput) ToSloObjectiveCountMetricTotalPingdomArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalPingdomArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalPingdomArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalPingdomOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalPingdom { + return vs[0].([]SloObjectiveCountMetricTotalPingdom)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalPingdomOutput) +} + +type SloObjectiveCountMetricTotalPrometheus struct { + Promql string `pulumi:"promql"` +} + +// SloObjectiveCountMetricTotalPrometheusInput is an input type that accepts SloObjectiveCountMetricTotalPrometheusArgs and SloObjectiveCountMetricTotalPrometheusOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalPrometheusInput` via: +// +// SloObjectiveCountMetricTotalPrometheusArgs{...} +type SloObjectiveCountMetricTotalPrometheusInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalPrometheusOutput() SloObjectiveCountMetricTotalPrometheusOutput + ToSloObjectiveCountMetricTotalPrometheusOutputWithContext(context.Context) SloObjectiveCountMetricTotalPrometheusOutput +} + +type SloObjectiveCountMetricTotalPrometheusArgs struct { + Promql pulumi.StringInput `pulumi:"promql"` +} + +func (SloObjectiveCountMetricTotalPrometheusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalPrometheus)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalPrometheusArgs) ToSloObjectiveCountMetricTotalPrometheusOutput() SloObjectiveCountMetricTotalPrometheusOutput { + return i.ToSloObjectiveCountMetricTotalPrometheusOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalPrometheusArgs) ToSloObjectiveCountMetricTotalPrometheusOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalPrometheusOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalPrometheusOutput) +} + +// SloObjectiveCountMetricTotalPrometheusArrayInput is an input type that accepts SloObjectiveCountMetricTotalPrometheusArray and SloObjectiveCountMetricTotalPrometheusArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalPrometheusArrayInput` via: +// +// SloObjectiveCountMetricTotalPrometheusArray{ SloObjectiveCountMetricTotalPrometheusArgs{...} } +type SloObjectiveCountMetricTotalPrometheusArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalPrometheusArrayOutput() SloObjectiveCountMetricTotalPrometheusArrayOutput + ToSloObjectiveCountMetricTotalPrometheusArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalPrometheusArrayOutput +} + +type SloObjectiveCountMetricTotalPrometheusArray []SloObjectiveCountMetricTotalPrometheusInput + +func (SloObjectiveCountMetricTotalPrometheusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalPrometheus)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalPrometheusArray) ToSloObjectiveCountMetricTotalPrometheusArrayOutput() SloObjectiveCountMetricTotalPrometheusArrayOutput { + return i.ToSloObjectiveCountMetricTotalPrometheusArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalPrometheusArray) ToSloObjectiveCountMetricTotalPrometheusArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalPrometheusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalPrometheusArrayOutput) +} + +type SloObjectiveCountMetricTotalPrometheusOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalPrometheusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalPrometheus)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalPrometheusOutput) ToSloObjectiveCountMetricTotalPrometheusOutput() SloObjectiveCountMetricTotalPrometheusOutput { + return o +} + +func (o SloObjectiveCountMetricTotalPrometheusOutput) ToSloObjectiveCountMetricTotalPrometheusOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalPrometheusOutput { + return o +} + +func (o SloObjectiveCountMetricTotalPrometheusOutput) Promql() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalPrometheus) string { return v.Promql }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalPrometheusArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalPrometheusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalPrometheus)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalPrometheusArrayOutput) ToSloObjectiveCountMetricTotalPrometheusArrayOutput() SloObjectiveCountMetricTotalPrometheusArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalPrometheusArrayOutput) ToSloObjectiveCountMetricTotalPrometheusArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalPrometheusArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalPrometheusArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalPrometheusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalPrometheus { + return vs[0].([]SloObjectiveCountMetricTotalPrometheus)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalPrometheusOutput) +} + +type SloObjectiveCountMetricTotalRedshift struct { + ClusterId string `pulumi:"clusterId"` + DatabaseName string `pulumi:"databaseName"` + Query string `pulumi:"query"` + Region string `pulumi:"region"` +} + +// SloObjectiveCountMetricTotalRedshiftInput is an input type that accepts SloObjectiveCountMetricTotalRedshiftArgs and SloObjectiveCountMetricTotalRedshiftOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalRedshiftInput` via: +// +// SloObjectiveCountMetricTotalRedshiftArgs{...} +type SloObjectiveCountMetricTotalRedshiftInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalRedshiftOutput() SloObjectiveCountMetricTotalRedshiftOutput + ToSloObjectiveCountMetricTotalRedshiftOutputWithContext(context.Context) SloObjectiveCountMetricTotalRedshiftOutput +} + +type SloObjectiveCountMetricTotalRedshiftArgs struct { + ClusterId pulumi.StringInput `pulumi:"clusterId"` + DatabaseName pulumi.StringInput `pulumi:"databaseName"` + Query pulumi.StringInput `pulumi:"query"` + Region pulumi.StringInput `pulumi:"region"` +} + +func (SloObjectiveCountMetricTotalRedshiftArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalRedshift)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalRedshiftArgs) ToSloObjectiveCountMetricTotalRedshiftOutput() SloObjectiveCountMetricTotalRedshiftOutput { + return i.ToSloObjectiveCountMetricTotalRedshiftOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalRedshiftArgs) ToSloObjectiveCountMetricTotalRedshiftOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalRedshiftOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalRedshiftOutput) +} + +// SloObjectiveCountMetricTotalRedshiftArrayInput is an input type that accepts SloObjectiveCountMetricTotalRedshiftArray and SloObjectiveCountMetricTotalRedshiftArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalRedshiftArrayInput` via: +// +// SloObjectiveCountMetricTotalRedshiftArray{ SloObjectiveCountMetricTotalRedshiftArgs{...} } +type SloObjectiveCountMetricTotalRedshiftArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalRedshiftArrayOutput() SloObjectiveCountMetricTotalRedshiftArrayOutput + ToSloObjectiveCountMetricTotalRedshiftArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalRedshiftArrayOutput +} + +type SloObjectiveCountMetricTotalRedshiftArray []SloObjectiveCountMetricTotalRedshiftInput + +func (SloObjectiveCountMetricTotalRedshiftArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalRedshift)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalRedshiftArray) ToSloObjectiveCountMetricTotalRedshiftArrayOutput() SloObjectiveCountMetricTotalRedshiftArrayOutput { + return i.ToSloObjectiveCountMetricTotalRedshiftArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalRedshiftArray) ToSloObjectiveCountMetricTotalRedshiftArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalRedshiftArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalRedshiftArrayOutput) +} + +type SloObjectiveCountMetricTotalRedshiftOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalRedshiftOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalRedshift)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalRedshiftOutput) ToSloObjectiveCountMetricTotalRedshiftOutput() SloObjectiveCountMetricTotalRedshiftOutput { + return o +} + +func (o SloObjectiveCountMetricTotalRedshiftOutput) ToSloObjectiveCountMetricTotalRedshiftOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalRedshiftOutput { + return o +} + +func (o SloObjectiveCountMetricTotalRedshiftOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalRedshift) string { return v.ClusterId }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalRedshiftOutput) DatabaseName() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalRedshift) string { return v.DatabaseName }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalRedshiftOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalRedshift) string { return v.Query }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalRedshiftOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalRedshift) string { return v.Region }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalRedshiftArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalRedshiftArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalRedshift)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalRedshiftArrayOutput) ToSloObjectiveCountMetricTotalRedshiftArrayOutput() SloObjectiveCountMetricTotalRedshiftArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalRedshiftArrayOutput) ToSloObjectiveCountMetricTotalRedshiftArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalRedshiftArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalRedshiftArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalRedshiftOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalRedshift { + return vs[0].([]SloObjectiveCountMetricTotalRedshift)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalRedshiftOutput) +} + +type SloObjectiveCountMetricTotalSplunk struct { + Query string `pulumi:"query"` +} + +// SloObjectiveCountMetricTotalSplunkInput is an input type that accepts SloObjectiveCountMetricTotalSplunkArgs and SloObjectiveCountMetricTotalSplunkOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalSplunkInput` via: +// +// SloObjectiveCountMetricTotalSplunkArgs{...} +type SloObjectiveCountMetricTotalSplunkInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalSplunkOutput() SloObjectiveCountMetricTotalSplunkOutput + ToSloObjectiveCountMetricTotalSplunkOutputWithContext(context.Context) SloObjectiveCountMetricTotalSplunkOutput +} + +type SloObjectiveCountMetricTotalSplunkArgs struct { + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveCountMetricTotalSplunkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalSplunk)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalSplunkArgs) ToSloObjectiveCountMetricTotalSplunkOutput() SloObjectiveCountMetricTotalSplunkOutput { + return i.ToSloObjectiveCountMetricTotalSplunkOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalSplunkArgs) ToSloObjectiveCountMetricTotalSplunkOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalSplunkOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalSplunkOutput) +} + +// SloObjectiveCountMetricTotalSplunkArrayInput is an input type that accepts SloObjectiveCountMetricTotalSplunkArray and SloObjectiveCountMetricTotalSplunkArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalSplunkArrayInput` via: +// +// SloObjectiveCountMetricTotalSplunkArray{ SloObjectiveCountMetricTotalSplunkArgs{...} } +type SloObjectiveCountMetricTotalSplunkArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalSplunkArrayOutput() SloObjectiveCountMetricTotalSplunkArrayOutput + ToSloObjectiveCountMetricTotalSplunkArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalSplunkArrayOutput +} + +type SloObjectiveCountMetricTotalSplunkArray []SloObjectiveCountMetricTotalSplunkInput + +func (SloObjectiveCountMetricTotalSplunkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalSplunk)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalSplunkArray) ToSloObjectiveCountMetricTotalSplunkArrayOutput() SloObjectiveCountMetricTotalSplunkArrayOutput { + return i.ToSloObjectiveCountMetricTotalSplunkArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalSplunkArray) ToSloObjectiveCountMetricTotalSplunkArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalSplunkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalSplunkArrayOutput) +} + +type SloObjectiveCountMetricTotalSplunkOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalSplunkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalSplunk)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalSplunkOutput) ToSloObjectiveCountMetricTotalSplunkOutput() SloObjectiveCountMetricTotalSplunkOutput { + return o +} + +func (o SloObjectiveCountMetricTotalSplunkOutput) ToSloObjectiveCountMetricTotalSplunkOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalSplunkOutput { + return o +} + +func (o SloObjectiveCountMetricTotalSplunkOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalSplunk) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalSplunkArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalSplunkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalSplunk)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalSplunkArrayOutput) ToSloObjectiveCountMetricTotalSplunkArrayOutput() SloObjectiveCountMetricTotalSplunkArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalSplunkArrayOutput) ToSloObjectiveCountMetricTotalSplunkArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalSplunkArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalSplunkArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalSplunkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalSplunk { + return vs[0].([]SloObjectiveCountMetricTotalSplunk)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalSplunkOutput) +} + +type SloObjectiveCountMetricTotalSplunkObservability struct { + Program string `pulumi:"program"` +} + +// SloObjectiveCountMetricTotalSplunkObservabilityInput is an input type that accepts SloObjectiveCountMetricTotalSplunkObservabilityArgs and SloObjectiveCountMetricTotalSplunkObservabilityOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalSplunkObservabilityInput` via: +// +// SloObjectiveCountMetricTotalSplunkObservabilityArgs{...} +type SloObjectiveCountMetricTotalSplunkObservabilityInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalSplunkObservabilityOutput() SloObjectiveCountMetricTotalSplunkObservabilityOutput + ToSloObjectiveCountMetricTotalSplunkObservabilityOutputWithContext(context.Context) SloObjectiveCountMetricTotalSplunkObservabilityOutput +} + +type SloObjectiveCountMetricTotalSplunkObservabilityArgs struct { + Program pulumi.StringInput `pulumi:"program"` +} + +func (SloObjectiveCountMetricTotalSplunkObservabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalSplunkObservability)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalSplunkObservabilityArgs) ToSloObjectiveCountMetricTotalSplunkObservabilityOutput() SloObjectiveCountMetricTotalSplunkObservabilityOutput { + return i.ToSloObjectiveCountMetricTotalSplunkObservabilityOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalSplunkObservabilityArgs) ToSloObjectiveCountMetricTotalSplunkObservabilityOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalSplunkObservabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalSplunkObservabilityOutput) +} + +// SloObjectiveCountMetricTotalSplunkObservabilityArrayInput is an input type that accepts SloObjectiveCountMetricTotalSplunkObservabilityArray and SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalSplunkObservabilityArrayInput` via: +// +// SloObjectiveCountMetricTotalSplunkObservabilityArray{ SloObjectiveCountMetricTotalSplunkObservabilityArgs{...} } +type SloObjectiveCountMetricTotalSplunkObservabilityArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalSplunkObservabilityArrayOutput() SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput + ToSloObjectiveCountMetricTotalSplunkObservabilityArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput +} + +type SloObjectiveCountMetricTotalSplunkObservabilityArray []SloObjectiveCountMetricTotalSplunkObservabilityInput + +func (SloObjectiveCountMetricTotalSplunkObservabilityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalSplunkObservability)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalSplunkObservabilityArray) ToSloObjectiveCountMetricTotalSplunkObservabilityArrayOutput() SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput { + return i.ToSloObjectiveCountMetricTotalSplunkObservabilityArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalSplunkObservabilityArray) ToSloObjectiveCountMetricTotalSplunkObservabilityArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput) +} + +type SloObjectiveCountMetricTotalSplunkObservabilityOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalSplunkObservabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalSplunkObservability)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalSplunkObservabilityOutput) ToSloObjectiveCountMetricTotalSplunkObservabilityOutput() SloObjectiveCountMetricTotalSplunkObservabilityOutput { + return o +} + +func (o SloObjectiveCountMetricTotalSplunkObservabilityOutput) ToSloObjectiveCountMetricTotalSplunkObservabilityOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalSplunkObservabilityOutput { + return o +} + +func (o SloObjectiveCountMetricTotalSplunkObservabilityOutput) Program() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalSplunkObservability) string { return v.Program }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalSplunkObservability)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput) ToSloObjectiveCountMetricTotalSplunkObservabilityArrayOutput() SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput) ToSloObjectiveCountMetricTotalSplunkObservabilityArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalSplunkObservabilityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalSplunkObservability { + return vs[0].([]SloObjectiveCountMetricTotalSplunkObservability)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalSplunkObservabilityOutput) +} + +type SloObjectiveCountMetricTotalSumologic struct { + Quantization *string `pulumi:"quantization"` + Query string `pulumi:"query"` + Rollup *string `pulumi:"rollup"` + Type string `pulumi:"type"` +} + +// SloObjectiveCountMetricTotalSumologicInput is an input type that accepts SloObjectiveCountMetricTotalSumologicArgs and SloObjectiveCountMetricTotalSumologicOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalSumologicInput` via: +// +// SloObjectiveCountMetricTotalSumologicArgs{...} +type SloObjectiveCountMetricTotalSumologicInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalSumologicOutput() SloObjectiveCountMetricTotalSumologicOutput + ToSloObjectiveCountMetricTotalSumologicOutputWithContext(context.Context) SloObjectiveCountMetricTotalSumologicOutput +} + +type SloObjectiveCountMetricTotalSumologicArgs struct { + Quantization pulumi.StringPtrInput `pulumi:"quantization"` + Query pulumi.StringInput `pulumi:"query"` + Rollup pulumi.StringPtrInput `pulumi:"rollup"` + Type pulumi.StringInput `pulumi:"type"` +} + +func (SloObjectiveCountMetricTotalSumologicArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalSumologic)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalSumologicArgs) ToSloObjectiveCountMetricTotalSumologicOutput() SloObjectiveCountMetricTotalSumologicOutput { + return i.ToSloObjectiveCountMetricTotalSumologicOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalSumologicArgs) ToSloObjectiveCountMetricTotalSumologicOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalSumologicOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalSumologicOutput) +} + +// SloObjectiveCountMetricTotalSumologicArrayInput is an input type that accepts SloObjectiveCountMetricTotalSumologicArray and SloObjectiveCountMetricTotalSumologicArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalSumologicArrayInput` via: +// +// SloObjectiveCountMetricTotalSumologicArray{ SloObjectiveCountMetricTotalSumologicArgs{...} } +type SloObjectiveCountMetricTotalSumologicArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalSumologicArrayOutput() SloObjectiveCountMetricTotalSumologicArrayOutput + ToSloObjectiveCountMetricTotalSumologicArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalSumologicArrayOutput +} + +type SloObjectiveCountMetricTotalSumologicArray []SloObjectiveCountMetricTotalSumologicInput + +func (SloObjectiveCountMetricTotalSumologicArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalSumologic)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalSumologicArray) ToSloObjectiveCountMetricTotalSumologicArrayOutput() SloObjectiveCountMetricTotalSumologicArrayOutput { + return i.ToSloObjectiveCountMetricTotalSumologicArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalSumologicArray) ToSloObjectiveCountMetricTotalSumologicArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalSumologicArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalSumologicArrayOutput) +} + +type SloObjectiveCountMetricTotalSumologicOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalSumologicOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalSumologic)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalSumologicOutput) ToSloObjectiveCountMetricTotalSumologicOutput() SloObjectiveCountMetricTotalSumologicOutput { + return o +} + +func (o SloObjectiveCountMetricTotalSumologicOutput) ToSloObjectiveCountMetricTotalSumologicOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalSumologicOutput { + return o +} + +func (o SloObjectiveCountMetricTotalSumologicOutput) Quantization() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalSumologic) *string { return v.Quantization }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricTotalSumologicOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalSumologic) string { return v.Query }).(pulumi.StringOutput) +} + +func (o SloObjectiveCountMetricTotalSumologicOutput) Rollup() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalSumologic) *string { return v.Rollup }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveCountMetricTotalSumologicOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalSumologic) string { return v.Type }).(pulumi.StringOutput) +} + +type SloObjectiveCountMetricTotalSumologicArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalSumologicArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalSumologic)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalSumologicArrayOutput) ToSloObjectiveCountMetricTotalSumologicArrayOutput() SloObjectiveCountMetricTotalSumologicArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalSumologicArrayOutput) ToSloObjectiveCountMetricTotalSumologicArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalSumologicArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalSumologicArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalSumologicOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalSumologic { + return vs[0].([]SloObjectiveCountMetricTotalSumologic)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalSumologicOutput) +} + +type SloObjectiveCountMetricTotalThousandeye struct { + TestId int `pulumi:"testId"` +} + +// SloObjectiveCountMetricTotalThousandeyeInput is an input type that accepts SloObjectiveCountMetricTotalThousandeyeArgs and SloObjectiveCountMetricTotalThousandeyeOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalThousandeyeInput` via: +// +// SloObjectiveCountMetricTotalThousandeyeArgs{...} +type SloObjectiveCountMetricTotalThousandeyeInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalThousandeyeOutput() SloObjectiveCountMetricTotalThousandeyeOutput + ToSloObjectiveCountMetricTotalThousandeyeOutputWithContext(context.Context) SloObjectiveCountMetricTotalThousandeyeOutput +} + +type SloObjectiveCountMetricTotalThousandeyeArgs struct { + TestId pulumi.IntInput `pulumi:"testId"` +} + +func (SloObjectiveCountMetricTotalThousandeyeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalThousandeye)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalThousandeyeArgs) ToSloObjectiveCountMetricTotalThousandeyeOutput() SloObjectiveCountMetricTotalThousandeyeOutput { + return i.ToSloObjectiveCountMetricTotalThousandeyeOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalThousandeyeArgs) ToSloObjectiveCountMetricTotalThousandeyeOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalThousandeyeOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalThousandeyeOutput) +} + +// SloObjectiveCountMetricTotalThousandeyeArrayInput is an input type that accepts SloObjectiveCountMetricTotalThousandeyeArray and SloObjectiveCountMetricTotalThousandeyeArrayOutput values. +// You can construct a concrete instance of `SloObjectiveCountMetricTotalThousandeyeArrayInput` via: +// +// SloObjectiveCountMetricTotalThousandeyeArray{ SloObjectiveCountMetricTotalThousandeyeArgs{...} } +type SloObjectiveCountMetricTotalThousandeyeArrayInput interface { + pulumi.Input + + ToSloObjectiveCountMetricTotalThousandeyeArrayOutput() SloObjectiveCountMetricTotalThousandeyeArrayOutput + ToSloObjectiveCountMetricTotalThousandeyeArrayOutputWithContext(context.Context) SloObjectiveCountMetricTotalThousandeyeArrayOutput +} + +type SloObjectiveCountMetricTotalThousandeyeArray []SloObjectiveCountMetricTotalThousandeyeInput + +func (SloObjectiveCountMetricTotalThousandeyeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalThousandeye)(nil)).Elem() +} + +func (i SloObjectiveCountMetricTotalThousandeyeArray) ToSloObjectiveCountMetricTotalThousandeyeArrayOutput() SloObjectiveCountMetricTotalThousandeyeArrayOutput { + return i.ToSloObjectiveCountMetricTotalThousandeyeArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveCountMetricTotalThousandeyeArray) ToSloObjectiveCountMetricTotalThousandeyeArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalThousandeyeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveCountMetricTotalThousandeyeArrayOutput) +} + +type SloObjectiveCountMetricTotalThousandeyeOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalThousandeyeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveCountMetricTotalThousandeye)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalThousandeyeOutput) ToSloObjectiveCountMetricTotalThousandeyeOutput() SloObjectiveCountMetricTotalThousandeyeOutput { + return o +} + +func (o SloObjectiveCountMetricTotalThousandeyeOutput) ToSloObjectiveCountMetricTotalThousandeyeOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalThousandeyeOutput { + return o +} + +func (o SloObjectiveCountMetricTotalThousandeyeOutput) TestId() pulumi.IntOutput { + return o.ApplyT(func(v SloObjectiveCountMetricTotalThousandeye) int { return v.TestId }).(pulumi.IntOutput) +} + +type SloObjectiveCountMetricTotalThousandeyeArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveCountMetricTotalThousandeyeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveCountMetricTotalThousandeye)(nil)).Elem() +} + +func (o SloObjectiveCountMetricTotalThousandeyeArrayOutput) ToSloObjectiveCountMetricTotalThousandeyeArrayOutput() SloObjectiveCountMetricTotalThousandeyeArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalThousandeyeArrayOutput) ToSloObjectiveCountMetricTotalThousandeyeArrayOutputWithContext(ctx context.Context) SloObjectiveCountMetricTotalThousandeyeArrayOutput { + return o +} + +func (o SloObjectiveCountMetricTotalThousandeyeArrayOutput) Index(i pulumi.IntInput) SloObjectiveCountMetricTotalThousandeyeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveCountMetricTotalThousandeye { + return vs[0].([]SloObjectiveCountMetricTotalThousandeye)[vs[1].(int)] + }).(SloObjectiveCountMetricTotalThousandeyeOutput) +} + +type SloObjectiveRawMetric struct { + Queries []SloObjectiveRawMetricQuery `pulumi:"queries"` +} + +// SloObjectiveRawMetricInput is an input type that accepts SloObjectiveRawMetricArgs and SloObjectiveRawMetricOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricInput` via: +// +// SloObjectiveRawMetricArgs{...} +type SloObjectiveRawMetricInput interface { + pulumi.Input + + ToSloObjectiveRawMetricOutput() SloObjectiveRawMetricOutput + ToSloObjectiveRawMetricOutputWithContext(context.Context) SloObjectiveRawMetricOutput +} + +type SloObjectiveRawMetricArgs struct { + Queries SloObjectiveRawMetricQueryArrayInput `pulumi:"queries"` +} + +func (SloObjectiveRawMetricArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetric)(nil)).Elem() +} + +func (i SloObjectiveRawMetricArgs) ToSloObjectiveRawMetricOutput() SloObjectiveRawMetricOutput { + return i.ToSloObjectiveRawMetricOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricArgs) ToSloObjectiveRawMetricOutputWithContext(ctx context.Context) SloObjectiveRawMetricOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricOutput) +} + +// SloObjectiveRawMetricArrayInput is an input type that accepts SloObjectiveRawMetricArray and SloObjectiveRawMetricArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricArrayInput` via: +// +// SloObjectiveRawMetricArray{ SloObjectiveRawMetricArgs{...} } +type SloObjectiveRawMetricArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricArrayOutput() SloObjectiveRawMetricArrayOutput + ToSloObjectiveRawMetricArrayOutputWithContext(context.Context) SloObjectiveRawMetricArrayOutput +} + +type SloObjectiveRawMetricArray []SloObjectiveRawMetricInput + +func (SloObjectiveRawMetricArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetric)(nil)).Elem() +} + +func (i SloObjectiveRawMetricArray) ToSloObjectiveRawMetricArrayOutput() SloObjectiveRawMetricArrayOutput { + return i.ToSloObjectiveRawMetricArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricArray) ToSloObjectiveRawMetricArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricArrayOutput) +} + +type SloObjectiveRawMetricOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetric)(nil)).Elem() +} + +func (o SloObjectiveRawMetricOutput) ToSloObjectiveRawMetricOutput() SloObjectiveRawMetricOutput { + return o +} + +func (o SloObjectiveRawMetricOutput) ToSloObjectiveRawMetricOutputWithContext(ctx context.Context) SloObjectiveRawMetricOutput { + return o +} + +func (o SloObjectiveRawMetricOutput) Queries() SloObjectiveRawMetricQueryArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetric) []SloObjectiveRawMetricQuery { return v.Queries }).(SloObjectiveRawMetricQueryArrayOutput) +} + +type SloObjectiveRawMetricArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetric)(nil)).Elem() +} + +func (o SloObjectiveRawMetricArrayOutput) ToSloObjectiveRawMetricArrayOutput() SloObjectiveRawMetricArrayOutput { + return o +} + +func (o SloObjectiveRawMetricArrayOutput) ToSloObjectiveRawMetricArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricArrayOutput { + return o +} + +func (o SloObjectiveRawMetricArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetric { + return vs[0].([]SloObjectiveRawMetric)[vs[1].(int)] + }).(SloObjectiveRawMetricOutput) +} + +type SloObjectiveRawMetricQuery struct { + AmazonPrometheuses []SloObjectiveRawMetricQueryAmazonPrometheus `pulumi:"amazonPrometheuses"` + Appdynamics []SloObjectiveRawMetricQueryAppdynamic `pulumi:"appdynamics"` + Bigqueries []SloObjectiveRawMetricQueryBigquery `pulumi:"bigqueries"` + Cloudwatches []SloObjectiveRawMetricQueryCloudwatch `pulumi:"cloudwatches"` + Datadogs []SloObjectiveRawMetricQueryDatadog `pulumi:"datadogs"` + Dynatraces []SloObjectiveRawMetricQueryDynatrace `pulumi:"dynatraces"` + Elasticsearches []SloObjectiveRawMetricQueryElasticsearch `pulumi:"elasticsearches"` + Gcms []SloObjectiveRawMetricQueryGcm `pulumi:"gcms"` + GrafanaLokis []SloObjectiveRawMetricQueryGrafanaLoki `pulumi:"grafanaLokis"` + Graphites []SloObjectiveRawMetricQueryGraphite `pulumi:"graphites"` + Influxdbs []SloObjectiveRawMetricQueryInfluxdb `pulumi:"influxdbs"` + Instanas []SloObjectiveRawMetricQueryInstana `pulumi:"instanas"` + Lightsteps []SloObjectiveRawMetricQueryLightstep `pulumi:"lightsteps"` + Newrelics []SloObjectiveRawMetricQueryNewrelic `pulumi:"newrelics"` + Opentsdbs []SloObjectiveRawMetricQueryOpentsdb `pulumi:"opentsdbs"` + Pingdoms []SloObjectiveRawMetricQueryPingdom `pulumi:"pingdoms"` + Prometheuses []SloObjectiveRawMetricQueryPrometheus `pulumi:"prometheuses"` + Redshifts []SloObjectiveRawMetricQueryRedshift `pulumi:"redshifts"` + SplunkObservabilities []SloObjectiveRawMetricQuerySplunkObservability `pulumi:"splunkObservabilities"` + Splunks []SloObjectiveRawMetricQuerySplunk `pulumi:"splunks"` + Sumologics []SloObjectiveRawMetricQuerySumologic `pulumi:"sumologics"` + Thousandeyes []SloObjectiveRawMetricQueryThousandeye `pulumi:"thousandeyes"` +} + +// SloObjectiveRawMetricQueryInput is an input type that accepts SloObjectiveRawMetricQueryArgs and SloObjectiveRawMetricQueryOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryInput` via: +// +// SloObjectiveRawMetricQueryArgs{...} +type SloObjectiveRawMetricQueryInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryOutput() SloObjectiveRawMetricQueryOutput + ToSloObjectiveRawMetricQueryOutputWithContext(context.Context) SloObjectiveRawMetricQueryOutput +} + +type SloObjectiveRawMetricQueryArgs struct { + AmazonPrometheuses SloObjectiveRawMetricQueryAmazonPrometheusArrayInput `pulumi:"amazonPrometheuses"` + Appdynamics SloObjectiveRawMetricQueryAppdynamicArrayInput `pulumi:"appdynamics"` + Bigqueries SloObjectiveRawMetricQueryBigqueryArrayInput `pulumi:"bigqueries"` + Cloudwatches SloObjectiveRawMetricQueryCloudwatchArrayInput `pulumi:"cloudwatches"` + Datadogs SloObjectiveRawMetricQueryDatadogArrayInput `pulumi:"datadogs"` + Dynatraces SloObjectiveRawMetricQueryDynatraceArrayInput `pulumi:"dynatraces"` + Elasticsearches SloObjectiveRawMetricQueryElasticsearchArrayInput `pulumi:"elasticsearches"` + Gcms SloObjectiveRawMetricQueryGcmArrayInput `pulumi:"gcms"` + GrafanaLokis SloObjectiveRawMetricQueryGrafanaLokiArrayInput `pulumi:"grafanaLokis"` + Graphites SloObjectiveRawMetricQueryGraphiteArrayInput `pulumi:"graphites"` + Influxdbs SloObjectiveRawMetricQueryInfluxdbArrayInput `pulumi:"influxdbs"` + Instanas SloObjectiveRawMetricQueryInstanaArrayInput `pulumi:"instanas"` + Lightsteps SloObjectiveRawMetricQueryLightstepArrayInput `pulumi:"lightsteps"` + Newrelics SloObjectiveRawMetricQueryNewrelicArrayInput `pulumi:"newrelics"` + Opentsdbs SloObjectiveRawMetricQueryOpentsdbArrayInput `pulumi:"opentsdbs"` + Pingdoms SloObjectiveRawMetricQueryPingdomArrayInput `pulumi:"pingdoms"` + Prometheuses SloObjectiveRawMetricQueryPrometheusArrayInput `pulumi:"prometheuses"` + Redshifts SloObjectiveRawMetricQueryRedshiftArrayInput `pulumi:"redshifts"` + SplunkObservabilities SloObjectiveRawMetricQuerySplunkObservabilityArrayInput `pulumi:"splunkObservabilities"` + Splunks SloObjectiveRawMetricQuerySplunkArrayInput `pulumi:"splunks"` + Sumologics SloObjectiveRawMetricQuerySumologicArrayInput `pulumi:"sumologics"` + Thousandeyes SloObjectiveRawMetricQueryThousandeyeArrayInput `pulumi:"thousandeyes"` +} + +func (SloObjectiveRawMetricQueryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQuery)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryArgs) ToSloObjectiveRawMetricQueryOutput() SloObjectiveRawMetricQueryOutput { + return i.ToSloObjectiveRawMetricQueryOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryArgs) ToSloObjectiveRawMetricQueryOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryOutput) +} + +// SloObjectiveRawMetricQueryArrayInput is an input type that accepts SloObjectiveRawMetricQueryArray and SloObjectiveRawMetricQueryArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryArrayInput` via: +// +// SloObjectiveRawMetricQueryArray{ SloObjectiveRawMetricQueryArgs{...} } +type SloObjectiveRawMetricQueryArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryArrayOutput() SloObjectiveRawMetricQueryArrayOutput + ToSloObjectiveRawMetricQueryArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryArrayOutput +} + +type SloObjectiveRawMetricQueryArray []SloObjectiveRawMetricQueryInput + +func (SloObjectiveRawMetricQueryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQuery)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryArray) ToSloObjectiveRawMetricQueryArrayOutput() SloObjectiveRawMetricQueryArrayOutput { + return i.ToSloObjectiveRawMetricQueryArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryArray) ToSloObjectiveRawMetricQueryArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryArrayOutput) +} + +type SloObjectiveRawMetricQueryOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQuery)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryOutput) ToSloObjectiveRawMetricQueryOutput() SloObjectiveRawMetricQueryOutput { + return o +} + +func (o SloObjectiveRawMetricQueryOutput) ToSloObjectiveRawMetricQueryOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryOutput { + return o +} + +func (o SloObjectiveRawMetricQueryOutput) AmazonPrometheuses() SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryAmazonPrometheus { + return v.AmazonPrometheuses + }).(SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Appdynamics() SloObjectiveRawMetricQueryAppdynamicArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryAppdynamic { return v.Appdynamics }).(SloObjectiveRawMetricQueryAppdynamicArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Bigqueries() SloObjectiveRawMetricQueryBigqueryArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryBigquery { return v.Bigqueries }).(SloObjectiveRawMetricQueryBigqueryArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Cloudwatches() SloObjectiveRawMetricQueryCloudwatchArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryCloudwatch { return v.Cloudwatches }).(SloObjectiveRawMetricQueryCloudwatchArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Datadogs() SloObjectiveRawMetricQueryDatadogArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryDatadog { return v.Datadogs }).(SloObjectiveRawMetricQueryDatadogArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Dynatraces() SloObjectiveRawMetricQueryDynatraceArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryDynatrace { return v.Dynatraces }).(SloObjectiveRawMetricQueryDynatraceArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Elasticsearches() SloObjectiveRawMetricQueryElasticsearchArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryElasticsearch { return v.Elasticsearches }).(SloObjectiveRawMetricQueryElasticsearchArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Gcms() SloObjectiveRawMetricQueryGcmArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryGcm { return v.Gcms }).(SloObjectiveRawMetricQueryGcmArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) GrafanaLokis() SloObjectiveRawMetricQueryGrafanaLokiArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryGrafanaLoki { return v.GrafanaLokis }).(SloObjectiveRawMetricQueryGrafanaLokiArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Graphites() SloObjectiveRawMetricQueryGraphiteArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryGraphite { return v.Graphites }).(SloObjectiveRawMetricQueryGraphiteArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Influxdbs() SloObjectiveRawMetricQueryInfluxdbArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryInfluxdb { return v.Influxdbs }).(SloObjectiveRawMetricQueryInfluxdbArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Instanas() SloObjectiveRawMetricQueryInstanaArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryInstana { return v.Instanas }).(SloObjectiveRawMetricQueryInstanaArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Lightsteps() SloObjectiveRawMetricQueryLightstepArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryLightstep { return v.Lightsteps }).(SloObjectiveRawMetricQueryLightstepArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Newrelics() SloObjectiveRawMetricQueryNewrelicArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryNewrelic { return v.Newrelics }).(SloObjectiveRawMetricQueryNewrelicArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Opentsdbs() SloObjectiveRawMetricQueryOpentsdbArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryOpentsdb { return v.Opentsdbs }).(SloObjectiveRawMetricQueryOpentsdbArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Pingdoms() SloObjectiveRawMetricQueryPingdomArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryPingdom { return v.Pingdoms }).(SloObjectiveRawMetricQueryPingdomArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Prometheuses() SloObjectiveRawMetricQueryPrometheusArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryPrometheus { return v.Prometheuses }).(SloObjectiveRawMetricQueryPrometheusArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Redshifts() SloObjectiveRawMetricQueryRedshiftArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryRedshift { return v.Redshifts }).(SloObjectiveRawMetricQueryRedshiftArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) SplunkObservabilities() SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQuerySplunkObservability { + return v.SplunkObservabilities + }).(SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Splunks() SloObjectiveRawMetricQuerySplunkArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQuerySplunk { return v.Splunks }).(SloObjectiveRawMetricQuerySplunkArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Sumologics() SloObjectiveRawMetricQuerySumologicArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQuerySumologic { return v.Sumologics }).(SloObjectiveRawMetricQuerySumologicArrayOutput) +} + +func (o SloObjectiveRawMetricQueryOutput) Thousandeyes() SloObjectiveRawMetricQueryThousandeyeArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuery) []SloObjectiveRawMetricQueryThousandeye { return v.Thousandeyes }).(SloObjectiveRawMetricQueryThousandeyeArrayOutput) +} + +type SloObjectiveRawMetricQueryArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQuery)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryArrayOutput) ToSloObjectiveRawMetricQueryArrayOutput() SloObjectiveRawMetricQueryArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryArrayOutput) ToSloObjectiveRawMetricQueryArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQuery { + return vs[0].([]SloObjectiveRawMetricQuery)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryOutput) +} + +type SloObjectiveRawMetricQueryAmazonPrometheus struct { + Promql string `pulumi:"promql"` +} + +// SloObjectiveRawMetricQueryAmazonPrometheusInput is an input type that accepts SloObjectiveRawMetricQueryAmazonPrometheusArgs and SloObjectiveRawMetricQueryAmazonPrometheusOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryAmazonPrometheusInput` via: +// +// SloObjectiveRawMetricQueryAmazonPrometheusArgs{...} +type SloObjectiveRawMetricQueryAmazonPrometheusInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryAmazonPrometheusOutput() SloObjectiveRawMetricQueryAmazonPrometheusOutput + ToSloObjectiveRawMetricQueryAmazonPrometheusOutputWithContext(context.Context) SloObjectiveRawMetricQueryAmazonPrometheusOutput +} + +type SloObjectiveRawMetricQueryAmazonPrometheusArgs struct { + Promql pulumi.StringInput `pulumi:"promql"` +} + +func (SloObjectiveRawMetricQueryAmazonPrometheusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryAmazonPrometheus)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryAmazonPrometheusArgs) ToSloObjectiveRawMetricQueryAmazonPrometheusOutput() SloObjectiveRawMetricQueryAmazonPrometheusOutput { + return i.ToSloObjectiveRawMetricQueryAmazonPrometheusOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryAmazonPrometheusArgs) ToSloObjectiveRawMetricQueryAmazonPrometheusOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryAmazonPrometheusOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryAmazonPrometheusOutput) +} + +// SloObjectiveRawMetricQueryAmazonPrometheusArrayInput is an input type that accepts SloObjectiveRawMetricQueryAmazonPrometheusArray and SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryAmazonPrometheusArrayInput` via: +// +// SloObjectiveRawMetricQueryAmazonPrometheusArray{ SloObjectiveRawMetricQueryAmazonPrometheusArgs{...} } +type SloObjectiveRawMetricQueryAmazonPrometheusArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryAmazonPrometheusArrayOutput() SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput + ToSloObjectiveRawMetricQueryAmazonPrometheusArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput +} + +type SloObjectiveRawMetricQueryAmazonPrometheusArray []SloObjectiveRawMetricQueryAmazonPrometheusInput + +func (SloObjectiveRawMetricQueryAmazonPrometheusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryAmazonPrometheus)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryAmazonPrometheusArray) ToSloObjectiveRawMetricQueryAmazonPrometheusArrayOutput() SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput { + return i.ToSloObjectiveRawMetricQueryAmazonPrometheusArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryAmazonPrometheusArray) ToSloObjectiveRawMetricQueryAmazonPrometheusArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput) +} + +type SloObjectiveRawMetricQueryAmazonPrometheusOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryAmazonPrometheusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryAmazonPrometheus)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryAmazonPrometheusOutput) ToSloObjectiveRawMetricQueryAmazonPrometheusOutput() SloObjectiveRawMetricQueryAmazonPrometheusOutput { + return o +} + +func (o SloObjectiveRawMetricQueryAmazonPrometheusOutput) ToSloObjectiveRawMetricQueryAmazonPrometheusOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryAmazonPrometheusOutput { + return o +} + +func (o SloObjectiveRawMetricQueryAmazonPrometheusOutput) Promql() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryAmazonPrometheus) string { return v.Promql }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryAmazonPrometheus)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput) ToSloObjectiveRawMetricQueryAmazonPrometheusArrayOutput() SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput) ToSloObjectiveRawMetricQueryAmazonPrometheusArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryAmazonPrometheusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryAmazonPrometheus { + return vs[0].([]SloObjectiveRawMetricQueryAmazonPrometheus)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryAmazonPrometheusOutput) +} + +type SloObjectiveRawMetricQueryAppdynamic struct { + ApplicationName string `pulumi:"applicationName"` + MetricPath string `pulumi:"metricPath"` +} + +// SloObjectiveRawMetricQueryAppdynamicInput is an input type that accepts SloObjectiveRawMetricQueryAppdynamicArgs and SloObjectiveRawMetricQueryAppdynamicOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryAppdynamicInput` via: +// +// SloObjectiveRawMetricQueryAppdynamicArgs{...} +type SloObjectiveRawMetricQueryAppdynamicInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryAppdynamicOutput() SloObjectiveRawMetricQueryAppdynamicOutput + ToSloObjectiveRawMetricQueryAppdynamicOutputWithContext(context.Context) SloObjectiveRawMetricQueryAppdynamicOutput +} + +type SloObjectiveRawMetricQueryAppdynamicArgs struct { + ApplicationName pulumi.StringInput `pulumi:"applicationName"` + MetricPath pulumi.StringInput `pulumi:"metricPath"` +} + +func (SloObjectiveRawMetricQueryAppdynamicArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryAppdynamic)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryAppdynamicArgs) ToSloObjectiveRawMetricQueryAppdynamicOutput() SloObjectiveRawMetricQueryAppdynamicOutput { + return i.ToSloObjectiveRawMetricQueryAppdynamicOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryAppdynamicArgs) ToSloObjectiveRawMetricQueryAppdynamicOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryAppdynamicOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryAppdynamicOutput) +} + +// SloObjectiveRawMetricQueryAppdynamicArrayInput is an input type that accepts SloObjectiveRawMetricQueryAppdynamicArray and SloObjectiveRawMetricQueryAppdynamicArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryAppdynamicArrayInput` via: +// +// SloObjectiveRawMetricQueryAppdynamicArray{ SloObjectiveRawMetricQueryAppdynamicArgs{...} } +type SloObjectiveRawMetricQueryAppdynamicArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryAppdynamicArrayOutput() SloObjectiveRawMetricQueryAppdynamicArrayOutput + ToSloObjectiveRawMetricQueryAppdynamicArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryAppdynamicArrayOutput +} + +type SloObjectiveRawMetricQueryAppdynamicArray []SloObjectiveRawMetricQueryAppdynamicInput + +func (SloObjectiveRawMetricQueryAppdynamicArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryAppdynamic)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryAppdynamicArray) ToSloObjectiveRawMetricQueryAppdynamicArrayOutput() SloObjectiveRawMetricQueryAppdynamicArrayOutput { + return i.ToSloObjectiveRawMetricQueryAppdynamicArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryAppdynamicArray) ToSloObjectiveRawMetricQueryAppdynamicArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryAppdynamicArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryAppdynamicArrayOutput) +} + +type SloObjectiveRawMetricQueryAppdynamicOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryAppdynamicOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryAppdynamic)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryAppdynamicOutput) ToSloObjectiveRawMetricQueryAppdynamicOutput() SloObjectiveRawMetricQueryAppdynamicOutput { + return o +} + +func (o SloObjectiveRawMetricQueryAppdynamicOutput) ToSloObjectiveRawMetricQueryAppdynamicOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryAppdynamicOutput { + return o +} + +func (o SloObjectiveRawMetricQueryAppdynamicOutput) ApplicationName() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryAppdynamic) string { return v.ApplicationName }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryAppdynamicOutput) MetricPath() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryAppdynamic) string { return v.MetricPath }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryAppdynamicArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryAppdynamicArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryAppdynamic)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryAppdynamicArrayOutput) ToSloObjectiveRawMetricQueryAppdynamicArrayOutput() SloObjectiveRawMetricQueryAppdynamicArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryAppdynamicArrayOutput) ToSloObjectiveRawMetricQueryAppdynamicArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryAppdynamicArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryAppdynamicArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryAppdynamicOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryAppdynamic { + return vs[0].([]SloObjectiveRawMetricQueryAppdynamic)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryAppdynamicOutput) +} + +type SloObjectiveRawMetricQueryBigquery struct { + Location string `pulumi:"location"` + ProjectId string `pulumi:"projectId"` + Query string `pulumi:"query"` +} + +// SloObjectiveRawMetricQueryBigqueryInput is an input type that accepts SloObjectiveRawMetricQueryBigqueryArgs and SloObjectiveRawMetricQueryBigqueryOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryBigqueryInput` via: +// +// SloObjectiveRawMetricQueryBigqueryArgs{...} +type SloObjectiveRawMetricQueryBigqueryInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryBigqueryOutput() SloObjectiveRawMetricQueryBigqueryOutput + ToSloObjectiveRawMetricQueryBigqueryOutputWithContext(context.Context) SloObjectiveRawMetricQueryBigqueryOutput +} + +type SloObjectiveRawMetricQueryBigqueryArgs struct { + Location pulumi.StringInput `pulumi:"location"` + ProjectId pulumi.StringInput `pulumi:"projectId"` + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveRawMetricQueryBigqueryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryBigquery)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryBigqueryArgs) ToSloObjectiveRawMetricQueryBigqueryOutput() SloObjectiveRawMetricQueryBigqueryOutput { + return i.ToSloObjectiveRawMetricQueryBigqueryOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryBigqueryArgs) ToSloObjectiveRawMetricQueryBigqueryOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryBigqueryOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryBigqueryOutput) +} + +// SloObjectiveRawMetricQueryBigqueryArrayInput is an input type that accepts SloObjectiveRawMetricQueryBigqueryArray and SloObjectiveRawMetricQueryBigqueryArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryBigqueryArrayInput` via: +// +// SloObjectiveRawMetricQueryBigqueryArray{ SloObjectiveRawMetricQueryBigqueryArgs{...} } +type SloObjectiveRawMetricQueryBigqueryArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryBigqueryArrayOutput() SloObjectiveRawMetricQueryBigqueryArrayOutput + ToSloObjectiveRawMetricQueryBigqueryArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryBigqueryArrayOutput +} + +type SloObjectiveRawMetricQueryBigqueryArray []SloObjectiveRawMetricQueryBigqueryInput + +func (SloObjectiveRawMetricQueryBigqueryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryBigquery)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryBigqueryArray) ToSloObjectiveRawMetricQueryBigqueryArrayOutput() SloObjectiveRawMetricQueryBigqueryArrayOutput { + return i.ToSloObjectiveRawMetricQueryBigqueryArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryBigqueryArray) ToSloObjectiveRawMetricQueryBigqueryArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryBigqueryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryBigqueryArrayOutput) +} + +type SloObjectiveRawMetricQueryBigqueryOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryBigqueryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryBigquery)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryBigqueryOutput) ToSloObjectiveRawMetricQueryBigqueryOutput() SloObjectiveRawMetricQueryBigqueryOutput { + return o +} + +func (o SloObjectiveRawMetricQueryBigqueryOutput) ToSloObjectiveRawMetricQueryBigqueryOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryBigqueryOutput { + return o +} + +func (o SloObjectiveRawMetricQueryBigqueryOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryBigquery) string { return v.Location }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryBigqueryOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryBigquery) string { return v.ProjectId }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryBigqueryOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryBigquery) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryBigqueryArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryBigqueryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryBigquery)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryBigqueryArrayOutput) ToSloObjectiveRawMetricQueryBigqueryArrayOutput() SloObjectiveRawMetricQueryBigqueryArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryBigqueryArrayOutput) ToSloObjectiveRawMetricQueryBigqueryArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryBigqueryArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryBigqueryArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryBigqueryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryBigquery { + return vs[0].([]SloObjectiveRawMetricQueryBigquery)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryBigqueryOutput) +} + +type SloObjectiveRawMetricQueryCloudwatch struct { + Dimensions []SloObjectiveRawMetricQueryCloudwatchDimension `pulumi:"dimensions"` + Json *string `pulumi:"json"` + MetricName *string `pulumi:"metricName"` + Namespace *string `pulumi:"namespace"` + Region string `pulumi:"region"` + Sql *string `pulumi:"sql"` + Stat *string `pulumi:"stat"` +} + +// SloObjectiveRawMetricQueryCloudwatchInput is an input type that accepts SloObjectiveRawMetricQueryCloudwatchArgs and SloObjectiveRawMetricQueryCloudwatchOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryCloudwatchInput` via: +// +// SloObjectiveRawMetricQueryCloudwatchArgs{...} +type SloObjectiveRawMetricQueryCloudwatchInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryCloudwatchOutput() SloObjectiveRawMetricQueryCloudwatchOutput + ToSloObjectiveRawMetricQueryCloudwatchOutputWithContext(context.Context) SloObjectiveRawMetricQueryCloudwatchOutput +} + +type SloObjectiveRawMetricQueryCloudwatchArgs struct { + Dimensions SloObjectiveRawMetricQueryCloudwatchDimensionArrayInput `pulumi:"dimensions"` + Json pulumi.StringPtrInput `pulumi:"json"` + MetricName pulumi.StringPtrInput `pulumi:"metricName"` + Namespace pulumi.StringPtrInput `pulumi:"namespace"` + Region pulumi.StringInput `pulumi:"region"` + Sql pulumi.StringPtrInput `pulumi:"sql"` + Stat pulumi.StringPtrInput `pulumi:"stat"` +} + +func (SloObjectiveRawMetricQueryCloudwatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryCloudwatch)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryCloudwatchArgs) ToSloObjectiveRawMetricQueryCloudwatchOutput() SloObjectiveRawMetricQueryCloudwatchOutput { + return i.ToSloObjectiveRawMetricQueryCloudwatchOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryCloudwatchArgs) ToSloObjectiveRawMetricQueryCloudwatchOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryCloudwatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryCloudwatchOutput) +} + +// SloObjectiveRawMetricQueryCloudwatchArrayInput is an input type that accepts SloObjectiveRawMetricQueryCloudwatchArray and SloObjectiveRawMetricQueryCloudwatchArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryCloudwatchArrayInput` via: +// +// SloObjectiveRawMetricQueryCloudwatchArray{ SloObjectiveRawMetricQueryCloudwatchArgs{...} } +type SloObjectiveRawMetricQueryCloudwatchArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryCloudwatchArrayOutput() SloObjectiveRawMetricQueryCloudwatchArrayOutput + ToSloObjectiveRawMetricQueryCloudwatchArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryCloudwatchArrayOutput +} + +type SloObjectiveRawMetricQueryCloudwatchArray []SloObjectiveRawMetricQueryCloudwatchInput + +func (SloObjectiveRawMetricQueryCloudwatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryCloudwatch)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryCloudwatchArray) ToSloObjectiveRawMetricQueryCloudwatchArrayOutput() SloObjectiveRawMetricQueryCloudwatchArrayOutput { + return i.ToSloObjectiveRawMetricQueryCloudwatchArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryCloudwatchArray) ToSloObjectiveRawMetricQueryCloudwatchArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryCloudwatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryCloudwatchArrayOutput) +} + +type SloObjectiveRawMetricQueryCloudwatchOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryCloudwatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryCloudwatch)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryCloudwatchOutput) ToSloObjectiveRawMetricQueryCloudwatchOutput() SloObjectiveRawMetricQueryCloudwatchOutput { + return o +} + +func (o SloObjectiveRawMetricQueryCloudwatchOutput) ToSloObjectiveRawMetricQueryCloudwatchOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryCloudwatchOutput { + return o +} + +func (o SloObjectiveRawMetricQueryCloudwatchOutput) Dimensions() SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryCloudwatch) []SloObjectiveRawMetricQueryCloudwatchDimension { + return v.Dimensions + }).(SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput) +} + +func (o SloObjectiveRawMetricQueryCloudwatchOutput) Json() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryCloudwatch) *string { return v.Json }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveRawMetricQueryCloudwatchOutput) MetricName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryCloudwatch) *string { return v.MetricName }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveRawMetricQueryCloudwatchOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryCloudwatch) *string { return v.Namespace }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveRawMetricQueryCloudwatchOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryCloudwatch) string { return v.Region }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryCloudwatchOutput) Sql() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryCloudwatch) *string { return v.Sql }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveRawMetricQueryCloudwatchOutput) Stat() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryCloudwatch) *string { return v.Stat }).(pulumi.StringPtrOutput) +} + +type SloObjectiveRawMetricQueryCloudwatchArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryCloudwatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryCloudwatch)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryCloudwatchArrayOutput) ToSloObjectiveRawMetricQueryCloudwatchArrayOutput() SloObjectiveRawMetricQueryCloudwatchArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryCloudwatchArrayOutput) ToSloObjectiveRawMetricQueryCloudwatchArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryCloudwatchArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryCloudwatchArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryCloudwatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryCloudwatch { + return vs[0].([]SloObjectiveRawMetricQueryCloudwatch)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryCloudwatchOutput) +} + +type SloObjectiveRawMetricQueryCloudwatchDimension struct { + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name string `pulumi:"name"` + Value string `pulumi:"value"` +} + +// SloObjectiveRawMetricQueryCloudwatchDimensionInput is an input type that accepts SloObjectiveRawMetricQueryCloudwatchDimensionArgs and SloObjectiveRawMetricQueryCloudwatchDimensionOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryCloudwatchDimensionInput` via: +// +// SloObjectiveRawMetricQueryCloudwatchDimensionArgs{...} +type SloObjectiveRawMetricQueryCloudwatchDimensionInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryCloudwatchDimensionOutput() SloObjectiveRawMetricQueryCloudwatchDimensionOutput + ToSloObjectiveRawMetricQueryCloudwatchDimensionOutputWithContext(context.Context) SloObjectiveRawMetricQueryCloudwatchDimensionOutput +} + +type SloObjectiveRawMetricQueryCloudwatchDimensionArgs struct { + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringInput `pulumi:"name"` + Value pulumi.StringInput `pulumi:"value"` +} + +func (SloObjectiveRawMetricQueryCloudwatchDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryCloudwatchDimension)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryCloudwatchDimensionArgs) ToSloObjectiveRawMetricQueryCloudwatchDimensionOutput() SloObjectiveRawMetricQueryCloudwatchDimensionOutput { + return i.ToSloObjectiveRawMetricQueryCloudwatchDimensionOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryCloudwatchDimensionArgs) ToSloObjectiveRawMetricQueryCloudwatchDimensionOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryCloudwatchDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryCloudwatchDimensionOutput) +} + +// SloObjectiveRawMetricQueryCloudwatchDimensionArrayInput is an input type that accepts SloObjectiveRawMetricQueryCloudwatchDimensionArray and SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryCloudwatchDimensionArrayInput` via: +// +// SloObjectiveRawMetricQueryCloudwatchDimensionArray{ SloObjectiveRawMetricQueryCloudwatchDimensionArgs{...} } +type SloObjectiveRawMetricQueryCloudwatchDimensionArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput() SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput + ToSloObjectiveRawMetricQueryCloudwatchDimensionArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput +} + +type SloObjectiveRawMetricQueryCloudwatchDimensionArray []SloObjectiveRawMetricQueryCloudwatchDimensionInput + +func (SloObjectiveRawMetricQueryCloudwatchDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryCloudwatchDimension)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryCloudwatchDimensionArray) ToSloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput() SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput { + return i.ToSloObjectiveRawMetricQueryCloudwatchDimensionArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryCloudwatchDimensionArray) ToSloObjectiveRawMetricQueryCloudwatchDimensionArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput) +} + +type SloObjectiveRawMetricQueryCloudwatchDimensionOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryCloudwatchDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryCloudwatchDimension)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryCloudwatchDimensionOutput) ToSloObjectiveRawMetricQueryCloudwatchDimensionOutput() SloObjectiveRawMetricQueryCloudwatchDimensionOutput { + return o +} + +func (o SloObjectiveRawMetricQueryCloudwatchDimensionOutput) ToSloObjectiveRawMetricQueryCloudwatchDimensionOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryCloudwatchDimensionOutput { + return o +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o SloObjectiveRawMetricQueryCloudwatchDimensionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryCloudwatchDimension) string { return v.Name }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryCloudwatchDimensionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryCloudwatchDimension) string { return v.Value }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryCloudwatchDimension)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput) ToSloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput() SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput) ToSloObjectiveRawMetricQueryCloudwatchDimensionArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryCloudwatchDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryCloudwatchDimension { + return vs[0].([]SloObjectiveRawMetricQueryCloudwatchDimension)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryCloudwatchDimensionOutput) +} + +type SloObjectiveRawMetricQueryDatadog struct { + Query string `pulumi:"query"` +} + +// SloObjectiveRawMetricQueryDatadogInput is an input type that accepts SloObjectiveRawMetricQueryDatadogArgs and SloObjectiveRawMetricQueryDatadogOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryDatadogInput` via: +// +// SloObjectiveRawMetricQueryDatadogArgs{...} +type SloObjectiveRawMetricQueryDatadogInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryDatadogOutput() SloObjectiveRawMetricQueryDatadogOutput + ToSloObjectiveRawMetricQueryDatadogOutputWithContext(context.Context) SloObjectiveRawMetricQueryDatadogOutput +} + +type SloObjectiveRawMetricQueryDatadogArgs struct { + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveRawMetricQueryDatadogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryDatadog)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryDatadogArgs) ToSloObjectiveRawMetricQueryDatadogOutput() SloObjectiveRawMetricQueryDatadogOutput { + return i.ToSloObjectiveRawMetricQueryDatadogOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryDatadogArgs) ToSloObjectiveRawMetricQueryDatadogOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryDatadogOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryDatadogOutput) +} + +// SloObjectiveRawMetricQueryDatadogArrayInput is an input type that accepts SloObjectiveRawMetricQueryDatadogArray and SloObjectiveRawMetricQueryDatadogArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryDatadogArrayInput` via: +// +// SloObjectiveRawMetricQueryDatadogArray{ SloObjectiveRawMetricQueryDatadogArgs{...} } +type SloObjectiveRawMetricQueryDatadogArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryDatadogArrayOutput() SloObjectiveRawMetricQueryDatadogArrayOutput + ToSloObjectiveRawMetricQueryDatadogArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryDatadogArrayOutput +} + +type SloObjectiveRawMetricQueryDatadogArray []SloObjectiveRawMetricQueryDatadogInput + +func (SloObjectiveRawMetricQueryDatadogArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryDatadog)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryDatadogArray) ToSloObjectiveRawMetricQueryDatadogArrayOutput() SloObjectiveRawMetricQueryDatadogArrayOutput { + return i.ToSloObjectiveRawMetricQueryDatadogArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryDatadogArray) ToSloObjectiveRawMetricQueryDatadogArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryDatadogArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryDatadogArrayOutput) +} + +type SloObjectiveRawMetricQueryDatadogOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryDatadogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryDatadog)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryDatadogOutput) ToSloObjectiveRawMetricQueryDatadogOutput() SloObjectiveRawMetricQueryDatadogOutput { + return o +} + +func (o SloObjectiveRawMetricQueryDatadogOutput) ToSloObjectiveRawMetricQueryDatadogOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryDatadogOutput { + return o +} + +func (o SloObjectiveRawMetricQueryDatadogOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryDatadog) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryDatadogArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryDatadogArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryDatadog)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryDatadogArrayOutput) ToSloObjectiveRawMetricQueryDatadogArrayOutput() SloObjectiveRawMetricQueryDatadogArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryDatadogArrayOutput) ToSloObjectiveRawMetricQueryDatadogArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryDatadogArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryDatadogArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryDatadogOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryDatadog { + return vs[0].([]SloObjectiveRawMetricQueryDatadog)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryDatadogOutput) +} + +type SloObjectiveRawMetricQueryDynatrace struct { + MetricSelector string `pulumi:"metricSelector"` +} + +// SloObjectiveRawMetricQueryDynatraceInput is an input type that accepts SloObjectiveRawMetricQueryDynatraceArgs and SloObjectiveRawMetricQueryDynatraceOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryDynatraceInput` via: +// +// SloObjectiveRawMetricQueryDynatraceArgs{...} +type SloObjectiveRawMetricQueryDynatraceInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryDynatraceOutput() SloObjectiveRawMetricQueryDynatraceOutput + ToSloObjectiveRawMetricQueryDynatraceOutputWithContext(context.Context) SloObjectiveRawMetricQueryDynatraceOutput +} + +type SloObjectiveRawMetricQueryDynatraceArgs struct { + MetricSelector pulumi.StringInput `pulumi:"metricSelector"` +} + +func (SloObjectiveRawMetricQueryDynatraceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryDynatrace)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryDynatraceArgs) ToSloObjectiveRawMetricQueryDynatraceOutput() SloObjectiveRawMetricQueryDynatraceOutput { + return i.ToSloObjectiveRawMetricQueryDynatraceOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryDynatraceArgs) ToSloObjectiveRawMetricQueryDynatraceOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryDynatraceOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryDynatraceOutput) +} + +// SloObjectiveRawMetricQueryDynatraceArrayInput is an input type that accepts SloObjectiveRawMetricQueryDynatraceArray and SloObjectiveRawMetricQueryDynatraceArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryDynatraceArrayInput` via: +// +// SloObjectiveRawMetricQueryDynatraceArray{ SloObjectiveRawMetricQueryDynatraceArgs{...} } +type SloObjectiveRawMetricQueryDynatraceArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryDynatraceArrayOutput() SloObjectiveRawMetricQueryDynatraceArrayOutput + ToSloObjectiveRawMetricQueryDynatraceArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryDynatraceArrayOutput +} + +type SloObjectiveRawMetricQueryDynatraceArray []SloObjectiveRawMetricQueryDynatraceInput + +func (SloObjectiveRawMetricQueryDynatraceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryDynatrace)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryDynatraceArray) ToSloObjectiveRawMetricQueryDynatraceArrayOutput() SloObjectiveRawMetricQueryDynatraceArrayOutput { + return i.ToSloObjectiveRawMetricQueryDynatraceArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryDynatraceArray) ToSloObjectiveRawMetricQueryDynatraceArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryDynatraceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryDynatraceArrayOutput) +} + +type SloObjectiveRawMetricQueryDynatraceOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryDynatraceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryDynatrace)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryDynatraceOutput) ToSloObjectiveRawMetricQueryDynatraceOutput() SloObjectiveRawMetricQueryDynatraceOutput { + return o +} + +func (o SloObjectiveRawMetricQueryDynatraceOutput) ToSloObjectiveRawMetricQueryDynatraceOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryDynatraceOutput { + return o +} + +func (o SloObjectiveRawMetricQueryDynatraceOutput) MetricSelector() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryDynatrace) string { return v.MetricSelector }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryDynatraceArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryDynatraceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryDynatrace)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryDynatraceArrayOutput) ToSloObjectiveRawMetricQueryDynatraceArrayOutput() SloObjectiveRawMetricQueryDynatraceArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryDynatraceArrayOutput) ToSloObjectiveRawMetricQueryDynatraceArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryDynatraceArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryDynatraceArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryDynatraceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryDynatrace { + return vs[0].([]SloObjectiveRawMetricQueryDynatrace)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryDynatraceOutput) +} + +type SloObjectiveRawMetricQueryElasticsearch struct { + Index string `pulumi:"index"` + Query string `pulumi:"query"` +} + +// SloObjectiveRawMetricQueryElasticsearchInput is an input type that accepts SloObjectiveRawMetricQueryElasticsearchArgs and SloObjectiveRawMetricQueryElasticsearchOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryElasticsearchInput` via: +// +// SloObjectiveRawMetricQueryElasticsearchArgs{...} +type SloObjectiveRawMetricQueryElasticsearchInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryElasticsearchOutput() SloObjectiveRawMetricQueryElasticsearchOutput + ToSloObjectiveRawMetricQueryElasticsearchOutputWithContext(context.Context) SloObjectiveRawMetricQueryElasticsearchOutput +} + +type SloObjectiveRawMetricQueryElasticsearchArgs struct { + Index pulumi.StringInput `pulumi:"index"` + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveRawMetricQueryElasticsearchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryElasticsearch)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryElasticsearchArgs) ToSloObjectiveRawMetricQueryElasticsearchOutput() SloObjectiveRawMetricQueryElasticsearchOutput { + return i.ToSloObjectiveRawMetricQueryElasticsearchOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryElasticsearchArgs) ToSloObjectiveRawMetricQueryElasticsearchOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryElasticsearchOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryElasticsearchOutput) +} + +// SloObjectiveRawMetricQueryElasticsearchArrayInput is an input type that accepts SloObjectiveRawMetricQueryElasticsearchArray and SloObjectiveRawMetricQueryElasticsearchArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryElasticsearchArrayInput` via: +// +// SloObjectiveRawMetricQueryElasticsearchArray{ SloObjectiveRawMetricQueryElasticsearchArgs{...} } +type SloObjectiveRawMetricQueryElasticsearchArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryElasticsearchArrayOutput() SloObjectiveRawMetricQueryElasticsearchArrayOutput + ToSloObjectiveRawMetricQueryElasticsearchArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryElasticsearchArrayOutput +} + +type SloObjectiveRawMetricQueryElasticsearchArray []SloObjectiveRawMetricQueryElasticsearchInput + +func (SloObjectiveRawMetricQueryElasticsearchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryElasticsearch)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryElasticsearchArray) ToSloObjectiveRawMetricQueryElasticsearchArrayOutput() SloObjectiveRawMetricQueryElasticsearchArrayOutput { + return i.ToSloObjectiveRawMetricQueryElasticsearchArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryElasticsearchArray) ToSloObjectiveRawMetricQueryElasticsearchArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryElasticsearchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryElasticsearchArrayOutput) +} + +type SloObjectiveRawMetricQueryElasticsearchOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryElasticsearchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryElasticsearch)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryElasticsearchOutput) ToSloObjectiveRawMetricQueryElasticsearchOutput() SloObjectiveRawMetricQueryElasticsearchOutput { + return o +} + +func (o SloObjectiveRawMetricQueryElasticsearchOutput) ToSloObjectiveRawMetricQueryElasticsearchOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryElasticsearchOutput { + return o +} + +func (o SloObjectiveRawMetricQueryElasticsearchOutput) Index() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryElasticsearch) string { return v.Index }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryElasticsearchOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryElasticsearch) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryElasticsearchArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryElasticsearchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryElasticsearch)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryElasticsearchArrayOutput) ToSloObjectiveRawMetricQueryElasticsearchArrayOutput() SloObjectiveRawMetricQueryElasticsearchArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryElasticsearchArrayOutput) ToSloObjectiveRawMetricQueryElasticsearchArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryElasticsearchArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryElasticsearchArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryElasticsearchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryElasticsearch { + return vs[0].([]SloObjectiveRawMetricQueryElasticsearch)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryElasticsearchOutput) +} + +type SloObjectiveRawMetricQueryGcm struct { + ProjectId string `pulumi:"projectId"` + Query string `pulumi:"query"` +} + +// SloObjectiveRawMetricQueryGcmInput is an input type that accepts SloObjectiveRawMetricQueryGcmArgs and SloObjectiveRawMetricQueryGcmOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryGcmInput` via: +// +// SloObjectiveRawMetricQueryGcmArgs{...} +type SloObjectiveRawMetricQueryGcmInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryGcmOutput() SloObjectiveRawMetricQueryGcmOutput + ToSloObjectiveRawMetricQueryGcmOutputWithContext(context.Context) SloObjectiveRawMetricQueryGcmOutput +} + +type SloObjectiveRawMetricQueryGcmArgs struct { + ProjectId pulumi.StringInput `pulumi:"projectId"` + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveRawMetricQueryGcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryGcm)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryGcmArgs) ToSloObjectiveRawMetricQueryGcmOutput() SloObjectiveRawMetricQueryGcmOutput { + return i.ToSloObjectiveRawMetricQueryGcmOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryGcmArgs) ToSloObjectiveRawMetricQueryGcmOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryGcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryGcmOutput) +} + +// SloObjectiveRawMetricQueryGcmArrayInput is an input type that accepts SloObjectiveRawMetricQueryGcmArray and SloObjectiveRawMetricQueryGcmArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryGcmArrayInput` via: +// +// SloObjectiveRawMetricQueryGcmArray{ SloObjectiveRawMetricQueryGcmArgs{...} } +type SloObjectiveRawMetricQueryGcmArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryGcmArrayOutput() SloObjectiveRawMetricQueryGcmArrayOutput + ToSloObjectiveRawMetricQueryGcmArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryGcmArrayOutput +} + +type SloObjectiveRawMetricQueryGcmArray []SloObjectiveRawMetricQueryGcmInput + +func (SloObjectiveRawMetricQueryGcmArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryGcm)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryGcmArray) ToSloObjectiveRawMetricQueryGcmArrayOutput() SloObjectiveRawMetricQueryGcmArrayOutput { + return i.ToSloObjectiveRawMetricQueryGcmArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryGcmArray) ToSloObjectiveRawMetricQueryGcmArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryGcmArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryGcmArrayOutput) +} + +type SloObjectiveRawMetricQueryGcmOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryGcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryGcm)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryGcmOutput) ToSloObjectiveRawMetricQueryGcmOutput() SloObjectiveRawMetricQueryGcmOutput { + return o +} + +func (o SloObjectiveRawMetricQueryGcmOutput) ToSloObjectiveRawMetricQueryGcmOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryGcmOutput { + return o +} + +func (o SloObjectiveRawMetricQueryGcmOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryGcm) string { return v.ProjectId }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryGcmOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryGcm) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryGcmArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryGcmArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryGcm)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryGcmArrayOutput) ToSloObjectiveRawMetricQueryGcmArrayOutput() SloObjectiveRawMetricQueryGcmArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryGcmArrayOutput) ToSloObjectiveRawMetricQueryGcmArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryGcmArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryGcmArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryGcmOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryGcm { + return vs[0].([]SloObjectiveRawMetricQueryGcm)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryGcmOutput) +} + +type SloObjectiveRawMetricQueryGrafanaLoki struct { + Logql string `pulumi:"logql"` +} + +// SloObjectiveRawMetricQueryGrafanaLokiInput is an input type that accepts SloObjectiveRawMetricQueryGrafanaLokiArgs and SloObjectiveRawMetricQueryGrafanaLokiOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryGrafanaLokiInput` via: +// +// SloObjectiveRawMetricQueryGrafanaLokiArgs{...} +type SloObjectiveRawMetricQueryGrafanaLokiInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryGrafanaLokiOutput() SloObjectiveRawMetricQueryGrafanaLokiOutput + ToSloObjectiveRawMetricQueryGrafanaLokiOutputWithContext(context.Context) SloObjectiveRawMetricQueryGrafanaLokiOutput +} + +type SloObjectiveRawMetricQueryGrafanaLokiArgs struct { + Logql pulumi.StringInput `pulumi:"logql"` +} + +func (SloObjectiveRawMetricQueryGrafanaLokiArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryGrafanaLoki)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryGrafanaLokiArgs) ToSloObjectiveRawMetricQueryGrafanaLokiOutput() SloObjectiveRawMetricQueryGrafanaLokiOutput { + return i.ToSloObjectiveRawMetricQueryGrafanaLokiOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryGrafanaLokiArgs) ToSloObjectiveRawMetricQueryGrafanaLokiOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryGrafanaLokiOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryGrafanaLokiOutput) +} + +// SloObjectiveRawMetricQueryGrafanaLokiArrayInput is an input type that accepts SloObjectiveRawMetricQueryGrafanaLokiArray and SloObjectiveRawMetricQueryGrafanaLokiArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryGrafanaLokiArrayInput` via: +// +// SloObjectiveRawMetricQueryGrafanaLokiArray{ SloObjectiveRawMetricQueryGrafanaLokiArgs{...} } +type SloObjectiveRawMetricQueryGrafanaLokiArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryGrafanaLokiArrayOutput() SloObjectiveRawMetricQueryGrafanaLokiArrayOutput + ToSloObjectiveRawMetricQueryGrafanaLokiArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryGrafanaLokiArrayOutput +} + +type SloObjectiveRawMetricQueryGrafanaLokiArray []SloObjectiveRawMetricQueryGrafanaLokiInput + +func (SloObjectiveRawMetricQueryGrafanaLokiArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryGrafanaLoki)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryGrafanaLokiArray) ToSloObjectiveRawMetricQueryGrafanaLokiArrayOutput() SloObjectiveRawMetricQueryGrafanaLokiArrayOutput { + return i.ToSloObjectiveRawMetricQueryGrafanaLokiArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryGrafanaLokiArray) ToSloObjectiveRawMetricQueryGrafanaLokiArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryGrafanaLokiArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryGrafanaLokiArrayOutput) +} + +type SloObjectiveRawMetricQueryGrafanaLokiOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryGrafanaLokiOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryGrafanaLoki)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryGrafanaLokiOutput) ToSloObjectiveRawMetricQueryGrafanaLokiOutput() SloObjectiveRawMetricQueryGrafanaLokiOutput { + return o +} + +func (o SloObjectiveRawMetricQueryGrafanaLokiOutput) ToSloObjectiveRawMetricQueryGrafanaLokiOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryGrafanaLokiOutput { + return o +} + +func (o SloObjectiveRawMetricQueryGrafanaLokiOutput) Logql() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryGrafanaLoki) string { return v.Logql }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryGrafanaLokiArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryGrafanaLokiArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryGrafanaLoki)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryGrafanaLokiArrayOutput) ToSloObjectiveRawMetricQueryGrafanaLokiArrayOutput() SloObjectiveRawMetricQueryGrafanaLokiArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryGrafanaLokiArrayOutput) ToSloObjectiveRawMetricQueryGrafanaLokiArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryGrafanaLokiArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryGrafanaLokiArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryGrafanaLokiOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryGrafanaLoki { + return vs[0].([]SloObjectiveRawMetricQueryGrafanaLoki)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryGrafanaLokiOutput) +} + +type SloObjectiveRawMetricQueryGraphite struct { + MetricPath string `pulumi:"metricPath"` +} + +// SloObjectiveRawMetricQueryGraphiteInput is an input type that accepts SloObjectiveRawMetricQueryGraphiteArgs and SloObjectiveRawMetricQueryGraphiteOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryGraphiteInput` via: +// +// SloObjectiveRawMetricQueryGraphiteArgs{...} +type SloObjectiveRawMetricQueryGraphiteInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryGraphiteOutput() SloObjectiveRawMetricQueryGraphiteOutput + ToSloObjectiveRawMetricQueryGraphiteOutputWithContext(context.Context) SloObjectiveRawMetricQueryGraphiteOutput +} + +type SloObjectiveRawMetricQueryGraphiteArgs struct { + MetricPath pulumi.StringInput `pulumi:"metricPath"` +} + +func (SloObjectiveRawMetricQueryGraphiteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryGraphite)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryGraphiteArgs) ToSloObjectiveRawMetricQueryGraphiteOutput() SloObjectiveRawMetricQueryGraphiteOutput { + return i.ToSloObjectiveRawMetricQueryGraphiteOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryGraphiteArgs) ToSloObjectiveRawMetricQueryGraphiteOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryGraphiteOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryGraphiteOutput) +} + +// SloObjectiveRawMetricQueryGraphiteArrayInput is an input type that accepts SloObjectiveRawMetricQueryGraphiteArray and SloObjectiveRawMetricQueryGraphiteArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryGraphiteArrayInput` via: +// +// SloObjectiveRawMetricQueryGraphiteArray{ SloObjectiveRawMetricQueryGraphiteArgs{...} } +type SloObjectiveRawMetricQueryGraphiteArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryGraphiteArrayOutput() SloObjectiveRawMetricQueryGraphiteArrayOutput + ToSloObjectiveRawMetricQueryGraphiteArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryGraphiteArrayOutput +} + +type SloObjectiveRawMetricQueryGraphiteArray []SloObjectiveRawMetricQueryGraphiteInput + +func (SloObjectiveRawMetricQueryGraphiteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryGraphite)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryGraphiteArray) ToSloObjectiveRawMetricQueryGraphiteArrayOutput() SloObjectiveRawMetricQueryGraphiteArrayOutput { + return i.ToSloObjectiveRawMetricQueryGraphiteArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryGraphiteArray) ToSloObjectiveRawMetricQueryGraphiteArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryGraphiteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryGraphiteArrayOutput) +} + +type SloObjectiveRawMetricQueryGraphiteOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryGraphiteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryGraphite)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryGraphiteOutput) ToSloObjectiveRawMetricQueryGraphiteOutput() SloObjectiveRawMetricQueryGraphiteOutput { + return o +} + +func (o SloObjectiveRawMetricQueryGraphiteOutput) ToSloObjectiveRawMetricQueryGraphiteOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryGraphiteOutput { + return o +} + +func (o SloObjectiveRawMetricQueryGraphiteOutput) MetricPath() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryGraphite) string { return v.MetricPath }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryGraphiteArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryGraphiteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryGraphite)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryGraphiteArrayOutput) ToSloObjectiveRawMetricQueryGraphiteArrayOutput() SloObjectiveRawMetricQueryGraphiteArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryGraphiteArrayOutput) ToSloObjectiveRawMetricQueryGraphiteArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryGraphiteArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryGraphiteArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryGraphiteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryGraphite { + return vs[0].([]SloObjectiveRawMetricQueryGraphite)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryGraphiteOutput) +} + +type SloObjectiveRawMetricQueryInfluxdb struct { + Query string `pulumi:"query"` +} + +// SloObjectiveRawMetricQueryInfluxdbInput is an input type that accepts SloObjectiveRawMetricQueryInfluxdbArgs and SloObjectiveRawMetricQueryInfluxdbOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryInfluxdbInput` via: +// +// SloObjectiveRawMetricQueryInfluxdbArgs{...} +type SloObjectiveRawMetricQueryInfluxdbInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryInfluxdbOutput() SloObjectiveRawMetricQueryInfluxdbOutput + ToSloObjectiveRawMetricQueryInfluxdbOutputWithContext(context.Context) SloObjectiveRawMetricQueryInfluxdbOutput +} + +type SloObjectiveRawMetricQueryInfluxdbArgs struct { + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveRawMetricQueryInfluxdbArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryInfluxdb)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryInfluxdbArgs) ToSloObjectiveRawMetricQueryInfluxdbOutput() SloObjectiveRawMetricQueryInfluxdbOutput { + return i.ToSloObjectiveRawMetricQueryInfluxdbOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryInfluxdbArgs) ToSloObjectiveRawMetricQueryInfluxdbOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInfluxdbOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryInfluxdbOutput) +} + +// SloObjectiveRawMetricQueryInfluxdbArrayInput is an input type that accepts SloObjectiveRawMetricQueryInfluxdbArray and SloObjectiveRawMetricQueryInfluxdbArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryInfluxdbArrayInput` via: +// +// SloObjectiveRawMetricQueryInfluxdbArray{ SloObjectiveRawMetricQueryInfluxdbArgs{...} } +type SloObjectiveRawMetricQueryInfluxdbArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryInfluxdbArrayOutput() SloObjectiveRawMetricQueryInfluxdbArrayOutput + ToSloObjectiveRawMetricQueryInfluxdbArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryInfluxdbArrayOutput +} + +type SloObjectiveRawMetricQueryInfluxdbArray []SloObjectiveRawMetricQueryInfluxdbInput + +func (SloObjectiveRawMetricQueryInfluxdbArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryInfluxdb)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryInfluxdbArray) ToSloObjectiveRawMetricQueryInfluxdbArrayOutput() SloObjectiveRawMetricQueryInfluxdbArrayOutput { + return i.ToSloObjectiveRawMetricQueryInfluxdbArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryInfluxdbArray) ToSloObjectiveRawMetricQueryInfluxdbArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInfluxdbArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryInfluxdbArrayOutput) +} + +type SloObjectiveRawMetricQueryInfluxdbOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryInfluxdbOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryInfluxdb)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryInfluxdbOutput) ToSloObjectiveRawMetricQueryInfluxdbOutput() SloObjectiveRawMetricQueryInfluxdbOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInfluxdbOutput) ToSloObjectiveRawMetricQueryInfluxdbOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInfluxdbOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInfluxdbOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInfluxdb) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryInfluxdbArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryInfluxdbArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryInfluxdb)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryInfluxdbArrayOutput) ToSloObjectiveRawMetricQueryInfluxdbArrayOutput() SloObjectiveRawMetricQueryInfluxdbArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInfluxdbArrayOutput) ToSloObjectiveRawMetricQueryInfluxdbArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInfluxdbArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInfluxdbArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryInfluxdbOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryInfluxdb { + return vs[0].([]SloObjectiveRawMetricQueryInfluxdb)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryInfluxdbOutput) +} + +type SloObjectiveRawMetricQueryInstana struct { + Applications []SloObjectiveRawMetricQueryInstanaApplication `pulumi:"applications"` + Infrastructures []SloObjectiveRawMetricQueryInstanaInfrastructure `pulumi:"infrastructures"` + MetricType string `pulumi:"metricType"` +} + +// SloObjectiveRawMetricQueryInstanaInput is an input type that accepts SloObjectiveRawMetricQueryInstanaArgs and SloObjectiveRawMetricQueryInstanaOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryInstanaInput` via: +// +// SloObjectiveRawMetricQueryInstanaArgs{...} +type SloObjectiveRawMetricQueryInstanaInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryInstanaOutput() SloObjectiveRawMetricQueryInstanaOutput + ToSloObjectiveRawMetricQueryInstanaOutputWithContext(context.Context) SloObjectiveRawMetricQueryInstanaOutput +} + +type SloObjectiveRawMetricQueryInstanaArgs struct { + Applications SloObjectiveRawMetricQueryInstanaApplicationArrayInput `pulumi:"applications"` + Infrastructures SloObjectiveRawMetricQueryInstanaInfrastructureArrayInput `pulumi:"infrastructures"` + MetricType pulumi.StringInput `pulumi:"metricType"` +} + +func (SloObjectiveRawMetricQueryInstanaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryInstana)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryInstanaArgs) ToSloObjectiveRawMetricQueryInstanaOutput() SloObjectiveRawMetricQueryInstanaOutput { + return i.ToSloObjectiveRawMetricQueryInstanaOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryInstanaArgs) ToSloObjectiveRawMetricQueryInstanaOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryInstanaOutput) +} + +// SloObjectiveRawMetricQueryInstanaArrayInput is an input type that accepts SloObjectiveRawMetricQueryInstanaArray and SloObjectiveRawMetricQueryInstanaArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryInstanaArrayInput` via: +// +// SloObjectiveRawMetricQueryInstanaArray{ SloObjectiveRawMetricQueryInstanaArgs{...} } +type SloObjectiveRawMetricQueryInstanaArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryInstanaArrayOutput() SloObjectiveRawMetricQueryInstanaArrayOutput + ToSloObjectiveRawMetricQueryInstanaArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryInstanaArrayOutput +} + +type SloObjectiveRawMetricQueryInstanaArray []SloObjectiveRawMetricQueryInstanaInput + +func (SloObjectiveRawMetricQueryInstanaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryInstana)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryInstanaArray) ToSloObjectiveRawMetricQueryInstanaArrayOutput() SloObjectiveRawMetricQueryInstanaArrayOutput { + return i.ToSloObjectiveRawMetricQueryInstanaArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryInstanaArray) ToSloObjectiveRawMetricQueryInstanaArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryInstanaArrayOutput) +} + +type SloObjectiveRawMetricQueryInstanaOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryInstanaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryInstana)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryInstanaOutput) ToSloObjectiveRawMetricQueryInstanaOutput() SloObjectiveRawMetricQueryInstanaOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaOutput) ToSloObjectiveRawMetricQueryInstanaOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaOutput) Applications() SloObjectiveRawMetricQueryInstanaApplicationArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstana) []SloObjectiveRawMetricQueryInstanaApplication { + return v.Applications + }).(SloObjectiveRawMetricQueryInstanaApplicationArrayOutput) +} + +func (o SloObjectiveRawMetricQueryInstanaOutput) Infrastructures() SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstana) []SloObjectiveRawMetricQueryInstanaInfrastructure { + return v.Infrastructures + }).(SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput) +} + +func (o SloObjectiveRawMetricQueryInstanaOutput) MetricType() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstana) string { return v.MetricType }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryInstanaArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryInstanaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryInstana)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryInstanaArrayOutput) ToSloObjectiveRawMetricQueryInstanaArrayOutput() SloObjectiveRawMetricQueryInstanaArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaArrayOutput) ToSloObjectiveRawMetricQueryInstanaArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryInstanaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryInstana { + return vs[0].([]SloObjectiveRawMetricQueryInstana)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryInstanaOutput) +} + +type SloObjectiveRawMetricQueryInstanaApplication struct { + Aggregation string `pulumi:"aggregation"` + ApiQuery string `pulumi:"apiQuery"` + GroupBies []SloObjectiveRawMetricQueryInstanaApplicationGroupBy `pulumi:"groupBies"` + IncludeInternal *bool `pulumi:"includeInternal"` + IncludeSynthetic *bool `pulumi:"includeSynthetic"` + MetricId string `pulumi:"metricId"` +} + +// SloObjectiveRawMetricQueryInstanaApplicationInput is an input type that accepts SloObjectiveRawMetricQueryInstanaApplicationArgs and SloObjectiveRawMetricQueryInstanaApplicationOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryInstanaApplicationInput` via: +// +// SloObjectiveRawMetricQueryInstanaApplicationArgs{...} +type SloObjectiveRawMetricQueryInstanaApplicationInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryInstanaApplicationOutput() SloObjectiveRawMetricQueryInstanaApplicationOutput + ToSloObjectiveRawMetricQueryInstanaApplicationOutputWithContext(context.Context) SloObjectiveRawMetricQueryInstanaApplicationOutput +} + +type SloObjectiveRawMetricQueryInstanaApplicationArgs struct { + Aggregation pulumi.StringInput `pulumi:"aggregation"` + ApiQuery pulumi.StringInput `pulumi:"apiQuery"` + GroupBies SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayInput `pulumi:"groupBies"` + IncludeInternal pulumi.BoolPtrInput `pulumi:"includeInternal"` + IncludeSynthetic pulumi.BoolPtrInput `pulumi:"includeSynthetic"` + MetricId pulumi.StringInput `pulumi:"metricId"` +} + +func (SloObjectiveRawMetricQueryInstanaApplicationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryInstanaApplication)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryInstanaApplicationArgs) ToSloObjectiveRawMetricQueryInstanaApplicationOutput() SloObjectiveRawMetricQueryInstanaApplicationOutput { + return i.ToSloObjectiveRawMetricQueryInstanaApplicationOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryInstanaApplicationArgs) ToSloObjectiveRawMetricQueryInstanaApplicationOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaApplicationOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryInstanaApplicationOutput) +} + +// SloObjectiveRawMetricQueryInstanaApplicationArrayInput is an input type that accepts SloObjectiveRawMetricQueryInstanaApplicationArray and SloObjectiveRawMetricQueryInstanaApplicationArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryInstanaApplicationArrayInput` via: +// +// SloObjectiveRawMetricQueryInstanaApplicationArray{ SloObjectiveRawMetricQueryInstanaApplicationArgs{...} } +type SloObjectiveRawMetricQueryInstanaApplicationArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryInstanaApplicationArrayOutput() SloObjectiveRawMetricQueryInstanaApplicationArrayOutput + ToSloObjectiveRawMetricQueryInstanaApplicationArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryInstanaApplicationArrayOutput +} + +type SloObjectiveRawMetricQueryInstanaApplicationArray []SloObjectiveRawMetricQueryInstanaApplicationInput + +func (SloObjectiveRawMetricQueryInstanaApplicationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryInstanaApplication)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryInstanaApplicationArray) ToSloObjectiveRawMetricQueryInstanaApplicationArrayOutput() SloObjectiveRawMetricQueryInstanaApplicationArrayOutput { + return i.ToSloObjectiveRawMetricQueryInstanaApplicationArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryInstanaApplicationArray) ToSloObjectiveRawMetricQueryInstanaApplicationArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaApplicationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryInstanaApplicationArrayOutput) +} + +type SloObjectiveRawMetricQueryInstanaApplicationOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryInstanaApplicationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryInstanaApplication)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationOutput) ToSloObjectiveRawMetricQueryInstanaApplicationOutput() SloObjectiveRawMetricQueryInstanaApplicationOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationOutput) ToSloObjectiveRawMetricQueryInstanaApplicationOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaApplicationOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationOutput) Aggregation() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstanaApplication) string { return v.Aggregation }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationOutput) ApiQuery() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstanaApplication) string { return v.ApiQuery }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationOutput) GroupBies() SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstanaApplication) []SloObjectiveRawMetricQueryInstanaApplicationGroupBy { + return v.GroupBies + }).(SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput) +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationOutput) IncludeInternal() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstanaApplication) *bool { return v.IncludeInternal }).(pulumi.BoolPtrOutput) +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationOutput) IncludeSynthetic() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstanaApplication) *bool { return v.IncludeSynthetic }).(pulumi.BoolPtrOutput) +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationOutput) MetricId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstanaApplication) string { return v.MetricId }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryInstanaApplicationArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryInstanaApplicationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryInstanaApplication)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationArrayOutput) ToSloObjectiveRawMetricQueryInstanaApplicationArrayOutput() SloObjectiveRawMetricQueryInstanaApplicationArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationArrayOutput) ToSloObjectiveRawMetricQueryInstanaApplicationArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaApplicationArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryInstanaApplicationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryInstanaApplication { + return vs[0].([]SloObjectiveRawMetricQueryInstanaApplication)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryInstanaApplicationOutput) +} + +type SloObjectiveRawMetricQueryInstanaApplicationGroupBy struct { + Tag string `pulumi:"tag"` + TagEntity string `pulumi:"tagEntity"` + TagSecondLevelKey *string `pulumi:"tagSecondLevelKey"` +} + +// SloObjectiveRawMetricQueryInstanaApplicationGroupByInput is an input type that accepts SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs and SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryInstanaApplicationGroupByInput` via: +// +// SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs{...} +type SloObjectiveRawMetricQueryInstanaApplicationGroupByInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryInstanaApplicationGroupByOutput() SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput + ToSloObjectiveRawMetricQueryInstanaApplicationGroupByOutputWithContext(context.Context) SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput +} + +type SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs struct { + Tag pulumi.StringInput `pulumi:"tag"` + TagEntity pulumi.StringInput `pulumi:"tagEntity"` + TagSecondLevelKey pulumi.StringPtrInput `pulumi:"tagSecondLevelKey"` +} + +func (SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryInstanaApplicationGroupBy)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs) ToSloObjectiveRawMetricQueryInstanaApplicationGroupByOutput() SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput { + return i.ToSloObjectiveRawMetricQueryInstanaApplicationGroupByOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs) ToSloObjectiveRawMetricQueryInstanaApplicationGroupByOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput) +} + +// SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayInput is an input type that accepts SloObjectiveRawMetricQueryInstanaApplicationGroupByArray and SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayInput` via: +// +// SloObjectiveRawMetricQueryInstanaApplicationGroupByArray{ SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs{...} } +type SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput() SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput + ToSloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput +} + +type SloObjectiveRawMetricQueryInstanaApplicationGroupByArray []SloObjectiveRawMetricQueryInstanaApplicationGroupByInput + +func (SloObjectiveRawMetricQueryInstanaApplicationGroupByArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryInstanaApplicationGroupBy)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryInstanaApplicationGroupByArray) ToSloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput() SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput { + return i.ToSloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryInstanaApplicationGroupByArray) ToSloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput) +} + +type SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryInstanaApplicationGroupBy)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput) ToSloObjectiveRawMetricQueryInstanaApplicationGroupByOutput() SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput) ToSloObjectiveRawMetricQueryInstanaApplicationGroupByOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput) Tag() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstanaApplicationGroupBy) string { return v.Tag }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput) TagEntity() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstanaApplicationGroupBy) string { return v.TagEntity }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput) TagSecondLevelKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstanaApplicationGroupBy) *string { return v.TagSecondLevelKey }).(pulumi.StringPtrOutput) +} + +type SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryInstanaApplicationGroupBy)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput) ToSloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput() SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput) ToSloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryInstanaApplicationGroupBy { + return vs[0].([]SloObjectiveRawMetricQueryInstanaApplicationGroupBy)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput) +} + +type SloObjectiveRawMetricQueryInstanaInfrastructure struct { + MetricId string `pulumi:"metricId"` + MetricRetrievalMethod string `pulumi:"metricRetrievalMethod"` + PluginId string `pulumi:"pluginId"` + Query *string `pulumi:"query"` + SnapshotId *string `pulumi:"snapshotId"` +} + +// SloObjectiveRawMetricQueryInstanaInfrastructureInput is an input type that accepts SloObjectiveRawMetricQueryInstanaInfrastructureArgs and SloObjectiveRawMetricQueryInstanaInfrastructureOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryInstanaInfrastructureInput` via: +// +// SloObjectiveRawMetricQueryInstanaInfrastructureArgs{...} +type SloObjectiveRawMetricQueryInstanaInfrastructureInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryInstanaInfrastructureOutput() SloObjectiveRawMetricQueryInstanaInfrastructureOutput + ToSloObjectiveRawMetricQueryInstanaInfrastructureOutputWithContext(context.Context) SloObjectiveRawMetricQueryInstanaInfrastructureOutput +} + +type SloObjectiveRawMetricQueryInstanaInfrastructureArgs struct { + MetricId pulumi.StringInput `pulumi:"metricId"` + MetricRetrievalMethod pulumi.StringInput `pulumi:"metricRetrievalMethod"` + PluginId pulumi.StringInput `pulumi:"pluginId"` + Query pulumi.StringPtrInput `pulumi:"query"` + SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` +} + +func (SloObjectiveRawMetricQueryInstanaInfrastructureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryInstanaInfrastructure)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryInstanaInfrastructureArgs) ToSloObjectiveRawMetricQueryInstanaInfrastructureOutput() SloObjectiveRawMetricQueryInstanaInfrastructureOutput { + return i.ToSloObjectiveRawMetricQueryInstanaInfrastructureOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryInstanaInfrastructureArgs) ToSloObjectiveRawMetricQueryInstanaInfrastructureOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaInfrastructureOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryInstanaInfrastructureOutput) +} + +// SloObjectiveRawMetricQueryInstanaInfrastructureArrayInput is an input type that accepts SloObjectiveRawMetricQueryInstanaInfrastructureArray and SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryInstanaInfrastructureArrayInput` via: +// +// SloObjectiveRawMetricQueryInstanaInfrastructureArray{ SloObjectiveRawMetricQueryInstanaInfrastructureArgs{...} } +type SloObjectiveRawMetricQueryInstanaInfrastructureArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput() SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput + ToSloObjectiveRawMetricQueryInstanaInfrastructureArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput +} + +type SloObjectiveRawMetricQueryInstanaInfrastructureArray []SloObjectiveRawMetricQueryInstanaInfrastructureInput + +func (SloObjectiveRawMetricQueryInstanaInfrastructureArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryInstanaInfrastructure)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryInstanaInfrastructureArray) ToSloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput() SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput { + return i.ToSloObjectiveRawMetricQueryInstanaInfrastructureArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryInstanaInfrastructureArray) ToSloObjectiveRawMetricQueryInstanaInfrastructureArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput) +} + +type SloObjectiveRawMetricQueryInstanaInfrastructureOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryInstanaInfrastructureOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryInstanaInfrastructure)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryInstanaInfrastructureOutput) ToSloObjectiveRawMetricQueryInstanaInfrastructureOutput() SloObjectiveRawMetricQueryInstanaInfrastructureOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaInfrastructureOutput) ToSloObjectiveRawMetricQueryInstanaInfrastructureOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaInfrastructureOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaInfrastructureOutput) MetricId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstanaInfrastructure) string { return v.MetricId }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryInstanaInfrastructureOutput) MetricRetrievalMethod() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstanaInfrastructure) string { return v.MetricRetrievalMethod }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryInstanaInfrastructureOutput) PluginId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstanaInfrastructure) string { return v.PluginId }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryInstanaInfrastructureOutput) Query() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstanaInfrastructure) *string { return v.Query }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveRawMetricQueryInstanaInfrastructureOutput) SnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryInstanaInfrastructure) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +} + +type SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryInstanaInfrastructure)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput) ToSloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput() SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput) ToSloObjectiveRawMetricQueryInstanaInfrastructureArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryInstanaInfrastructureOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryInstanaInfrastructure { + return vs[0].([]SloObjectiveRawMetricQueryInstanaInfrastructure)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryInstanaInfrastructureOutput) +} + +type SloObjectiveRawMetricQueryLightstep struct { + Percentile *float64 `pulumi:"percentile"` + StreamId *string `pulumi:"streamId"` + TypeOfData string `pulumi:"typeOfData"` + Uql *string `pulumi:"uql"` +} + +// SloObjectiveRawMetricQueryLightstepInput is an input type that accepts SloObjectiveRawMetricQueryLightstepArgs and SloObjectiveRawMetricQueryLightstepOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryLightstepInput` via: +// +// SloObjectiveRawMetricQueryLightstepArgs{...} +type SloObjectiveRawMetricQueryLightstepInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryLightstepOutput() SloObjectiveRawMetricQueryLightstepOutput + ToSloObjectiveRawMetricQueryLightstepOutputWithContext(context.Context) SloObjectiveRawMetricQueryLightstepOutput +} + +type SloObjectiveRawMetricQueryLightstepArgs struct { + Percentile pulumi.Float64PtrInput `pulumi:"percentile"` + StreamId pulumi.StringPtrInput `pulumi:"streamId"` + TypeOfData pulumi.StringInput `pulumi:"typeOfData"` + Uql pulumi.StringPtrInput `pulumi:"uql"` +} + +func (SloObjectiveRawMetricQueryLightstepArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryLightstep)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryLightstepArgs) ToSloObjectiveRawMetricQueryLightstepOutput() SloObjectiveRawMetricQueryLightstepOutput { + return i.ToSloObjectiveRawMetricQueryLightstepOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryLightstepArgs) ToSloObjectiveRawMetricQueryLightstepOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryLightstepOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryLightstepOutput) +} + +// SloObjectiveRawMetricQueryLightstepArrayInput is an input type that accepts SloObjectiveRawMetricQueryLightstepArray and SloObjectiveRawMetricQueryLightstepArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryLightstepArrayInput` via: +// +// SloObjectiveRawMetricQueryLightstepArray{ SloObjectiveRawMetricQueryLightstepArgs{...} } +type SloObjectiveRawMetricQueryLightstepArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryLightstepArrayOutput() SloObjectiveRawMetricQueryLightstepArrayOutput + ToSloObjectiveRawMetricQueryLightstepArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryLightstepArrayOutput +} + +type SloObjectiveRawMetricQueryLightstepArray []SloObjectiveRawMetricQueryLightstepInput + +func (SloObjectiveRawMetricQueryLightstepArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryLightstep)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryLightstepArray) ToSloObjectiveRawMetricQueryLightstepArrayOutput() SloObjectiveRawMetricQueryLightstepArrayOutput { + return i.ToSloObjectiveRawMetricQueryLightstepArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryLightstepArray) ToSloObjectiveRawMetricQueryLightstepArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryLightstepArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryLightstepArrayOutput) +} + +type SloObjectiveRawMetricQueryLightstepOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryLightstepOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryLightstep)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryLightstepOutput) ToSloObjectiveRawMetricQueryLightstepOutput() SloObjectiveRawMetricQueryLightstepOutput { + return o +} + +func (o SloObjectiveRawMetricQueryLightstepOutput) ToSloObjectiveRawMetricQueryLightstepOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryLightstepOutput { + return o +} + +func (o SloObjectiveRawMetricQueryLightstepOutput) Percentile() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryLightstep) *float64 { return v.Percentile }).(pulumi.Float64PtrOutput) +} + +func (o SloObjectiveRawMetricQueryLightstepOutput) StreamId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryLightstep) *string { return v.StreamId }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveRawMetricQueryLightstepOutput) TypeOfData() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryLightstep) string { return v.TypeOfData }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryLightstepOutput) Uql() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryLightstep) *string { return v.Uql }).(pulumi.StringPtrOutput) +} + +type SloObjectiveRawMetricQueryLightstepArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryLightstepArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryLightstep)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryLightstepArrayOutput) ToSloObjectiveRawMetricQueryLightstepArrayOutput() SloObjectiveRawMetricQueryLightstepArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryLightstepArrayOutput) ToSloObjectiveRawMetricQueryLightstepArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryLightstepArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryLightstepArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryLightstepOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryLightstep { + return vs[0].([]SloObjectiveRawMetricQueryLightstep)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryLightstepOutput) +} + +type SloObjectiveRawMetricQueryNewrelic struct { + Nrql string `pulumi:"nrql"` +} + +// SloObjectiveRawMetricQueryNewrelicInput is an input type that accepts SloObjectiveRawMetricQueryNewrelicArgs and SloObjectiveRawMetricQueryNewrelicOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryNewrelicInput` via: +// +// SloObjectiveRawMetricQueryNewrelicArgs{...} +type SloObjectiveRawMetricQueryNewrelicInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryNewrelicOutput() SloObjectiveRawMetricQueryNewrelicOutput + ToSloObjectiveRawMetricQueryNewrelicOutputWithContext(context.Context) SloObjectiveRawMetricQueryNewrelicOutput +} + +type SloObjectiveRawMetricQueryNewrelicArgs struct { + Nrql pulumi.StringInput `pulumi:"nrql"` +} + +func (SloObjectiveRawMetricQueryNewrelicArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryNewrelic)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryNewrelicArgs) ToSloObjectiveRawMetricQueryNewrelicOutput() SloObjectiveRawMetricQueryNewrelicOutput { + return i.ToSloObjectiveRawMetricQueryNewrelicOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryNewrelicArgs) ToSloObjectiveRawMetricQueryNewrelicOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryNewrelicOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryNewrelicOutput) +} + +// SloObjectiveRawMetricQueryNewrelicArrayInput is an input type that accepts SloObjectiveRawMetricQueryNewrelicArray and SloObjectiveRawMetricQueryNewrelicArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryNewrelicArrayInput` via: +// +// SloObjectiveRawMetricQueryNewrelicArray{ SloObjectiveRawMetricQueryNewrelicArgs{...} } +type SloObjectiveRawMetricQueryNewrelicArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryNewrelicArrayOutput() SloObjectiveRawMetricQueryNewrelicArrayOutput + ToSloObjectiveRawMetricQueryNewrelicArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryNewrelicArrayOutput +} + +type SloObjectiveRawMetricQueryNewrelicArray []SloObjectiveRawMetricQueryNewrelicInput + +func (SloObjectiveRawMetricQueryNewrelicArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryNewrelic)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryNewrelicArray) ToSloObjectiveRawMetricQueryNewrelicArrayOutput() SloObjectiveRawMetricQueryNewrelicArrayOutput { + return i.ToSloObjectiveRawMetricQueryNewrelicArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryNewrelicArray) ToSloObjectiveRawMetricQueryNewrelicArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryNewrelicArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryNewrelicArrayOutput) +} + +type SloObjectiveRawMetricQueryNewrelicOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryNewrelicOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryNewrelic)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryNewrelicOutput) ToSloObjectiveRawMetricQueryNewrelicOutput() SloObjectiveRawMetricQueryNewrelicOutput { + return o +} + +func (o SloObjectiveRawMetricQueryNewrelicOutput) ToSloObjectiveRawMetricQueryNewrelicOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryNewrelicOutput { + return o +} + +func (o SloObjectiveRawMetricQueryNewrelicOutput) Nrql() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryNewrelic) string { return v.Nrql }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryNewrelicArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryNewrelicArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryNewrelic)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryNewrelicArrayOutput) ToSloObjectiveRawMetricQueryNewrelicArrayOutput() SloObjectiveRawMetricQueryNewrelicArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryNewrelicArrayOutput) ToSloObjectiveRawMetricQueryNewrelicArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryNewrelicArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryNewrelicArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryNewrelicOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryNewrelic { + return vs[0].([]SloObjectiveRawMetricQueryNewrelic)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryNewrelicOutput) +} + +type SloObjectiveRawMetricQueryOpentsdb struct { + Query string `pulumi:"query"` +} + +// SloObjectiveRawMetricQueryOpentsdbInput is an input type that accepts SloObjectiveRawMetricQueryOpentsdbArgs and SloObjectiveRawMetricQueryOpentsdbOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryOpentsdbInput` via: +// +// SloObjectiveRawMetricQueryOpentsdbArgs{...} +type SloObjectiveRawMetricQueryOpentsdbInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryOpentsdbOutput() SloObjectiveRawMetricQueryOpentsdbOutput + ToSloObjectiveRawMetricQueryOpentsdbOutputWithContext(context.Context) SloObjectiveRawMetricQueryOpentsdbOutput +} + +type SloObjectiveRawMetricQueryOpentsdbArgs struct { + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveRawMetricQueryOpentsdbArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryOpentsdb)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryOpentsdbArgs) ToSloObjectiveRawMetricQueryOpentsdbOutput() SloObjectiveRawMetricQueryOpentsdbOutput { + return i.ToSloObjectiveRawMetricQueryOpentsdbOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryOpentsdbArgs) ToSloObjectiveRawMetricQueryOpentsdbOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryOpentsdbOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryOpentsdbOutput) +} + +// SloObjectiveRawMetricQueryOpentsdbArrayInput is an input type that accepts SloObjectiveRawMetricQueryOpentsdbArray and SloObjectiveRawMetricQueryOpentsdbArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryOpentsdbArrayInput` via: +// +// SloObjectiveRawMetricQueryOpentsdbArray{ SloObjectiveRawMetricQueryOpentsdbArgs{...} } +type SloObjectiveRawMetricQueryOpentsdbArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryOpentsdbArrayOutput() SloObjectiveRawMetricQueryOpentsdbArrayOutput + ToSloObjectiveRawMetricQueryOpentsdbArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryOpentsdbArrayOutput +} + +type SloObjectiveRawMetricQueryOpentsdbArray []SloObjectiveRawMetricQueryOpentsdbInput + +func (SloObjectiveRawMetricQueryOpentsdbArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryOpentsdb)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryOpentsdbArray) ToSloObjectiveRawMetricQueryOpentsdbArrayOutput() SloObjectiveRawMetricQueryOpentsdbArrayOutput { + return i.ToSloObjectiveRawMetricQueryOpentsdbArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryOpentsdbArray) ToSloObjectiveRawMetricQueryOpentsdbArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryOpentsdbArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryOpentsdbArrayOutput) +} + +type SloObjectiveRawMetricQueryOpentsdbOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryOpentsdbOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryOpentsdb)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryOpentsdbOutput) ToSloObjectiveRawMetricQueryOpentsdbOutput() SloObjectiveRawMetricQueryOpentsdbOutput { + return o +} + +func (o SloObjectiveRawMetricQueryOpentsdbOutput) ToSloObjectiveRawMetricQueryOpentsdbOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryOpentsdbOutput { + return o +} + +func (o SloObjectiveRawMetricQueryOpentsdbOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryOpentsdb) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryOpentsdbArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryOpentsdbArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryOpentsdb)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryOpentsdbArrayOutput) ToSloObjectiveRawMetricQueryOpentsdbArrayOutput() SloObjectiveRawMetricQueryOpentsdbArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryOpentsdbArrayOutput) ToSloObjectiveRawMetricQueryOpentsdbArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryOpentsdbArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryOpentsdbArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryOpentsdbOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryOpentsdb { + return vs[0].([]SloObjectiveRawMetricQueryOpentsdb)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryOpentsdbOutput) +} + +type SloObjectiveRawMetricQueryPingdom struct { + CheckId string `pulumi:"checkId"` + CheckType *string `pulumi:"checkType"` + Status *string `pulumi:"status"` +} + +// SloObjectiveRawMetricQueryPingdomInput is an input type that accepts SloObjectiveRawMetricQueryPingdomArgs and SloObjectiveRawMetricQueryPingdomOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryPingdomInput` via: +// +// SloObjectiveRawMetricQueryPingdomArgs{...} +type SloObjectiveRawMetricQueryPingdomInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryPingdomOutput() SloObjectiveRawMetricQueryPingdomOutput + ToSloObjectiveRawMetricQueryPingdomOutputWithContext(context.Context) SloObjectiveRawMetricQueryPingdomOutput +} + +type SloObjectiveRawMetricQueryPingdomArgs struct { + CheckId pulumi.StringInput `pulumi:"checkId"` + CheckType pulumi.StringPtrInput `pulumi:"checkType"` + Status pulumi.StringPtrInput `pulumi:"status"` +} + +func (SloObjectiveRawMetricQueryPingdomArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryPingdom)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryPingdomArgs) ToSloObjectiveRawMetricQueryPingdomOutput() SloObjectiveRawMetricQueryPingdomOutput { + return i.ToSloObjectiveRawMetricQueryPingdomOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryPingdomArgs) ToSloObjectiveRawMetricQueryPingdomOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryPingdomOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryPingdomOutput) +} + +// SloObjectiveRawMetricQueryPingdomArrayInput is an input type that accepts SloObjectiveRawMetricQueryPingdomArray and SloObjectiveRawMetricQueryPingdomArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryPingdomArrayInput` via: +// +// SloObjectiveRawMetricQueryPingdomArray{ SloObjectiveRawMetricQueryPingdomArgs{...} } +type SloObjectiveRawMetricQueryPingdomArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryPingdomArrayOutput() SloObjectiveRawMetricQueryPingdomArrayOutput + ToSloObjectiveRawMetricQueryPingdomArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryPingdomArrayOutput +} + +type SloObjectiveRawMetricQueryPingdomArray []SloObjectiveRawMetricQueryPingdomInput + +func (SloObjectiveRawMetricQueryPingdomArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryPingdom)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryPingdomArray) ToSloObjectiveRawMetricQueryPingdomArrayOutput() SloObjectiveRawMetricQueryPingdomArrayOutput { + return i.ToSloObjectiveRawMetricQueryPingdomArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryPingdomArray) ToSloObjectiveRawMetricQueryPingdomArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryPingdomArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryPingdomArrayOutput) +} + +type SloObjectiveRawMetricQueryPingdomOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryPingdomOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryPingdom)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryPingdomOutput) ToSloObjectiveRawMetricQueryPingdomOutput() SloObjectiveRawMetricQueryPingdomOutput { + return o +} + +func (o SloObjectiveRawMetricQueryPingdomOutput) ToSloObjectiveRawMetricQueryPingdomOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryPingdomOutput { + return o +} + +func (o SloObjectiveRawMetricQueryPingdomOutput) CheckId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryPingdom) string { return v.CheckId }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryPingdomOutput) CheckType() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryPingdom) *string { return v.CheckType }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveRawMetricQueryPingdomOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryPingdom) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +type SloObjectiveRawMetricQueryPingdomArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryPingdomArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryPingdom)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryPingdomArrayOutput) ToSloObjectiveRawMetricQueryPingdomArrayOutput() SloObjectiveRawMetricQueryPingdomArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryPingdomArrayOutput) ToSloObjectiveRawMetricQueryPingdomArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryPingdomArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryPingdomArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryPingdomOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryPingdom { + return vs[0].([]SloObjectiveRawMetricQueryPingdom)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryPingdomOutput) +} + +type SloObjectiveRawMetricQueryPrometheus struct { + Promql string `pulumi:"promql"` +} + +// SloObjectiveRawMetricQueryPrometheusInput is an input type that accepts SloObjectiveRawMetricQueryPrometheusArgs and SloObjectiveRawMetricQueryPrometheusOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryPrometheusInput` via: +// +// SloObjectiveRawMetricQueryPrometheusArgs{...} +type SloObjectiveRawMetricQueryPrometheusInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryPrometheusOutput() SloObjectiveRawMetricQueryPrometheusOutput + ToSloObjectiveRawMetricQueryPrometheusOutputWithContext(context.Context) SloObjectiveRawMetricQueryPrometheusOutput +} + +type SloObjectiveRawMetricQueryPrometheusArgs struct { + Promql pulumi.StringInput `pulumi:"promql"` +} + +func (SloObjectiveRawMetricQueryPrometheusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryPrometheus)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryPrometheusArgs) ToSloObjectiveRawMetricQueryPrometheusOutput() SloObjectiveRawMetricQueryPrometheusOutput { + return i.ToSloObjectiveRawMetricQueryPrometheusOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryPrometheusArgs) ToSloObjectiveRawMetricQueryPrometheusOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryPrometheusOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryPrometheusOutput) +} + +// SloObjectiveRawMetricQueryPrometheusArrayInput is an input type that accepts SloObjectiveRawMetricQueryPrometheusArray and SloObjectiveRawMetricQueryPrometheusArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryPrometheusArrayInput` via: +// +// SloObjectiveRawMetricQueryPrometheusArray{ SloObjectiveRawMetricQueryPrometheusArgs{...} } +type SloObjectiveRawMetricQueryPrometheusArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryPrometheusArrayOutput() SloObjectiveRawMetricQueryPrometheusArrayOutput + ToSloObjectiveRawMetricQueryPrometheusArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryPrometheusArrayOutput +} + +type SloObjectiveRawMetricQueryPrometheusArray []SloObjectiveRawMetricQueryPrometheusInput + +func (SloObjectiveRawMetricQueryPrometheusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryPrometheus)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryPrometheusArray) ToSloObjectiveRawMetricQueryPrometheusArrayOutput() SloObjectiveRawMetricQueryPrometheusArrayOutput { + return i.ToSloObjectiveRawMetricQueryPrometheusArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryPrometheusArray) ToSloObjectiveRawMetricQueryPrometheusArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryPrometheusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryPrometheusArrayOutput) +} + +type SloObjectiveRawMetricQueryPrometheusOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryPrometheusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryPrometheus)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryPrometheusOutput) ToSloObjectiveRawMetricQueryPrometheusOutput() SloObjectiveRawMetricQueryPrometheusOutput { + return o +} + +func (o SloObjectiveRawMetricQueryPrometheusOutput) ToSloObjectiveRawMetricQueryPrometheusOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryPrometheusOutput { + return o +} + +func (o SloObjectiveRawMetricQueryPrometheusOutput) Promql() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryPrometheus) string { return v.Promql }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryPrometheusArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryPrometheusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryPrometheus)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryPrometheusArrayOutput) ToSloObjectiveRawMetricQueryPrometheusArrayOutput() SloObjectiveRawMetricQueryPrometheusArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryPrometheusArrayOutput) ToSloObjectiveRawMetricQueryPrometheusArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryPrometheusArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryPrometheusArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryPrometheusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryPrometheus { + return vs[0].([]SloObjectiveRawMetricQueryPrometheus)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryPrometheusOutput) +} + +type SloObjectiveRawMetricQueryRedshift struct { + ClusterId string `pulumi:"clusterId"` + DatabaseName string `pulumi:"databaseName"` + Query string `pulumi:"query"` + Region string `pulumi:"region"` +} + +// SloObjectiveRawMetricQueryRedshiftInput is an input type that accepts SloObjectiveRawMetricQueryRedshiftArgs and SloObjectiveRawMetricQueryRedshiftOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryRedshiftInput` via: +// +// SloObjectiveRawMetricQueryRedshiftArgs{...} +type SloObjectiveRawMetricQueryRedshiftInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryRedshiftOutput() SloObjectiveRawMetricQueryRedshiftOutput + ToSloObjectiveRawMetricQueryRedshiftOutputWithContext(context.Context) SloObjectiveRawMetricQueryRedshiftOutput +} + +type SloObjectiveRawMetricQueryRedshiftArgs struct { + ClusterId pulumi.StringInput `pulumi:"clusterId"` + DatabaseName pulumi.StringInput `pulumi:"databaseName"` + Query pulumi.StringInput `pulumi:"query"` + Region pulumi.StringInput `pulumi:"region"` +} + +func (SloObjectiveRawMetricQueryRedshiftArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryRedshift)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryRedshiftArgs) ToSloObjectiveRawMetricQueryRedshiftOutput() SloObjectiveRawMetricQueryRedshiftOutput { + return i.ToSloObjectiveRawMetricQueryRedshiftOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryRedshiftArgs) ToSloObjectiveRawMetricQueryRedshiftOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryRedshiftOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryRedshiftOutput) +} + +// SloObjectiveRawMetricQueryRedshiftArrayInput is an input type that accepts SloObjectiveRawMetricQueryRedshiftArray and SloObjectiveRawMetricQueryRedshiftArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryRedshiftArrayInput` via: +// +// SloObjectiveRawMetricQueryRedshiftArray{ SloObjectiveRawMetricQueryRedshiftArgs{...} } +type SloObjectiveRawMetricQueryRedshiftArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryRedshiftArrayOutput() SloObjectiveRawMetricQueryRedshiftArrayOutput + ToSloObjectiveRawMetricQueryRedshiftArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryRedshiftArrayOutput +} + +type SloObjectiveRawMetricQueryRedshiftArray []SloObjectiveRawMetricQueryRedshiftInput + +func (SloObjectiveRawMetricQueryRedshiftArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryRedshift)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryRedshiftArray) ToSloObjectiveRawMetricQueryRedshiftArrayOutput() SloObjectiveRawMetricQueryRedshiftArrayOutput { + return i.ToSloObjectiveRawMetricQueryRedshiftArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryRedshiftArray) ToSloObjectiveRawMetricQueryRedshiftArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryRedshiftArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryRedshiftArrayOutput) +} + +type SloObjectiveRawMetricQueryRedshiftOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryRedshiftOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryRedshift)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryRedshiftOutput) ToSloObjectiveRawMetricQueryRedshiftOutput() SloObjectiveRawMetricQueryRedshiftOutput { + return o +} + +func (o SloObjectiveRawMetricQueryRedshiftOutput) ToSloObjectiveRawMetricQueryRedshiftOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryRedshiftOutput { + return o +} + +func (o SloObjectiveRawMetricQueryRedshiftOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryRedshift) string { return v.ClusterId }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryRedshiftOutput) DatabaseName() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryRedshift) string { return v.DatabaseName }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryRedshiftOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryRedshift) string { return v.Query }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQueryRedshiftOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryRedshift) string { return v.Region }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQueryRedshiftArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryRedshiftArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryRedshift)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryRedshiftArrayOutput) ToSloObjectiveRawMetricQueryRedshiftArrayOutput() SloObjectiveRawMetricQueryRedshiftArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryRedshiftArrayOutput) ToSloObjectiveRawMetricQueryRedshiftArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryRedshiftArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryRedshiftArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryRedshiftOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryRedshift { + return vs[0].([]SloObjectiveRawMetricQueryRedshift)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryRedshiftOutput) +} + +type SloObjectiveRawMetricQuerySplunk struct { + Query string `pulumi:"query"` +} + +// SloObjectiveRawMetricQuerySplunkInput is an input type that accepts SloObjectiveRawMetricQuerySplunkArgs and SloObjectiveRawMetricQuerySplunkOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQuerySplunkInput` via: +// +// SloObjectiveRawMetricQuerySplunkArgs{...} +type SloObjectiveRawMetricQuerySplunkInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQuerySplunkOutput() SloObjectiveRawMetricQuerySplunkOutput + ToSloObjectiveRawMetricQuerySplunkOutputWithContext(context.Context) SloObjectiveRawMetricQuerySplunkOutput +} + +type SloObjectiveRawMetricQuerySplunkArgs struct { + Query pulumi.StringInput `pulumi:"query"` +} + +func (SloObjectiveRawMetricQuerySplunkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQuerySplunk)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQuerySplunkArgs) ToSloObjectiveRawMetricQuerySplunkOutput() SloObjectiveRawMetricQuerySplunkOutput { + return i.ToSloObjectiveRawMetricQuerySplunkOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQuerySplunkArgs) ToSloObjectiveRawMetricQuerySplunkOutputWithContext(ctx context.Context) SloObjectiveRawMetricQuerySplunkOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQuerySplunkOutput) +} + +// SloObjectiveRawMetricQuerySplunkArrayInput is an input type that accepts SloObjectiveRawMetricQuerySplunkArray and SloObjectiveRawMetricQuerySplunkArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQuerySplunkArrayInput` via: +// +// SloObjectiveRawMetricQuerySplunkArray{ SloObjectiveRawMetricQuerySplunkArgs{...} } +type SloObjectiveRawMetricQuerySplunkArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQuerySplunkArrayOutput() SloObjectiveRawMetricQuerySplunkArrayOutput + ToSloObjectiveRawMetricQuerySplunkArrayOutputWithContext(context.Context) SloObjectiveRawMetricQuerySplunkArrayOutput +} + +type SloObjectiveRawMetricQuerySplunkArray []SloObjectiveRawMetricQuerySplunkInput + +func (SloObjectiveRawMetricQuerySplunkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQuerySplunk)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQuerySplunkArray) ToSloObjectiveRawMetricQuerySplunkArrayOutput() SloObjectiveRawMetricQuerySplunkArrayOutput { + return i.ToSloObjectiveRawMetricQuerySplunkArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQuerySplunkArray) ToSloObjectiveRawMetricQuerySplunkArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQuerySplunkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQuerySplunkArrayOutput) +} + +type SloObjectiveRawMetricQuerySplunkOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQuerySplunkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQuerySplunk)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQuerySplunkOutput) ToSloObjectiveRawMetricQuerySplunkOutput() SloObjectiveRawMetricQuerySplunkOutput { + return o +} + +func (o SloObjectiveRawMetricQuerySplunkOutput) ToSloObjectiveRawMetricQuerySplunkOutputWithContext(ctx context.Context) SloObjectiveRawMetricQuerySplunkOutput { + return o +} + +func (o SloObjectiveRawMetricQuerySplunkOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuerySplunk) string { return v.Query }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQuerySplunkArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQuerySplunkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQuerySplunk)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQuerySplunkArrayOutput) ToSloObjectiveRawMetricQuerySplunkArrayOutput() SloObjectiveRawMetricQuerySplunkArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQuerySplunkArrayOutput) ToSloObjectiveRawMetricQuerySplunkArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQuerySplunkArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQuerySplunkArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQuerySplunkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQuerySplunk { + return vs[0].([]SloObjectiveRawMetricQuerySplunk)[vs[1].(int)] + }).(SloObjectiveRawMetricQuerySplunkOutput) +} + +type SloObjectiveRawMetricQuerySplunkObservability struct { + Program string `pulumi:"program"` +} + +// SloObjectiveRawMetricQuerySplunkObservabilityInput is an input type that accepts SloObjectiveRawMetricQuerySplunkObservabilityArgs and SloObjectiveRawMetricQuerySplunkObservabilityOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQuerySplunkObservabilityInput` via: +// +// SloObjectiveRawMetricQuerySplunkObservabilityArgs{...} +type SloObjectiveRawMetricQuerySplunkObservabilityInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQuerySplunkObservabilityOutput() SloObjectiveRawMetricQuerySplunkObservabilityOutput + ToSloObjectiveRawMetricQuerySplunkObservabilityOutputWithContext(context.Context) SloObjectiveRawMetricQuerySplunkObservabilityOutput +} + +type SloObjectiveRawMetricQuerySplunkObservabilityArgs struct { + Program pulumi.StringInput `pulumi:"program"` +} + +func (SloObjectiveRawMetricQuerySplunkObservabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQuerySplunkObservability)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQuerySplunkObservabilityArgs) ToSloObjectiveRawMetricQuerySplunkObservabilityOutput() SloObjectiveRawMetricQuerySplunkObservabilityOutput { + return i.ToSloObjectiveRawMetricQuerySplunkObservabilityOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQuerySplunkObservabilityArgs) ToSloObjectiveRawMetricQuerySplunkObservabilityOutputWithContext(ctx context.Context) SloObjectiveRawMetricQuerySplunkObservabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQuerySplunkObservabilityOutput) +} + +// SloObjectiveRawMetricQuerySplunkObservabilityArrayInput is an input type that accepts SloObjectiveRawMetricQuerySplunkObservabilityArray and SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQuerySplunkObservabilityArrayInput` via: +// +// SloObjectiveRawMetricQuerySplunkObservabilityArray{ SloObjectiveRawMetricQuerySplunkObservabilityArgs{...} } +type SloObjectiveRawMetricQuerySplunkObservabilityArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQuerySplunkObservabilityArrayOutput() SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput + ToSloObjectiveRawMetricQuerySplunkObservabilityArrayOutputWithContext(context.Context) SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput +} + +type SloObjectiveRawMetricQuerySplunkObservabilityArray []SloObjectiveRawMetricQuerySplunkObservabilityInput + +func (SloObjectiveRawMetricQuerySplunkObservabilityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQuerySplunkObservability)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQuerySplunkObservabilityArray) ToSloObjectiveRawMetricQuerySplunkObservabilityArrayOutput() SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput { + return i.ToSloObjectiveRawMetricQuerySplunkObservabilityArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQuerySplunkObservabilityArray) ToSloObjectiveRawMetricQuerySplunkObservabilityArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput) +} + +type SloObjectiveRawMetricQuerySplunkObservabilityOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQuerySplunkObservabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQuerySplunkObservability)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQuerySplunkObservabilityOutput) ToSloObjectiveRawMetricQuerySplunkObservabilityOutput() SloObjectiveRawMetricQuerySplunkObservabilityOutput { + return o +} + +func (o SloObjectiveRawMetricQuerySplunkObservabilityOutput) ToSloObjectiveRawMetricQuerySplunkObservabilityOutputWithContext(ctx context.Context) SloObjectiveRawMetricQuerySplunkObservabilityOutput { + return o +} + +func (o SloObjectiveRawMetricQuerySplunkObservabilityOutput) Program() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuerySplunkObservability) string { return v.Program }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQuerySplunkObservability)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput) ToSloObjectiveRawMetricQuerySplunkObservabilityArrayOutput() SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput) ToSloObjectiveRawMetricQuerySplunkObservabilityArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQuerySplunkObservabilityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQuerySplunkObservability { + return vs[0].([]SloObjectiveRawMetricQuerySplunkObservability)[vs[1].(int)] + }).(SloObjectiveRawMetricQuerySplunkObservabilityOutput) +} + +type SloObjectiveRawMetricQuerySumologic struct { + Quantization *string `pulumi:"quantization"` + Query string `pulumi:"query"` + Rollup *string `pulumi:"rollup"` + Type string `pulumi:"type"` +} + +// SloObjectiveRawMetricQuerySumologicInput is an input type that accepts SloObjectiveRawMetricQuerySumologicArgs and SloObjectiveRawMetricQuerySumologicOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQuerySumologicInput` via: +// +// SloObjectiveRawMetricQuerySumologicArgs{...} +type SloObjectiveRawMetricQuerySumologicInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQuerySumologicOutput() SloObjectiveRawMetricQuerySumologicOutput + ToSloObjectiveRawMetricQuerySumologicOutputWithContext(context.Context) SloObjectiveRawMetricQuerySumologicOutput +} + +type SloObjectiveRawMetricQuerySumologicArgs struct { + Quantization pulumi.StringPtrInput `pulumi:"quantization"` + Query pulumi.StringInput `pulumi:"query"` + Rollup pulumi.StringPtrInput `pulumi:"rollup"` + Type pulumi.StringInput `pulumi:"type"` +} + +func (SloObjectiveRawMetricQuerySumologicArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQuerySumologic)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQuerySumologicArgs) ToSloObjectiveRawMetricQuerySumologicOutput() SloObjectiveRawMetricQuerySumologicOutput { + return i.ToSloObjectiveRawMetricQuerySumologicOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQuerySumologicArgs) ToSloObjectiveRawMetricQuerySumologicOutputWithContext(ctx context.Context) SloObjectiveRawMetricQuerySumologicOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQuerySumologicOutput) +} + +// SloObjectiveRawMetricQuerySumologicArrayInput is an input type that accepts SloObjectiveRawMetricQuerySumologicArray and SloObjectiveRawMetricQuerySumologicArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQuerySumologicArrayInput` via: +// +// SloObjectiveRawMetricQuerySumologicArray{ SloObjectiveRawMetricQuerySumologicArgs{...} } +type SloObjectiveRawMetricQuerySumologicArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQuerySumologicArrayOutput() SloObjectiveRawMetricQuerySumologicArrayOutput + ToSloObjectiveRawMetricQuerySumologicArrayOutputWithContext(context.Context) SloObjectiveRawMetricQuerySumologicArrayOutput +} + +type SloObjectiveRawMetricQuerySumologicArray []SloObjectiveRawMetricQuerySumologicInput + +func (SloObjectiveRawMetricQuerySumologicArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQuerySumologic)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQuerySumologicArray) ToSloObjectiveRawMetricQuerySumologicArrayOutput() SloObjectiveRawMetricQuerySumologicArrayOutput { + return i.ToSloObjectiveRawMetricQuerySumologicArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQuerySumologicArray) ToSloObjectiveRawMetricQuerySumologicArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQuerySumologicArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQuerySumologicArrayOutput) +} + +type SloObjectiveRawMetricQuerySumologicOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQuerySumologicOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQuerySumologic)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQuerySumologicOutput) ToSloObjectiveRawMetricQuerySumologicOutput() SloObjectiveRawMetricQuerySumologicOutput { + return o +} + +func (o SloObjectiveRawMetricQuerySumologicOutput) ToSloObjectiveRawMetricQuerySumologicOutputWithContext(ctx context.Context) SloObjectiveRawMetricQuerySumologicOutput { + return o +} + +func (o SloObjectiveRawMetricQuerySumologicOutput) Quantization() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuerySumologic) *string { return v.Quantization }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveRawMetricQuerySumologicOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuerySumologic) string { return v.Query }).(pulumi.StringOutput) +} + +func (o SloObjectiveRawMetricQuerySumologicOutput) Rollup() pulumi.StringPtrOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuerySumologic) *string { return v.Rollup }).(pulumi.StringPtrOutput) +} + +func (o SloObjectiveRawMetricQuerySumologicOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQuerySumologic) string { return v.Type }).(pulumi.StringOutput) +} + +type SloObjectiveRawMetricQuerySumologicArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQuerySumologicArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQuerySumologic)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQuerySumologicArrayOutput) ToSloObjectiveRawMetricQuerySumologicArrayOutput() SloObjectiveRawMetricQuerySumologicArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQuerySumologicArrayOutput) ToSloObjectiveRawMetricQuerySumologicArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQuerySumologicArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQuerySumologicArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQuerySumologicOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQuerySumologic { + return vs[0].([]SloObjectiveRawMetricQuerySumologic)[vs[1].(int)] + }).(SloObjectiveRawMetricQuerySumologicOutput) +} + +type SloObjectiveRawMetricQueryThousandeye struct { + TestId int `pulumi:"testId"` +} + +// SloObjectiveRawMetricQueryThousandeyeInput is an input type that accepts SloObjectiveRawMetricQueryThousandeyeArgs and SloObjectiveRawMetricQueryThousandeyeOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryThousandeyeInput` via: +// +// SloObjectiveRawMetricQueryThousandeyeArgs{...} +type SloObjectiveRawMetricQueryThousandeyeInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryThousandeyeOutput() SloObjectiveRawMetricQueryThousandeyeOutput + ToSloObjectiveRawMetricQueryThousandeyeOutputWithContext(context.Context) SloObjectiveRawMetricQueryThousandeyeOutput +} + +type SloObjectiveRawMetricQueryThousandeyeArgs struct { + TestId pulumi.IntInput `pulumi:"testId"` +} + +func (SloObjectiveRawMetricQueryThousandeyeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryThousandeye)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryThousandeyeArgs) ToSloObjectiveRawMetricQueryThousandeyeOutput() SloObjectiveRawMetricQueryThousandeyeOutput { + return i.ToSloObjectiveRawMetricQueryThousandeyeOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryThousandeyeArgs) ToSloObjectiveRawMetricQueryThousandeyeOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryThousandeyeOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryThousandeyeOutput) +} + +// SloObjectiveRawMetricQueryThousandeyeArrayInput is an input type that accepts SloObjectiveRawMetricQueryThousandeyeArray and SloObjectiveRawMetricQueryThousandeyeArrayOutput values. +// You can construct a concrete instance of `SloObjectiveRawMetricQueryThousandeyeArrayInput` via: +// +// SloObjectiveRawMetricQueryThousandeyeArray{ SloObjectiveRawMetricQueryThousandeyeArgs{...} } +type SloObjectiveRawMetricQueryThousandeyeArrayInput interface { + pulumi.Input + + ToSloObjectiveRawMetricQueryThousandeyeArrayOutput() SloObjectiveRawMetricQueryThousandeyeArrayOutput + ToSloObjectiveRawMetricQueryThousandeyeArrayOutputWithContext(context.Context) SloObjectiveRawMetricQueryThousandeyeArrayOutput +} + +type SloObjectiveRawMetricQueryThousandeyeArray []SloObjectiveRawMetricQueryThousandeyeInput + +func (SloObjectiveRawMetricQueryThousandeyeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryThousandeye)(nil)).Elem() +} + +func (i SloObjectiveRawMetricQueryThousandeyeArray) ToSloObjectiveRawMetricQueryThousandeyeArrayOutput() SloObjectiveRawMetricQueryThousandeyeArrayOutput { + return i.ToSloObjectiveRawMetricQueryThousandeyeArrayOutputWithContext(context.Background()) +} + +func (i SloObjectiveRawMetricQueryThousandeyeArray) ToSloObjectiveRawMetricQueryThousandeyeArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryThousandeyeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloObjectiveRawMetricQueryThousandeyeArrayOutput) +} + +type SloObjectiveRawMetricQueryThousandeyeOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryThousandeyeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloObjectiveRawMetricQueryThousandeye)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryThousandeyeOutput) ToSloObjectiveRawMetricQueryThousandeyeOutput() SloObjectiveRawMetricQueryThousandeyeOutput { + return o +} + +func (o SloObjectiveRawMetricQueryThousandeyeOutput) ToSloObjectiveRawMetricQueryThousandeyeOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryThousandeyeOutput { + return o +} + +func (o SloObjectiveRawMetricQueryThousandeyeOutput) TestId() pulumi.IntOutput { + return o.ApplyT(func(v SloObjectiveRawMetricQueryThousandeye) int { return v.TestId }).(pulumi.IntOutput) +} + +type SloObjectiveRawMetricQueryThousandeyeArrayOutput struct{ *pulumi.OutputState } + +func (SloObjectiveRawMetricQueryThousandeyeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloObjectiveRawMetricQueryThousandeye)(nil)).Elem() +} + +func (o SloObjectiveRawMetricQueryThousandeyeArrayOutput) ToSloObjectiveRawMetricQueryThousandeyeArrayOutput() SloObjectiveRawMetricQueryThousandeyeArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryThousandeyeArrayOutput) ToSloObjectiveRawMetricQueryThousandeyeArrayOutputWithContext(ctx context.Context) SloObjectiveRawMetricQueryThousandeyeArrayOutput { + return o +} + +func (o SloObjectiveRawMetricQueryThousandeyeArrayOutput) Index(i pulumi.IntInput) SloObjectiveRawMetricQueryThousandeyeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloObjectiveRawMetricQueryThousandeye { + return vs[0].([]SloObjectiveRawMetricQueryThousandeye)[vs[1].(int)] + }).(SloObjectiveRawMetricQueryThousandeyeOutput) +} + +type SloTimeWindow struct { + // Alert Policies attached to SLO + Calendars []SloTimeWindowCalendar `pulumi:"calendars"` + // Count of the time unit + Count int `pulumi:"count"` + // Is the window moving or not + IsRolling *bool `pulumi:"isRolling"` + // Period between start time and added count + Period map[string]string `pulumi:"period"` + // Unit of time + Unit string `pulumi:"unit"` +} + +// SloTimeWindowInput is an input type that accepts SloTimeWindowArgs and SloTimeWindowOutput values. +// You can construct a concrete instance of `SloTimeWindowInput` via: +// +// SloTimeWindowArgs{...} +type SloTimeWindowInput interface { + pulumi.Input + + ToSloTimeWindowOutput() SloTimeWindowOutput + ToSloTimeWindowOutputWithContext(context.Context) SloTimeWindowOutput +} + +type SloTimeWindowArgs struct { + // Alert Policies attached to SLO + Calendars SloTimeWindowCalendarArrayInput `pulumi:"calendars"` + // Count of the time unit + Count pulumi.IntInput `pulumi:"count"` + // Is the window moving or not + IsRolling pulumi.BoolPtrInput `pulumi:"isRolling"` + // Period between start time and added count + Period pulumi.StringMapInput `pulumi:"period"` + // Unit of time + Unit pulumi.StringInput `pulumi:"unit"` +} + +func (SloTimeWindowArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloTimeWindow)(nil)).Elem() +} + +func (i SloTimeWindowArgs) ToSloTimeWindowOutput() SloTimeWindowOutput { + return i.ToSloTimeWindowOutputWithContext(context.Background()) +} + +func (i SloTimeWindowArgs) ToSloTimeWindowOutputWithContext(ctx context.Context) SloTimeWindowOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloTimeWindowOutput) +} + +func (i SloTimeWindowArgs) ToSloTimeWindowPtrOutput() SloTimeWindowPtrOutput { + return i.ToSloTimeWindowPtrOutputWithContext(context.Background()) +} + +func (i SloTimeWindowArgs) ToSloTimeWindowPtrOutputWithContext(ctx context.Context) SloTimeWindowPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloTimeWindowOutput).ToSloTimeWindowPtrOutputWithContext(ctx) +} + +// SloTimeWindowPtrInput is an input type that accepts SloTimeWindowArgs, SloTimeWindowPtr and SloTimeWindowPtrOutput values. +// You can construct a concrete instance of `SloTimeWindowPtrInput` via: +// +// SloTimeWindowArgs{...} +// +// or: +// +// nil +type SloTimeWindowPtrInput interface { + pulumi.Input + + ToSloTimeWindowPtrOutput() SloTimeWindowPtrOutput + ToSloTimeWindowPtrOutputWithContext(context.Context) SloTimeWindowPtrOutput +} + +type sloTimeWindowPtrType SloTimeWindowArgs + +func SloTimeWindowPtr(v *SloTimeWindowArgs) SloTimeWindowPtrInput { + return (*sloTimeWindowPtrType)(v) +} + +func (*sloTimeWindowPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SloTimeWindow)(nil)).Elem() +} + +func (i *sloTimeWindowPtrType) ToSloTimeWindowPtrOutput() SloTimeWindowPtrOutput { + return i.ToSloTimeWindowPtrOutputWithContext(context.Background()) +} + +func (i *sloTimeWindowPtrType) ToSloTimeWindowPtrOutputWithContext(ctx context.Context) SloTimeWindowPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloTimeWindowPtrOutput) +} + +type SloTimeWindowOutput struct{ *pulumi.OutputState } + +func (SloTimeWindowOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloTimeWindow)(nil)).Elem() +} + +func (o SloTimeWindowOutput) ToSloTimeWindowOutput() SloTimeWindowOutput { + return o +} + +func (o SloTimeWindowOutput) ToSloTimeWindowOutputWithContext(ctx context.Context) SloTimeWindowOutput { + return o +} + +func (o SloTimeWindowOutput) ToSloTimeWindowPtrOutput() SloTimeWindowPtrOutput { + return o.ToSloTimeWindowPtrOutputWithContext(context.Background()) +} + +func (o SloTimeWindowOutput) ToSloTimeWindowPtrOutputWithContext(ctx context.Context) SloTimeWindowPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SloTimeWindow) *SloTimeWindow { + return &v + }).(SloTimeWindowPtrOutput) +} + +// Alert Policies attached to SLO +func (o SloTimeWindowOutput) Calendars() SloTimeWindowCalendarArrayOutput { + return o.ApplyT(func(v SloTimeWindow) []SloTimeWindowCalendar { return v.Calendars }).(SloTimeWindowCalendarArrayOutput) +} + +// Count of the time unit +func (o SloTimeWindowOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v SloTimeWindow) int { return v.Count }).(pulumi.IntOutput) +} + +// Is the window moving or not +func (o SloTimeWindowOutput) IsRolling() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SloTimeWindow) *bool { return v.IsRolling }).(pulumi.BoolPtrOutput) +} + +// Period between start time and added count +func (o SloTimeWindowOutput) Period() pulumi.StringMapOutput { + return o.ApplyT(func(v SloTimeWindow) map[string]string { return v.Period }).(pulumi.StringMapOutput) +} + +// Unit of time +func (o SloTimeWindowOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v SloTimeWindow) string { return v.Unit }).(pulumi.StringOutput) +} + +type SloTimeWindowPtrOutput struct{ *pulumi.OutputState } + +func (SloTimeWindowPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SloTimeWindow)(nil)).Elem() +} + +func (o SloTimeWindowPtrOutput) ToSloTimeWindowPtrOutput() SloTimeWindowPtrOutput { + return o +} + +func (o SloTimeWindowPtrOutput) ToSloTimeWindowPtrOutputWithContext(ctx context.Context) SloTimeWindowPtrOutput { + return o +} + +func (o SloTimeWindowPtrOutput) Elem() SloTimeWindowOutput { + return o.ApplyT(func(v *SloTimeWindow) SloTimeWindow { + if v != nil { + return *v + } + var ret SloTimeWindow + return ret + }).(SloTimeWindowOutput) +} + +// Alert Policies attached to SLO +func (o SloTimeWindowPtrOutput) Calendars() SloTimeWindowCalendarArrayOutput { + return o.ApplyT(func(v *SloTimeWindow) []SloTimeWindowCalendar { + if v == nil { + return nil + } + return v.Calendars + }).(SloTimeWindowCalendarArrayOutput) +} + +// Count of the time unit +func (o SloTimeWindowPtrOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SloTimeWindow) *int { + if v == nil { + return nil + } + return &v.Count + }).(pulumi.IntPtrOutput) +} + +// Is the window moving or not +func (o SloTimeWindowPtrOutput) IsRolling() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SloTimeWindow) *bool { + if v == nil { + return nil + } + return v.IsRolling + }).(pulumi.BoolPtrOutput) +} + +// Period between start time and added count +func (o SloTimeWindowPtrOutput) Period() pulumi.StringMapOutput { + return o.ApplyT(func(v *SloTimeWindow) map[string]string { + if v == nil { + return nil + } + return v.Period + }).(pulumi.StringMapOutput) +} + +// Unit of time +func (o SloTimeWindowPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SloTimeWindow) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +type SloTimeWindowCalendar struct { + StartTime string `pulumi:"startTime"` + TimeZone string `pulumi:"timeZone"` +} + +// SloTimeWindowCalendarInput is an input type that accepts SloTimeWindowCalendarArgs and SloTimeWindowCalendarOutput values. +// You can construct a concrete instance of `SloTimeWindowCalendarInput` via: +// +// SloTimeWindowCalendarArgs{...} +type SloTimeWindowCalendarInput interface { + pulumi.Input + + ToSloTimeWindowCalendarOutput() SloTimeWindowCalendarOutput + ToSloTimeWindowCalendarOutputWithContext(context.Context) SloTimeWindowCalendarOutput +} + +type SloTimeWindowCalendarArgs struct { + StartTime pulumi.StringInput `pulumi:"startTime"` + TimeZone pulumi.StringInput `pulumi:"timeZone"` +} + +func (SloTimeWindowCalendarArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SloTimeWindowCalendar)(nil)).Elem() +} + +func (i SloTimeWindowCalendarArgs) ToSloTimeWindowCalendarOutput() SloTimeWindowCalendarOutput { + return i.ToSloTimeWindowCalendarOutputWithContext(context.Background()) +} + +func (i SloTimeWindowCalendarArgs) ToSloTimeWindowCalendarOutputWithContext(ctx context.Context) SloTimeWindowCalendarOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloTimeWindowCalendarOutput) +} + +// SloTimeWindowCalendarArrayInput is an input type that accepts SloTimeWindowCalendarArray and SloTimeWindowCalendarArrayOutput values. +// You can construct a concrete instance of `SloTimeWindowCalendarArrayInput` via: +// +// SloTimeWindowCalendarArray{ SloTimeWindowCalendarArgs{...} } +type SloTimeWindowCalendarArrayInput interface { + pulumi.Input + + ToSloTimeWindowCalendarArrayOutput() SloTimeWindowCalendarArrayOutput + ToSloTimeWindowCalendarArrayOutputWithContext(context.Context) SloTimeWindowCalendarArrayOutput +} + +type SloTimeWindowCalendarArray []SloTimeWindowCalendarInput + +func (SloTimeWindowCalendarArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloTimeWindowCalendar)(nil)).Elem() +} + +func (i SloTimeWindowCalendarArray) ToSloTimeWindowCalendarArrayOutput() SloTimeWindowCalendarArrayOutput { + return i.ToSloTimeWindowCalendarArrayOutputWithContext(context.Background()) +} + +func (i SloTimeWindowCalendarArray) ToSloTimeWindowCalendarArrayOutputWithContext(ctx context.Context) SloTimeWindowCalendarArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloTimeWindowCalendarArrayOutput) +} + +type SloTimeWindowCalendarOutput struct{ *pulumi.OutputState } + +func (SloTimeWindowCalendarOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SloTimeWindowCalendar)(nil)).Elem() +} + +func (o SloTimeWindowCalendarOutput) ToSloTimeWindowCalendarOutput() SloTimeWindowCalendarOutput { + return o +} + +func (o SloTimeWindowCalendarOutput) ToSloTimeWindowCalendarOutputWithContext(ctx context.Context) SloTimeWindowCalendarOutput { + return o +} + +func (o SloTimeWindowCalendarOutput) StartTime() pulumi.StringOutput { + return o.ApplyT(func(v SloTimeWindowCalendar) string { return v.StartTime }).(pulumi.StringOutput) +} + +func (o SloTimeWindowCalendarOutput) TimeZone() pulumi.StringOutput { + return o.ApplyT(func(v SloTimeWindowCalendar) string { return v.TimeZone }).(pulumi.StringOutput) +} + +type SloTimeWindowCalendarArrayOutput struct{ *pulumi.OutputState } + +func (SloTimeWindowCalendarArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SloTimeWindowCalendar)(nil)).Elem() +} + +func (o SloTimeWindowCalendarArrayOutput) ToSloTimeWindowCalendarArrayOutput() SloTimeWindowCalendarArrayOutput { + return o +} + +func (o SloTimeWindowCalendarArrayOutput) ToSloTimeWindowCalendarArrayOutputWithContext(ctx context.Context) SloTimeWindowCalendarArrayOutput { + return o +} + +func (o SloTimeWindowCalendarArrayOutput) Index(i pulumi.IntInput) SloTimeWindowCalendarOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SloTimeWindowCalendar { + return vs[0].([]SloTimeWindowCalendar)[vs[1].(int)] + }).(SloTimeWindowCalendarOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AgentAmazonPrometheusConfigInput)(nil)).Elem(), AgentAmazonPrometheusConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAmazonPrometheusConfigPtrInput)(nil)).Elem(), AgentAmazonPrometheusConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAppdynamicsConfigInput)(nil)).Elem(), AgentAppdynamicsConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAppdynamicsConfigPtrInput)(nil)).Elem(), AgentAppdynamicsConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentBigqueryConfigInput)(nil)).Elem(), AgentBigqueryConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentBigqueryConfigPtrInput)(nil)).Elem(), AgentBigqueryConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentCloudwatchConfigInput)(nil)).Elem(), AgentCloudwatchConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentCloudwatchConfigPtrInput)(nil)).Elem(), AgentCloudwatchConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentDatadogConfigInput)(nil)).Elem(), AgentDatadogConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentDatadogConfigPtrInput)(nil)).Elem(), AgentDatadogConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentDynatraceConfigInput)(nil)).Elem(), AgentDynatraceConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentDynatraceConfigPtrInput)(nil)).Elem(), AgentDynatraceConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentElasticsearchConfigInput)(nil)).Elem(), AgentElasticsearchConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentElasticsearchConfigPtrInput)(nil)).Elem(), AgentElasticsearchConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentGcmConfigInput)(nil)).Elem(), AgentGcmConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentGcmConfigPtrInput)(nil)).Elem(), AgentGcmConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentGrafanaLokiConfigInput)(nil)).Elem(), AgentGrafanaLokiConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentGrafanaLokiConfigPtrInput)(nil)).Elem(), AgentGrafanaLokiConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentGraphiteConfigInput)(nil)).Elem(), AgentGraphiteConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentGraphiteConfigPtrInput)(nil)).Elem(), AgentGraphiteConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentInfluxdbConfigInput)(nil)).Elem(), AgentInfluxdbConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentInfluxdbConfigPtrInput)(nil)).Elem(), AgentInfluxdbConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentInstanaConfigInput)(nil)).Elem(), AgentInstanaConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentInstanaConfigPtrInput)(nil)).Elem(), AgentInstanaConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentLightstepConfigInput)(nil)).Elem(), AgentLightstepConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentLightstepConfigPtrInput)(nil)).Elem(), AgentLightstepConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentNewrelicConfigInput)(nil)).Elem(), AgentNewrelicConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentNewrelicConfigPtrInput)(nil)).Elem(), AgentNewrelicConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentOpentsdbConfigInput)(nil)).Elem(), AgentOpentsdbConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentOpentsdbConfigPtrInput)(nil)).Elem(), AgentOpentsdbConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentPingdomConfigInput)(nil)).Elem(), AgentPingdomConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentPingdomConfigPtrInput)(nil)).Elem(), AgentPingdomConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentPrometheusConfigInput)(nil)).Elem(), AgentPrometheusConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentPrometheusConfigPtrInput)(nil)).Elem(), AgentPrometheusConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentQueryDelayInput)(nil)).Elem(), AgentQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentQueryDelayPtrInput)(nil)).Elem(), AgentQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentRedshiftConfigInput)(nil)).Elem(), AgentRedshiftConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentRedshiftConfigPtrInput)(nil)).Elem(), AgentRedshiftConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentSplunkConfigInput)(nil)).Elem(), AgentSplunkConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentSplunkConfigPtrInput)(nil)).Elem(), AgentSplunkConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentSplunkObservabilityConfigInput)(nil)).Elem(), AgentSplunkObservabilityConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentSplunkObservabilityConfigPtrInput)(nil)).Elem(), AgentSplunkObservabilityConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentSumologicConfigInput)(nil)).Elem(), AgentSumologicConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentSumologicConfigPtrInput)(nil)).Elem(), AgentSumologicConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentThousandeyesConfigInput)(nil)).Elem(), AgentThousandeyesConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentThousandeyesConfigPtrInput)(nil)).Elem(), AgentThousandeyesConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertPolicyAlertMethodInput)(nil)).Elem(), AlertPolicyAlertMethodArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertPolicyAlertMethodArrayInput)(nil)).Elem(), AlertPolicyAlertMethodArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertPolicyConditionInput)(nil)).Elem(), AlertPolicyConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlertPolicyConditionArrayInput)(nil)).Elem(), AlertPolicyConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectAppdynamicsQueryDelayInput)(nil)).Elem(), DirectAppdynamicsQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectAppdynamicsQueryDelayPtrInput)(nil)).Elem(), DirectAppdynamicsQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectBigqueryQueryDelayInput)(nil)).Elem(), DirectBigqueryQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectBigqueryQueryDelayPtrInput)(nil)).Elem(), DirectBigqueryQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectCloudwatchHistoricalDataRetrievalInput)(nil)).Elem(), DirectCloudwatchHistoricalDataRetrievalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectCloudwatchHistoricalDataRetrievalPtrInput)(nil)).Elem(), DirectCloudwatchHistoricalDataRetrievalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectCloudwatchHistoricalDataRetrievalDefaultDurationInput)(nil)).Elem(), DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayInput)(nil)).Elem(), DirectCloudwatchHistoricalDataRetrievalDefaultDurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectCloudwatchHistoricalDataRetrievalMaxDurationInput)(nil)).Elem(), DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayInput)(nil)).Elem(), DirectCloudwatchHistoricalDataRetrievalMaxDurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectCloudwatchQueryDelayInput)(nil)).Elem(), DirectCloudwatchQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectCloudwatchQueryDelayPtrInput)(nil)).Elem(), DirectCloudwatchQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDatadogHistoricalDataRetrievalInput)(nil)).Elem(), DirectDatadogHistoricalDataRetrievalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDatadogHistoricalDataRetrievalPtrInput)(nil)).Elem(), DirectDatadogHistoricalDataRetrievalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDatadogHistoricalDataRetrievalDefaultDurationInput)(nil)).Elem(), DirectDatadogHistoricalDataRetrievalDefaultDurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDatadogHistoricalDataRetrievalDefaultDurationArrayInput)(nil)).Elem(), DirectDatadogHistoricalDataRetrievalDefaultDurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDatadogHistoricalDataRetrievalMaxDurationInput)(nil)).Elem(), DirectDatadogHistoricalDataRetrievalMaxDurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDatadogHistoricalDataRetrievalMaxDurationArrayInput)(nil)).Elem(), DirectDatadogHistoricalDataRetrievalMaxDurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDatadogQueryDelayInput)(nil)).Elem(), DirectDatadogQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDatadogQueryDelayPtrInput)(nil)).Elem(), DirectDatadogQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDynatraceHistoricalDataRetrievalInput)(nil)).Elem(), DirectDynatraceHistoricalDataRetrievalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDynatraceHistoricalDataRetrievalPtrInput)(nil)).Elem(), DirectDynatraceHistoricalDataRetrievalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDynatraceHistoricalDataRetrievalDefaultDurationInput)(nil)).Elem(), DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayInput)(nil)).Elem(), DirectDynatraceHistoricalDataRetrievalDefaultDurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDynatraceHistoricalDataRetrievalMaxDurationInput)(nil)).Elem(), DirectDynatraceHistoricalDataRetrievalMaxDurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDynatraceHistoricalDataRetrievalMaxDurationArrayInput)(nil)).Elem(), DirectDynatraceHistoricalDataRetrievalMaxDurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDynatraceQueryDelayInput)(nil)).Elem(), DirectDynatraceQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectDynatraceQueryDelayPtrInput)(nil)).Elem(), DirectDynatraceQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectGcmQueryDelayInput)(nil)).Elem(), DirectGcmQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectGcmQueryDelayPtrInput)(nil)).Elem(), DirectGcmQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectInfluxdbQueryDelayInput)(nil)).Elem(), DirectInfluxdbQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectInfluxdbQueryDelayPtrInput)(nil)).Elem(), DirectInfluxdbQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectInstanaQueryDelayInput)(nil)).Elem(), DirectInstanaQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectInstanaQueryDelayPtrInput)(nil)).Elem(), DirectInstanaQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectLightstepHistoricalDataRetrievalInput)(nil)).Elem(), DirectLightstepHistoricalDataRetrievalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectLightstepHistoricalDataRetrievalPtrInput)(nil)).Elem(), DirectLightstepHistoricalDataRetrievalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectLightstepHistoricalDataRetrievalDefaultDurationInput)(nil)).Elem(), DirectLightstepHistoricalDataRetrievalDefaultDurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectLightstepHistoricalDataRetrievalDefaultDurationArrayInput)(nil)).Elem(), DirectLightstepHistoricalDataRetrievalDefaultDurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectLightstepHistoricalDataRetrievalMaxDurationInput)(nil)).Elem(), DirectLightstepHistoricalDataRetrievalMaxDurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectLightstepHistoricalDataRetrievalMaxDurationArrayInput)(nil)).Elem(), DirectLightstepHistoricalDataRetrievalMaxDurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectLightstepQueryDelayInput)(nil)).Elem(), DirectLightstepQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectLightstepQueryDelayPtrInput)(nil)).Elem(), DirectLightstepQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectNewrelicHistoricalDataRetrievalInput)(nil)).Elem(), DirectNewrelicHistoricalDataRetrievalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectNewrelicHistoricalDataRetrievalPtrInput)(nil)).Elem(), DirectNewrelicHistoricalDataRetrievalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectNewrelicHistoricalDataRetrievalDefaultDurationInput)(nil)).Elem(), DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayInput)(nil)).Elem(), DirectNewrelicHistoricalDataRetrievalDefaultDurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectNewrelicHistoricalDataRetrievalMaxDurationInput)(nil)).Elem(), DirectNewrelicHistoricalDataRetrievalMaxDurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectNewrelicHistoricalDataRetrievalMaxDurationArrayInput)(nil)).Elem(), DirectNewrelicHistoricalDataRetrievalMaxDurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectNewrelicQueryDelayInput)(nil)).Elem(), DirectNewrelicQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectNewrelicQueryDelayPtrInput)(nil)).Elem(), DirectNewrelicQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectPingdomQueryDelayInput)(nil)).Elem(), DirectPingdomQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectPingdomQueryDelayPtrInput)(nil)).Elem(), DirectPingdomQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectRedshiftQueryDelayInput)(nil)).Elem(), DirectRedshiftQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectRedshiftQueryDelayPtrInput)(nil)).Elem(), DirectRedshiftQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkHistoricalDataRetrievalInput)(nil)).Elem(), DirectSplunkHistoricalDataRetrievalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkHistoricalDataRetrievalPtrInput)(nil)).Elem(), DirectSplunkHistoricalDataRetrievalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkHistoricalDataRetrievalDefaultDurationInput)(nil)).Elem(), DirectSplunkHistoricalDataRetrievalDefaultDurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkHistoricalDataRetrievalDefaultDurationArrayInput)(nil)).Elem(), DirectSplunkHistoricalDataRetrievalDefaultDurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkHistoricalDataRetrievalMaxDurationInput)(nil)).Elem(), DirectSplunkHistoricalDataRetrievalMaxDurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkHistoricalDataRetrievalMaxDurationArrayInput)(nil)).Elem(), DirectSplunkHistoricalDataRetrievalMaxDurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkObservabilityQueryDelayInput)(nil)).Elem(), DirectSplunkObservabilityQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkObservabilityQueryDelayPtrInput)(nil)).Elem(), DirectSplunkObservabilityQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkQueryDelayInput)(nil)).Elem(), DirectSplunkQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSplunkQueryDelayPtrInput)(nil)).Elem(), DirectSplunkQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSumologicQueryDelayInput)(nil)).Elem(), DirectSumologicQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectSumologicQueryDelayPtrInput)(nil)).Elem(), DirectSumologicQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectThousandeyesQueryDelayInput)(nil)).Elem(), DirectThousandeyesQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectThousandeyesQueryDelayPtrInput)(nil)).Elem(), DirectThousandeyesQueryDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectLabelInput)(nil)).Elem(), ProjectLabelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectLabelArrayInput)(nil)).Elem(), ProjectLabelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceLabelInput)(nil)).Elem(), ServiceLabelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceLabelArrayInput)(nil)).Elem(), ServiceLabelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloAttachmentInput)(nil)).Elem(), SloAttachmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloAttachmentArrayInput)(nil)).Elem(), SloAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloCompositeInput)(nil)).Elem(), SloCompositeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloCompositePtrInput)(nil)).Elem(), SloCompositeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloCompositeBurnRateConditionInput)(nil)).Elem(), SloCompositeBurnRateConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloCompositeBurnRateConditionArrayInput)(nil)).Elem(), SloCompositeBurnRateConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloIndicatorInput)(nil)).Elem(), SloIndicatorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloIndicatorPtrInput)(nil)).Elem(), SloIndicatorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloLabelInput)(nil)).Elem(), SloLabelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloLabelArrayInput)(nil)).Elem(), SloLabelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveInput)(nil)).Elem(), SloObjectiveArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveArrayInput)(nil)).Elem(), SloObjectiveArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricInput)(nil)).Elem(), SloObjectiveCountMetricArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricArrayInput)(nil)).Elem(), SloObjectiveCountMetricArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodInput)(nil)).Elem(), SloObjectiveCountMetricGoodArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodAmazonPrometheusInput)(nil)).Elem(), SloObjectiveCountMetricGoodAmazonPrometheusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodAmazonPrometheusArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodAmazonPrometheusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodAppdynamicInput)(nil)).Elem(), SloObjectiveCountMetricGoodAppdynamicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodAppdynamicArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodAppdynamicArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodBigqueryInput)(nil)).Elem(), SloObjectiveCountMetricGoodBigqueryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodBigqueryArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodBigqueryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodCloudwatchInput)(nil)).Elem(), SloObjectiveCountMetricGoodCloudwatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodCloudwatchArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodCloudwatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodCloudwatchDimensionInput)(nil)).Elem(), SloObjectiveCountMetricGoodCloudwatchDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodCloudwatchDimensionArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodCloudwatchDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodDatadogInput)(nil)).Elem(), SloObjectiveCountMetricGoodDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodDatadogArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodDatadogArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodDynatraceInput)(nil)).Elem(), SloObjectiveCountMetricGoodDynatraceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodDynatraceArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodDynatraceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodElasticsearchInput)(nil)).Elem(), SloObjectiveCountMetricGoodElasticsearchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodElasticsearchArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodElasticsearchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodGcmInput)(nil)).Elem(), SloObjectiveCountMetricGoodGcmArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodGcmArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodGcmArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodGrafanaLokiInput)(nil)).Elem(), SloObjectiveCountMetricGoodGrafanaLokiArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodGrafanaLokiArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodGrafanaLokiArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodGraphiteInput)(nil)).Elem(), SloObjectiveCountMetricGoodGraphiteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodGraphiteArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodGraphiteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodInfluxdbInput)(nil)).Elem(), SloObjectiveCountMetricGoodInfluxdbArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodInfluxdbArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodInfluxdbArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodInstanaInput)(nil)).Elem(), SloObjectiveCountMetricGoodInstanaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodInstanaArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodInstanaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodInstanaApplicationInput)(nil)).Elem(), SloObjectiveCountMetricGoodInstanaApplicationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodInstanaApplicationArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodInstanaApplicationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodInstanaApplicationGroupByInput)(nil)).Elem(), SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodInstanaApplicationGroupByArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodInstanaInfrastructureInput)(nil)).Elem(), SloObjectiveCountMetricGoodInstanaInfrastructureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodInstanaInfrastructureArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodInstanaInfrastructureArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodLightstepInput)(nil)).Elem(), SloObjectiveCountMetricGoodLightstepArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodLightstepArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodLightstepArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodNewrelicInput)(nil)).Elem(), SloObjectiveCountMetricGoodNewrelicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodNewrelicArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodNewrelicArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodOpentsdbInput)(nil)).Elem(), SloObjectiveCountMetricGoodOpentsdbArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodOpentsdbArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodOpentsdbArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodPingdomInput)(nil)).Elem(), SloObjectiveCountMetricGoodPingdomArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodPingdomArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodPingdomArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodPrometheusInput)(nil)).Elem(), SloObjectiveCountMetricGoodPrometheusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodPrometheusArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodPrometheusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodRedshiftInput)(nil)).Elem(), SloObjectiveCountMetricGoodRedshiftArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodRedshiftArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodRedshiftArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodSplunkInput)(nil)).Elem(), SloObjectiveCountMetricGoodSplunkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodSplunkArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodSplunkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodSplunkObservabilityInput)(nil)).Elem(), SloObjectiveCountMetricGoodSplunkObservabilityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodSplunkObservabilityArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodSplunkObservabilityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodSumologicInput)(nil)).Elem(), SloObjectiveCountMetricGoodSumologicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodSumologicArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodSumologicArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodThousandeyeInput)(nil)).Elem(), SloObjectiveCountMetricGoodThousandeyeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricGoodThousandeyeArrayInput)(nil)).Elem(), SloObjectiveCountMetricGoodThousandeyeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalInput)(nil)).Elem(), SloObjectiveCountMetricTotalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalAmazonPrometheusInput)(nil)).Elem(), SloObjectiveCountMetricTotalAmazonPrometheusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalAmazonPrometheusArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalAmazonPrometheusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalAppdynamicInput)(nil)).Elem(), SloObjectiveCountMetricTotalAppdynamicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalAppdynamicArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalAppdynamicArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalBigqueryInput)(nil)).Elem(), SloObjectiveCountMetricTotalBigqueryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalBigqueryArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalBigqueryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalCloudwatchInput)(nil)).Elem(), SloObjectiveCountMetricTotalCloudwatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalCloudwatchArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalCloudwatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalCloudwatchDimensionInput)(nil)).Elem(), SloObjectiveCountMetricTotalCloudwatchDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalCloudwatchDimensionArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalCloudwatchDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalDatadogInput)(nil)).Elem(), SloObjectiveCountMetricTotalDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalDatadogArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalDatadogArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalDynatraceInput)(nil)).Elem(), SloObjectiveCountMetricTotalDynatraceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalDynatraceArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalDynatraceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalElasticsearchInput)(nil)).Elem(), SloObjectiveCountMetricTotalElasticsearchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalElasticsearchArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalElasticsearchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalGcmInput)(nil)).Elem(), SloObjectiveCountMetricTotalGcmArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalGcmArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalGcmArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalGrafanaLokiInput)(nil)).Elem(), SloObjectiveCountMetricTotalGrafanaLokiArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalGrafanaLokiArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalGrafanaLokiArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalGraphiteInput)(nil)).Elem(), SloObjectiveCountMetricTotalGraphiteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalGraphiteArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalGraphiteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalInfluxdbInput)(nil)).Elem(), SloObjectiveCountMetricTotalInfluxdbArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalInfluxdbArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalInfluxdbArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalInstanaInput)(nil)).Elem(), SloObjectiveCountMetricTotalInstanaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalInstanaArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalInstanaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalInstanaApplicationInput)(nil)).Elem(), SloObjectiveCountMetricTotalInstanaApplicationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalInstanaApplicationArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalInstanaApplicationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalInstanaApplicationGroupByInput)(nil)).Elem(), SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalInstanaApplicationGroupByArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalInstanaInfrastructureInput)(nil)).Elem(), SloObjectiveCountMetricTotalInstanaInfrastructureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalInstanaInfrastructureArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalInstanaInfrastructureArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalLightstepInput)(nil)).Elem(), SloObjectiveCountMetricTotalLightstepArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalLightstepArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalLightstepArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalNewrelicInput)(nil)).Elem(), SloObjectiveCountMetricTotalNewrelicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalNewrelicArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalNewrelicArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalOpentsdbInput)(nil)).Elem(), SloObjectiveCountMetricTotalOpentsdbArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalOpentsdbArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalOpentsdbArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalPingdomInput)(nil)).Elem(), SloObjectiveCountMetricTotalPingdomArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalPingdomArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalPingdomArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalPrometheusInput)(nil)).Elem(), SloObjectiveCountMetricTotalPrometheusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalPrometheusArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalPrometheusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalRedshiftInput)(nil)).Elem(), SloObjectiveCountMetricTotalRedshiftArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalRedshiftArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalRedshiftArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalSplunkInput)(nil)).Elem(), SloObjectiveCountMetricTotalSplunkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalSplunkArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalSplunkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalSplunkObservabilityInput)(nil)).Elem(), SloObjectiveCountMetricTotalSplunkObservabilityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalSplunkObservabilityArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalSplunkObservabilityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalSumologicInput)(nil)).Elem(), SloObjectiveCountMetricTotalSumologicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalSumologicArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalSumologicArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalThousandeyeInput)(nil)).Elem(), SloObjectiveCountMetricTotalThousandeyeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveCountMetricTotalThousandeyeArrayInput)(nil)).Elem(), SloObjectiveCountMetricTotalThousandeyeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricInput)(nil)).Elem(), SloObjectiveRawMetricArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricArrayInput)(nil)).Elem(), SloObjectiveRawMetricArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryInput)(nil)).Elem(), SloObjectiveRawMetricQueryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryAmazonPrometheusInput)(nil)).Elem(), SloObjectiveRawMetricQueryAmazonPrometheusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryAmazonPrometheusArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryAmazonPrometheusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryAppdynamicInput)(nil)).Elem(), SloObjectiveRawMetricQueryAppdynamicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryAppdynamicArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryAppdynamicArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryBigqueryInput)(nil)).Elem(), SloObjectiveRawMetricQueryBigqueryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryBigqueryArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryBigqueryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryCloudwatchInput)(nil)).Elem(), SloObjectiveRawMetricQueryCloudwatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryCloudwatchArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryCloudwatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryCloudwatchDimensionInput)(nil)).Elem(), SloObjectiveRawMetricQueryCloudwatchDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryCloudwatchDimensionArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryCloudwatchDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryDatadogInput)(nil)).Elem(), SloObjectiveRawMetricQueryDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryDatadogArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryDatadogArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryDynatraceInput)(nil)).Elem(), SloObjectiveRawMetricQueryDynatraceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryDynatraceArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryDynatraceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryElasticsearchInput)(nil)).Elem(), SloObjectiveRawMetricQueryElasticsearchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryElasticsearchArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryElasticsearchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryGcmInput)(nil)).Elem(), SloObjectiveRawMetricQueryGcmArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryGcmArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryGcmArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryGrafanaLokiInput)(nil)).Elem(), SloObjectiveRawMetricQueryGrafanaLokiArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryGrafanaLokiArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryGrafanaLokiArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryGraphiteInput)(nil)).Elem(), SloObjectiveRawMetricQueryGraphiteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryGraphiteArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryGraphiteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryInfluxdbInput)(nil)).Elem(), SloObjectiveRawMetricQueryInfluxdbArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryInfluxdbArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryInfluxdbArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryInstanaInput)(nil)).Elem(), SloObjectiveRawMetricQueryInstanaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryInstanaArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryInstanaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryInstanaApplicationInput)(nil)).Elem(), SloObjectiveRawMetricQueryInstanaApplicationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryInstanaApplicationArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryInstanaApplicationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryInstanaApplicationGroupByInput)(nil)).Elem(), SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryInstanaApplicationGroupByArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryInstanaInfrastructureInput)(nil)).Elem(), SloObjectiveRawMetricQueryInstanaInfrastructureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryInstanaInfrastructureArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryInstanaInfrastructureArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryLightstepInput)(nil)).Elem(), SloObjectiveRawMetricQueryLightstepArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryLightstepArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryLightstepArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryNewrelicInput)(nil)).Elem(), SloObjectiveRawMetricQueryNewrelicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryNewrelicArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryNewrelicArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryOpentsdbInput)(nil)).Elem(), SloObjectiveRawMetricQueryOpentsdbArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryOpentsdbArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryOpentsdbArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryPingdomInput)(nil)).Elem(), SloObjectiveRawMetricQueryPingdomArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryPingdomArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryPingdomArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryPrometheusInput)(nil)).Elem(), SloObjectiveRawMetricQueryPrometheusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryPrometheusArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryPrometheusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryRedshiftInput)(nil)).Elem(), SloObjectiveRawMetricQueryRedshiftArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryRedshiftArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryRedshiftArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQuerySplunkInput)(nil)).Elem(), SloObjectiveRawMetricQuerySplunkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQuerySplunkArrayInput)(nil)).Elem(), SloObjectiveRawMetricQuerySplunkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQuerySplunkObservabilityInput)(nil)).Elem(), SloObjectiveRawMetricQuerySplunkObservabilityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQuerySplunkObservabilityArrayInput)(nil)).Elem(), SloObjectiveRawMetricQuerySplunkObservabilityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQuerySumologicInput)(nil)).Elem(), SloObjectiveRawMetricQuerySumologicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQuerySumologicArrayInput)(nil)).Elem(), SloObjectiveRawMetricQuerySumologicArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryThousandeyeInput)(nil)).Elem(), SloObjectiveRawMetricQueryThousandeyeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloObjectiveRawMetricQueryThousandeyeArrayInput)(nil)).Elem(), SloObjectiveRawMetricQueryThousandeyeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloTimeWindowInput)(nil)).Elem(), SloTimeWindowArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloTimeWindowPtrInput)(nil)).Elem(), SloTimeWindowArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloTimeWindowCalendarInput)(nil)).Elem(), SloTimeWindowCalendarArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloTimeWindowCalendarArrayInput)(nil)).Elem(), SloTimeWindowCalendarArray{}) + pulumi.RegisterOutputType(AgentAmazonPrometheusConfigOutput{}) + pulumi.RegisterOutputType(AgentAmazonPrometheusConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentAppdynamicsConfigOutput{}) + pulumi.RegisterOutputType(AgentAppdynamicsConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentBigqueryConfigOutput{}) + pulumi.RegisterOutputType(AgentBigqueryConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentCloudwatchConfigOutput{}) + pulumi.RegisterOutputType(AgentCloudwatchConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentDatadogConfigOutput{}) + pulumi.RegisterOutputType(AgentDatadogConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentDynatraceConfigOutput{}) + pulumi.RegisterOutputType(AgentDynatraceConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentElasticsearchConfigOutput{}) + pulumi.RegisterOutputType(AgentElasticsearchConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentGcmConfigOutput{}) + pulumi.RegisterOutputType(AgentGcmConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentGrafanaLokiConfigOutput{}) + pulumi.RegisterOutputType(AgentGrafanaLokiConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentGraphiteConfigOutput{}) + pulumi.RegisterOutputType(AgentGraphiteConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentInfluxdbConfigOutput{}) + pulumi.RegisterOutputType(AgentInfluxdbConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentInstanaConfigOutput{}) + pulumi.RegisterOutputType(AgentInstanaConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentLightstepConfigOutput{}) + pulumi.RegisterOutputType(AgentLightstepConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentNewrelicConfigOutput{}) + pulumi.RegisterOutputType(AgentNewrelicConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentOpentsdbConfigOutput{}) + pulumi.RegisterOutputType(AgentOpentsdbConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentPingdomConfigOutput{}) + pulumi.RegisterOutputType(AgentPingdomConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentPrometheusConfigOutput{}) + pulumi.RegisterOutputType(AgentPrometheusConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentQueryDelayOutput{}) + pulumi.RegisterOutputType(AgentQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(AgentRedshiftConfigOutput{}) + pulumi.RegisterOutputType(AgentRedshiftConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentSplunkConfigOutput{}) + pulumi.RegisterOutputType(AgentSplunkConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentSplunkObservabilityConfigOutput{}) + pulumi.RegisterOutputType(AgentSplunkObservabilityConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentSumologicConfigOutput{}) + pulumi.RegisterOutputType(AgentSumologicConfigPtrOutput{}) + pulumi.RegisterOutputType(AgentThousandeyesConfigOutput{}) + pulumi.RegisterOutputType(AgentThousandeyesConfigPtrOutput{}) + pulumi.RegisterOutputType(AlertPolicyAlertMethodOutput{}) + pulumi.RegisterOutputType(AlertPolicyAlertMethodArrayOutput{}) + pulumi.RegisterOutputType(AlertPolicyConditionOutput{}) + pulumi.RegisterOutputType(AlertPolicyConditionArrayOutput{}) + pulumi.RegisterOutputType(DirectAppdynamicsQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectAppdynamicsQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(DirectBigqueryQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectBigqueryQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(DirectCloudwatchHistoricalDataRetrievalOutput{}) + pulumi.RegisterOutputType(DirectCloudwatchHistoricalDataRetrievalPtrOutput{}) + pulumi.RegisterOutputType(DirectCloudwatchHistoricalDataRetrievalDefaultDurationOutput{}) + pulumi.RegisterOutputType(DirectCloudwatchHistoricalDataRetrievalDefaultDurationArrayOutput{}) + pulumi.RegisterOutputType(DirectCloudwatchHistoricalDataRetrievalMaxDurationOutput{}) + pulumi.RegisterOutputType(DirectCloudwatchHistoricalDataRetrievalMaxDurationArrayOutput{}) + pulumi.RegisterOutputType(DirectCloudwatchQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectCloudwatchQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(DirectDatadogHistoricalDataRetrievalOutput{}) + pulumi.RegisterOutputType(DirectDatadogHistoricalDataRetrievalPtrOutput{}) + pulumi.RegisterOutputType(DirectDatadogHistoricalDataRetrievalDefaultDurationOutput{}) + pulumi.RegisterOutputType(DirectDatadogHistoricalDataRetrievalDefaultDurationArrayOutput{}) + pulumi.RegisterOutputType(DirectDatadogHistoricalDataRetrievalMaxDurationOutput{}) + pulumi.RegisterOutputType(DirectDatadogHistoricalDataRetrievalMaxDurationArrayOutput{}) + pulumi.RegisterOutputType(DirectDatadogQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectDatadogQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(DirectDynatraceHistoricalDataRetrievalOutput{}) + pulumi.RegisterOutputType(DirectDynatraceHistoricalDataRetrievalPtrOutput{}) + pulumi.RegisterOutputType(DirectDynatraceHistoricalDataRetrievalDefaultDurationOutput{}) + pulumi.RegisterOutputType(DirectDynatraceHistoricalDataRetrievalDefaultDurationArrayOutput{}) + pulumi.RegisterOutputType(DirectDynatraceHistoricalDataRetrievalMaxDurationOutput{}) + pulumi.RegisterOutputType(DirectDynatraceHistoricalDataRetrievalMaxDurationArrayOutput{}) + pulumi.RegisterOutputType(DirectDynatraceQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectDynatraceQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(DirectGcmQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectGcmQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(DirectInfluxdbQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectInfluxdbQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(DirectInstanaQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectInstanaQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(DirectLightstepHistoricalDataRetrievalOutput{}) + pulumi.RegisterOutputType(DirectLightstepHistoricalDataRetrievalPtrOutput{}) + pulumi.RegisterOutputType(DirectLightstepHistoricalDataRetrievalDefaultDurationOutput{}) + pulumi.RegisterOutputType(DirectLightstepHistoricalDataRetrievalDefaultDurationArrayOutput{}) + pulumi.RegisterOutputType(DirectLightstepHistoricalDataRetrievalMaxDurationOutput{}) + pulumi.RegisterOutputType(DirectLightstepHistoricalDataRetrievalMaxDurationArrayOutput{}) + pulumi.RegisterOutputType(DirectLightstepQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectLightstepQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(DirectNewrelicHistoricalDataRetrievalOutput{}) + pulumi.RegisterOutputType(DirectNewrelicHistoricalDataRetrievalPtrOutput{}) + pulumi.RegisterOutputType(DirectNewrelicHistoricalDataRetrievalDefaultDurationOutput{}) + pulumi.RegisterOutputType(DirectNewrelicHistoricalDataRetrievalDefaultDurationArrayOutput{}) + pulumi.RegisterOutputType(DirectNewrelicHistoricalDataRetrievalMaxDurationOutput{}) + pulumi.RegisterOutputType(DirectNewrelicHistoricalDataRetrievalMaxDurationArrayOutput{}) + pulumi.RegisterOutputType(DirectNewrelicQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectNewrelicQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(DirectPingdomQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectPingdomQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(DirectRedshiftQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectRedshiftQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(DirectSplunkHistoricalDataRetrievalOutput{}) + pulumi.RegisterOutputType(DirectSplunkHistoricalDataRetrievalPtrOutput{}) + pulumi.RegisterOutputType(DirectSplunkHistoricalDataRetrievalDefaultDurationOutput{}) + pulumi.RegisterOutputType(DirectSplunkHistoricalDataRetrievalDefaultDurationArrayOutput{}) + pulumi.RegisterOutputType(DirectSplunkHistoricalDataRetrievalMaxDurationOutput{}) + pulumi.RegisterOutputType(DirectSplunkHistoricalDataRetrievalMaxDurationArrayOutput{}) + pulumi.RegisterOutputType(DirectSplunkObservabilityQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectSplunkObservabilityQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(DirectSplunkQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectSplunkQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(DirectSumologicQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectSumologicQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(DirectThousandeyesQueryDelayOutput{}) + pulumi.RegisterOutputType(DirectThousandeyesQueryDelayPtrOutput{}) + pulumi.RegisterOutputType(ProjectLabelOutput{}) + pulumi.RegisterOutputType(ProjectLabelArrayOutput{}) + pulumi.RegisterOutputType(ServiceLabelOutput{}) + pulumi.RegisterOutputType(ServiceLabelArrayOutput{}) + pulumi.RegisterOutputType(SloAttachmentOutput{}) + pulumi.RegisterOutputType(SloAttachmentArrayOutput{}) + pulumi.RegisterOutputType(SloCompositeOutput{}) + pulumi.RegisterOutputType(SloCompositePtrOutput{}) + pulumi.RegisterOutputType(SloCompositeBurnRateConditionOutput{}) + pulumi.RegisterOutputType(SloCompositeBurnRateConditionArrayOutput{}) + pulumi.RegisterOutputType(SloIndicatorOutput{}) + pulumi.RegisterOutputType(SloIndicatorPtrOutput{}) + pulumi.RegisterOutputType(SloLabelOutput{}) + pulumi.RegisterOutputType(SloLabelArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveOutput{}) + pulumi.RegisterOutputType(SloObjectiveArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodAmazonPrometheusOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodAmazonPrometheusArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodAppdynamicOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodAppdynamicArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodBigqueryOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodBigqueryArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodCloudwatchOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodCloudwatchArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodCloudwatchDimensionOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodCloudwatchDimensionArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodDatadogOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodDatadogArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodDynatraceOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodDynatraceArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodElasticsearchOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodElasticsearchArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodGcmOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodGcmArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodGrafanaLokiOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodGrafanaLokiArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodGraphiteOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodGraphiteArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodInfluxdbOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodInfluxdbArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodInstanaOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodInstanaArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodInstanaApplicationOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodInstanaApplicationArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodInstanaApplicationGroupByOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodInstanaApplicationGroupByArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodInstanaInfrastructureOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodInstanaInfrastructureArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodLightstepOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodLightstepArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodNewrelicOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodNewrelicArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodOpentsdbOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodOpentsdbArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodPingdomOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodPingdomArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodPrometheusOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodPrometheusArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodRedshiftOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodRedshiftArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodSplunkOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodSplunkArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodSplunkObservabilityOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodSplunkObservabilityArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodSumologicOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodSumologicArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodThousandeyeOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricGoodThousandeyeArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalAmazonPrometheusOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalAmazonPrometheusArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalAppdynamicOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalAppdynamicArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalBigqueryOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalBigqueryArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalCloudwatchOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalCloudwatchArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalCloudwatchDimensionOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalCloudwatchDimensionArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalDatadogOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalDatadogArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalDynatraceOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalDynatraceArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalElasticsearchOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalElasticsearchArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalGcmOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalGcmArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalGrafanaLokiOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalGrafanaLokiArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalGraphiteOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalGraphiteArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalInfluxdbOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalInfluxdbArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalInstanaOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalInstanaArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalInstanaApplicationOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalInstanaApplicationArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalInstanaApplicationGroupByOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalInstanaApplicationGroupByArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalInstanaInfrastructureOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalInstanaInfrastructureArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalLightstepOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalLightstepArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalNewrelicOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalNewrelicArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalOpentsdbOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalOpentsdbArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalPingdomOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalPingdomArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalPrometheusOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalPrometheusArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalRedshiftOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalRedshiftArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalSplunkOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalSplunkArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalSplunkObservabilityOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalSplunkObservabilityArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalSumologicOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalSumologicArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalThousandeyeOutput{}) + pulumi.RegisterOutputType(SloObjectiveCountMetricTotalThousandeyeArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryAmazonPrometheusOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryAmazonPrometheusArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryAppdynamicOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryAppdynamicArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryBigqueryOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryBigqueryArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryCloudwatchOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryCloudwatchArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryCloudwatchDimensionOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryCloudwatchDimensionArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryDatadogOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryDatadogArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryDynatraceOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryDynatraceArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryElasticsearchOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryElasticsearchArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryGcmOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryGcmArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryGrafanaLokiOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryGrafanaLokiArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryGraphiteOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryGraphiteArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryInfluxdbOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryInfluxdbArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryInstanaOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryInstanaArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryInstanaApplicationOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryInstanaApplicationArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryInstanaApplicationGroupByOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryInstanaApplicationGroupByArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryInstanaInfrastructureOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryInstanaInfrastructureArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryLightstepOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryLightstepArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryNewrelicOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryNewrelicArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryOpentsdbOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryOpentsdbArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryPingdomOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryPingdomArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryPrometheusOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryPrometheusArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryRedshiftOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryRedshiftArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQuerySplunkOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQuerySplunkArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQuerySplunkObservabilityOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQuerySplunkObservabilityArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQuerySumologicOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQuerySumologicArrayOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryThousandeyeOutput{}) + pulumi.RegisterOutputType(SloObjectiveRawMetricQueryThousandeyeArrayOutput{}) + pulumi.RegisterOutputType(SloTimeWindowOutput{}) + pulumi.RegisterOutputType(SloTimeWindowPtrOutput{}) + pulumi.RegisterOutputType(SloTimeWindowCalendarOutput{}) + pulumi.RegisterOutputType(SloTimeWindowCalendarArrayOutput{}) +} diff --git a/sdk/go/nobl9/pulumiUtilities.go b/sdk/go/nobl9/pulumiUtilities.go new file mode 100644 index 0000000..f26798d --- /dev/null +++ b/sdk/go/nobl9/pulumiUtilities.go @@ -0,0 +1,101 @@ +// 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 nobl9 + +import ( + "fmt" + "os" + "reflect" + "regexp" + "strconv" + "strings" + + "github.com/blang/semver" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type envParser func(v string) interface{} + +func parseEnvBool(v string) interface{} { + b, err := strconv.ParseBool(v) + if err != nil { + return nil + } + return b +} + +func parseEnvInt(v string) interface{} { + i, err := strconv.ParseInt(v, 0, 0) + if err != nil { + return nil + } + return int(i) +} + +func parseEnvFloat(v string) interface{} { + f, err := strconv.ParseFloat(v, 64) + if err != nil { + return nil + } + return f +} + +func parseEnvStringArray(v string) interface{} { + var result pulumi.StringArray + for _, item := range strings.Split(v, ";") { + result = append(result, pulumi.String(item)) + } + return result +} + +func getEnvOrDefault(def interface{}, parser envParser, vars ...string) interface{} { + for _, v := range vars { + if value := os.Getenv(v); value != "" { + if parser != nil { + return parser(value) + } + return value + } + } + return def +} + +// PkgVersion uses reflection to determine the version of the current package. +// If a version cannot be determined, v1 will be assumed. The second return +// value is always nil. +func PkgVersion() (semver.Version, error) { + type sentinal struct{} + pkgPath := reflect.TypeOf(sentinal{}).PkgPath() + re := regexp.MustCompile("^.*/pulumi-nobl9/sdk(/v\\d+)?") + if match := re.FindStringSubmatch(pkgPath); match != nil { + vStr := match[1] + if len(vStr) == 0 { // If the version capture group was empty, default to v1. + return semver.Version{Major: 1}, nil + } + return semver.MustParse(fmt.Sprintf("%s.0.0", vStr[2:])), nil + } + return semver.Version{Major: 1}, nil +} + +// isZero is a null safe check for if a value is it's types zero value. +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{pulumi.PluginDownloadURL("https://github.com/piclemx/pulumi-nobl9/releases/")} + + return append(defaults, opts...) +} + +// pkgInvokeDefaultOpts provides package level defaults to pulumi.OptionInvoke. +func pkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { + defaults := []pulumi.InvokeOption{pulumi.PluginDownloadURL("https://github.com/piclemx/pulumi-nobl9/releases/")} + + return append(defaults, opts...) +} diff --git a/sdk/go/nobl9/roleBinding.go b/sdk/go/nobl9/roleBinding.go new file mode 100644 index 0000000..8eddbb7 --- /dev/null +++ b/sdk/go/nobl9/roleBinding.go @@ -0,0 +1,311 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ## Example Usage +// +// Here's an example of RBAC resource configuration: +// +// ```go +// package main +// +// import ( +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nobl9.NewRoleBinding(ctx, "this", &nobl9.RoleBindingArgs{ +// ProjectRef: pulumi.String("1234567890asdfghjkl"), +// RoleRef: pulumi.String("project-owner"), +// User: pulumi.String("1234567890asdfghjkl"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Useful Links +// +// [Role Based Access Control in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/Getting_Started/RBAC/) +// +// [Role Binding YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/Getting_Started/RBAC/role-binding-yaml) +type RoleBinding struct { + pulumi.CustomResourceState + + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Project name, the project in which we want the user to assume the specified role. When `projectRef` is empty, `roleRef` must contain an Organization Role. + ProjectRef pulumi.StringPtrOutput `pulumi:"projectRef"` + // Role name; the role that you want the user to assume. + RoleRef pulumi.StringOutput `pulumi:"roleRef"` + // Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + User pulumi.StringOutput `pulumi:"user"` +} + +// NewRoleBinding registers a new resource with the given unique name, arguments, and options. +func NewRoleBinding(ctx *pulumi.Context, + name string, args *RoleBindingArgs, opts ...pulumi.ResourceOption) (*RoleBinding, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.RoleRef == nil { + return nil, errors.New("invalid value for required argument 'RoleRef'") + } + if args.User == nil { + return nil, errors.New("invalid value for required argument 'User'") + } + opts = pkgResourceDefaultOpts(opts) + var resource RoleBinding + err := ctx.RegisterResource("nobl9:index/roleBinding:RoleBinding", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRoleBinding gets an existing RoleBinding 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 GetRoleBinding(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RoleBindingState, opts ...pulumi.ResourceOption) (*RoleBinding, error) { + var resource RoleBinding + err := ctx.ReadResource("nobl9:index/roleBinding:RoleBinding", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RoleBinding resources. +type roleBindingState struct { + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Project name, the project in which we want the user to assume the specified role. When `projectRef` is empty, `roleRef` must contain an Organization Role. + ProjectRef *string `pulumi:"projectRef"` + // Role name; the role that you want the user to assume. + RoleRef *string `pulumi:"roleRef"` + // Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + User *string `pulumi:"user"` +} + +type RoleBindingState struct { + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Project name, the project in which we want the user to assume the specified role. When `projectRef` is empty, `roleRef` must contain an Organization Role. + ProjectRef pulumi.StringPtrInput + // Role name; the role that you want the user to assume. + RoleRef pulumi.StringPtrInput + // Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + User pulumi.StringPtrInput +} + +func (RoleBindingState) ElementType() reflect.Type { + return reflect.TypeOf((*roleBindingState)(nil)).Elem() +} + +type roleBindingArgs struct { + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Project name, the project in which we want the user to assume the specified role. When `projectRef` is empty, `roleRef` must contain an Organization Role. + ProjectRef *string `pulumi:"projectRef"` + // Role name; the role that you want the user to assume. + RoleRef string `pulumi:"roleRef"` + // Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + User string `pulumi:"user"` +} + +// The set of arguments for constructing a RoleBinding resource. +type RoleBindingArgs struct { + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Project name, the project in which we want the user to assume the specified role. When `projectRef` is empty, `roleRef` must contain an Organization Role. + ProjectRef pulumi.StringPtrInput + // Role name; the role that you want the user to assume. + RoleRef pulumi.StringInput + // Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + User pulumi.StringInput +} + +func (RoleBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*roleBindingArgs)(nil)).Elem() +} + +type RoleBindingInput interface { + pulumi.Input + + ToRoleBindingOutput() RoleBindingOutput + ToRoleBindingOutputWithContext(ctx context.Context) RoleBindingOutput +} + +func (*RoleBinding) ElementType() reflect.Type { + return reflect.TypeOf((**RoleBinding)(nil)).Elem() +} + +func (i *RoleBinding) ToRoleBindingOutput() RoleBindingOutput { + return i.ToRoleBindingOutputWithContext(context.Background()) +} + +func (i *RoleBinding) ToRoleBindingOutputWithContext(ctx context.Context) RoleBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoleBindingOutput) +} + +// RoleBindingArrayInput is an input type that accepts RoleBindingArray and RoleBindingArrayOutput values. +// You can construct a concrete instance of `RoleBindingArrayInput` via: +// +// RoleBindingArray{ RoleBindingArgs{...} } +type RoleBindingArrayInput interface { + pulumi.Input + + ToRoleBindingArrayOutput() RoleBindingArrayOutput + ToRoleBindingArrayOutputWithContext(context.Context) RoleBindingArrayOutput +} + +type RoleBindingArray []RoleBindingInput + +func (RoleBindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RoleBinding)(nil)).Elem() +} + +func (i RoleBindingArray) ToRoleBindingArrayOutput() RoleBindingArrayOutput { + return i.ToRoleBindingArrayOutputWithContext(context.Background()) +} + +func (i RoleBindingArray) ToRoleBindingArrayOutputWithContext(ctx context.Context) RoleBindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoleBindingArrayOutput) +} + +// RoleBindingMapInput is an input type that accepts RoleBindingMap and RoleBindingMapOutput values. +// You can construct a concrete instance of `RoleBindingMapInput` via: +// +// RoleBindingMap{ "key": RoleBindingArgs{...} } +type RoleBindingMapInput interface { + pulumi.Input + + ToRoleBindingMapOutput() RoleBindingMapOutput + ToRoleBindingMapOutputWithContext(context.Context) RoleBindingMapOutput +} + +type RoleBindingMap map[string]RoleBindingInput + +func (RoleBindingMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RoleBinding)(nil)).Elem() +} + +func (i RoleBindingMap) ToRoleBindingMapOutput() RoleBindingMapOutput { + return i.ToRoleBindingMapOutputWithContext(context.Background()) +} + +func (i RoleBindingMap) ToRoleBindingMapOutputWithContext(ctx context.Context) RoleBindingMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoleBindingMapOutput) +} + +type RoleBindingOutput struct{ *pulumi.OutputState } + +func (RoleBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RoleBinding)(nil)).Elem() +} + +func (o RoleBindingOutput) ToRoleBindingOutput() RoleBindingOutput { + return o +} + +func (o RoleBindingOutput) ToRoleBindingOutputWithContext(ctx context.Context) RoleBindingOutput { + return o +} + +// User-friendly display name of the resource. +func (o RoleBindingOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RoleBinding) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o RoleBindingOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *RoleBinding) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Project name, the project in which we want the user to assume the specified role. When `projectRef` is empty, `roleRef` must contain an Organization Role. +func (o RoleBindingOutput) ProjectRef() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RoleBinding) pulumi.StringPtrOutput { return v.ProjectRef }).(pulumi.StringPtrOutput) +} + +// Role name; the role that you want the user to assume. +func (o RoleBindingOutput) RoleRef() pulumi.StringOutput { + return o.ApplyT(func(v *RoleBinding) pulumi.StringOutput { return v.RoleRef }).(pulumi.StringOutput) +} + +// Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). +func (o RoleBindingOutput) User() pulumi.StringOutput { + return o.ApplyT(func(v *RoleBinding) pulumi.StringOutput { return v.User }).(pulumi.StringOutput) +} + +type RoleBindingArrayOutput struct{ *pulumi.OutputState } + +func (RoleBindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RoleBinding)(nil)).Elem() +} + +func (o RoleBindingArrayOutput) ToRoleBindingArrayOutput() RoleBindingArrayOutput { + return o +} + +func (o RoleBindingArrayOutput) ToRoleBindingArrayOutputWithContext(ctx context.Context) RoleBindingArrayOutput { + return o +} + +func (o RoleBindingArrayOutput) Index(i pulumi.IntInput) RoleBindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RoleBinding { + return vs[0].([]*RoleBinding)[vs[1].(int)] + }).(RoleBindingOutput) +} + +type RoleBindingMapOutput struct{ *pulumi.OutputState } + +func (RoleBindingMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RoleBinding)(nil)).Elem() +} + +func (o RoleBindingMapOutput) ToRoleBindingMapOutput() RoleBindingMapOutput { + return o +} + +func (o RoleBindingMapOutput) ToRoleBindingMapOutputWithContext(ctx context.Context) RoleBindingMapOutput { + return o +} + +func (o RoleBindingMapOutput) MapIndex(k pulumi.StringInput) RoleBindingOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RoleBinding { + return vs[0].(map[string]*RoleBinding)[vs[1].(string)] + }).(RoleBindingOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RoleBindingInput)(nil)).Elem(), &RoleBinding{}) + pulumi.RegisterInputType(reflect.TypeOf((*RoleBindingArrayInput)(nil)).Elem(), RoleBindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RoleBindingMapInput)(nil)).Elem(), RoleBindingMap{}) + pulumi.RegisterOutputType(RoleBindingOutput{}) + pulumi.RegisterOutputType(RoleBindingArrayOutput{}) + pulumi.RegisterOutputType(RoleBindingMapOutput{}) +} diff --git a/sdk/go/nobl9/service.go b/sdk/go/nobl9/service.go new file mode 100644 index 0000000..ecefedd --- /dev/null +++ b/sdk/go/nobl9/service.go @@ -0,0 +1,350 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// A **service** in Nobl9 is a high-level grouping of Service Level Objectives (SLOs). A service can represent a logical service endpoint like an API, a database, an application, or anything else you care about setting an SLO for. Every SLO in Nobl9 is tied to a service, and the service can have one or more SLOs. +// +// For more details, refer to the [Service configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#service). +// +// ## Example Usage +// +// Here's an example of Service resource configuration: +// +// ```go +// package main +// +// import ( +// "fmt" +// +// "github.com/piclemx/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi-nobl9/sdk/go/nobl9" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// thisProject, err := nobl9.NewProject(ctx, "thisProject", &nobl9.ProjectArgs{ +// DisplayName: pulumi.String("My Project"), +// Description: pulumi.String("An example N9 Terraform project"), +// }) +// if err != nil { +// return err +// } +// _, err = nobl9.NewService(ctx, "thisService", &nobl9.ServiceArgs{ +// Project: thisProject.Name, +// DisplayName: thisProject.DisplayName.ApplyT(func(displayName string) (string, error) { +// return fmt.Sprintf("%v Front Page", displayName), nil +// }).(pulumi.StringOutput), +// Description: pulumi.String("Front page service"), +// Labels: ServiceLabelArray{ +// &ServiceLabelArgs{ +// Key: pulumi.String("env"), +// Values: pulumi.StringArray{ +// pulumi.String("dev"), +// pulumi.String("prod"), +// }, +// }, +// &ServiceLabelArgs{ +// Key: pulumi.String("team"), +// Values: pulumi.StringArray{ +// pulumi.String("red"), +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// ## Useful Links +// +// [Services in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/#services) +// +// [Service YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide/#service) +type Service struct { + pulumi.CustomResourceState + + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + Labels ServiceLabelArrayOutput `pulumi:"labels"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // Status of created service. + Status pulumi.Float64MapOutput `pulumi:"status"` +} + +// NewService registers a new resource with the given unique name, arguments, and options. +func NewService(ctx *pulumi.Context, + name string, args *ServiceArgs, opts ...pulumi.ResourceOption) (*Service, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + opts = pkgResourceDefaultOpts(opts) + var resource Service + err := ctx.RegisterResource("nobl9:index/service:Service", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetService gets an existing Service 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 GetService(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ServiceState, opts ...pulumi.ResourceOption) (*Service, error) { + var resource Service + err := ctx.ReadResource("nobl9:index/service:Service", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Service resources. +type serviceState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + Labels []ServiceLabel `pulumi:"labels"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // Status of created service. + Status map[string]float64 `pulumi:"status"` +} + +type ServiceState struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + Labels ServiceLabelArrayInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // Status of created service. + Status pulumi.Float64MapInput +} + +func (ServiceState) ElementType() reflect.Type { + return reflect.TypeOf((*serviceState)(nil)).Elem() +} + +type serviceArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + // [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + Labels []ServiceLabel `pulumi:"labels"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` +} + +// The set of arguments for constructing a Service resource. +type ServiceArgs struct { + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + // [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + Labels ServiceLabelArrayInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput +} + +func (ServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*serviceArgs)(nil)).Elem() +} + +type ServiceInput interface { + pulumi.Input + + ToServiceOutput() ServiceOutput + ToServiceOutputWithContext(ctx context.Context) ServiceOutput +} + +func (*Service) ElementType() reflect.Type { + return reflect.TypeOf((**Service)(nil)).Elem() +} + +func (i *Service) ToServiceOutput() ServiceOutput { + return i.ToServiceOutputWithContext(context.Background()) +} + +func (i *Service) ToServiceOutputWithContext(ctx context.Context) ServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceOutput) +} + +// ServiceArrayInput is an input type that accepts ServiceArray and ServiceArrayOutput values. +// You can construct a concrete instance of `ServiceArrayInput` via: +// +// ServiceArray{ ServiceArgs{...} } +type ServiceArrayInput interface { + pulumi.Input + + ToServiceArrayOutput() ServiceArrayOutput + ToServiceArrayOutputWithContext(context.Context) ServiceArrayOutput +} + +type ServiceArray []ServiceInput + +func (ServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Service)(nil)).Elem() +} + +func (i ServiceArray) ToServiceArrayOutput() ServiceArrayOutput { + return i.ToServiceArrayOutputWithContext(context.Background()) +} + +func (i ServiceArray) ToServiceArrayOutputWithContext(ctx context.Context) ServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceArrayOutput) +} + +// ServiceMapInput is an input type that accepts ServiceMap and ServiceMapOutput values. +// You can construct a concrete instance of `ServiceMapInput` via: +// +// ServiceMap{ "key": ServiceArgs{...} } +type ServiceMapInput interface { + pulumi.Input + + ToServiceMapOutput() ServiceMapOutput + ToServiceMapOutputWithContext(context.Context) ServiceMapOutput +} + +type ServiceMap map[string]ServiceInput + +func (ServiceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Service)(nil)).Elem() +} + +func (i ServiceMap) ToServiceMapOutput() ServiceMapOutput { + return i.ToServiceMapOutputWithContext(context.Background()) +} + +func (i ServiceMap) ToServiceMapOutputWithContext(ctx context.Context) ServiceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceMapOutput) +} + +type ServiceOutput struct{ *pulumi.OutputState } + +func (ServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Service)(nil)).Elem() +} + +func (o ServiceOutput) ToServiceOutput() ServiceOutput { + return o +} + +func (o ServiceOutput) ToServiceOutputWithContext(ctx context.Context) ServiceOutput { + return o +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o ServiceOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Service) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o ServiceOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Service) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. +func (o ServiceOutput) Labels() ServiceLabelArrayOutput { + return o.ApplyT(func(v *Service) ServiceLabelArrayOutput { return v.Labels }).(ServiceLabelArrayOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o ServiceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Service) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o ServiceOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *Service) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Status of created service. +func (o ServiceOutput) Status() pulumi.Float64MapOutput { + return o.ApplyT(func(v *Service) pulumi.Float64MapOutput { return v.Status }).(pulumi.Float64MapOutput) +} + +type ServiceArrayOutput struct{ *pulumi.OutputState } + +func (ServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Service)(nil)).Elem() +} + +func (o ServiceArrayOutput) ToServiceArrayOutput() ServiceArrayOutput { + return o +} + +func (o ServiceArrayOutput) ToServiceArrayOutputWithContext(ctx context.Context) ServiceArrayOutput { + return o +} + +func (o ServiceArrayOutput) Index(i pulumi.IntInput) ServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Service { + return vs[0].([]*Service)[vs[1].(int)] + }).(ServiceOutput) +} + +type ServiceMapOutput struct{ *pulumi.OutputState } + +func (ServiceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Service)(nil)).Elem() +} + +func (o ServiceMapOutput) ToServiceMapOutput() ServiceMapOutput { + return o +} + +func (o ServiceMapOutput) ToServiceMapOutputWithContext(ctx context.Context) ServiceMapOutput { + return o +} + +func (o ServiceMapOutput) MapIndex(k pulumi.StringInput) ServiceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Service { + return vs[0].(map[string]*Service)[vs[1].(string)] + }).(ServiceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ServiceInput)(nil)).Elem(), &Service{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceArrayInput)(nil)).Elem(), ServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceMapInput)(nil)).Elem(), ServiceMap{}) + pulumi.RegisterOutputType(ServiceOutput{}) + pulumi.RegisterOutputType(ServiceArrayOutput{}) + pulumi.RegisterOutputType(ServiceMapOutput{}) +} diff --git a/sdk/go/nobl9/slo.go b/sdk/go/nobl9/slo.go new file mode 100644 index 0000000..da9984d --- /dev/null +++ b/sdk/go/nobl9/slo.go @@ -0,0 +1,407 @@ +// 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 nobl9 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// An SLO is a target value or range of values for a service that is measured by a service level indicator (SLI). SLOs allows you to define the reliability of your products and services in terms of customer expectations. You can create SLOs for user journeys, internal services, or even infrastructure. +// +// For more information, refer to [SLO configuration documentation](https://docs.nobl9.com/yaml-guide#slo) +// +// ## Nobl9 Official Documentation +// +// https://docs.nobl9.com/SLOs_as_code/?_highlight=slo +type Slo struct { + pulumi.CustomResourceState + + // Alert Policies attached to SLO + AlertPolicies pulumi.StringArrayOutput `pulumi:"alertPolicies"` + // Deprecated: "attachments" argument is deprecated use "attachment" instead + Attachments SloAttachmentArrayOutput `pulumi:"attachments"` + // Method which will be use to calculate budget + BudgetingMethod pulumi.StringOutput `pulumi:"budgetingMethod"` + // [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + Composite SloCompositePtrOutput `pulumi:"composite"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrOutput `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + Indicator SloIndicatorOutput `pulumi:"indicator"` + // [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + Labels SloLabelArrayOutput `pulumi:"labels"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringOutput `pulumi:"name"` + // [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + Objectives SloObjectiveArrayOutput `pulumi:"objectives"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringOutput `pulumi:"project"` + // Name of the service + Service pulumi.StringOutput `pulumi:"service"` + TimeWindow SloTimeWindowOutput `pulumi:"timeWindow"` +} + +// NewSlo registers a new resource with the given unique name, arguments, and options. +func NewSlo(ctx *pulumi.Context, + name string, args *SloArgs, opts ...pulumi.ResourceOption) (*Slo, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BudgetingMethod == nil { + return nil, errors.New("invalid value for required argument 'BudgetingMethod'") + } + if args.Indicator == nil { + return nil, errors.New("invalid value for required argument 'Indicator'") + } + if args.Objectives == nil { + return nil, errors.New("invalid value for required argument 'Objectives'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.Service == nil { + return nil, errors.New("invalid value for required argument 'Service'") + } + if args.TimeWindow == nil { + return nil, errors.New("invalid value for required argument 'TimeWindow'") + } + opts = pkgResourceDefaultOpts(opts) + var resource Slo + err := ctx.RegisterResource("nobl9:index/slo:Slo", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSlo gets an existing Slo 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 GetSlo(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SloState, opts ...pulumi.ResourceOption) (*Slo, error) { + var resource Slo + err := ctx.ReadResource("nobl9:index/slo:Slo", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Slo resources. +type sloState struct { + // Alert Policies attached to SLO + AlertPolicies []string `pulumi:"alertPolicies"` + // Deprecated: "attachments" argument is deprecated use "attachment" instead + Attachments []SloAttachment `pulumi:"attachments"` + // Method which will be use to calculate budget + BudgetingMethod *string `pulumi:"budgetingMethod"` + // [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + Composite *SloComposite `pulumi:"composite"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + Indicator *SloIndicator `pulumi:"indicator"` + // [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + Labels []SloLabel `pulumi:"labels"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + Objectives []SloObjective `pulumi:"objectives"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project *string `pulumi:"project"` + // Name of the service + Service *string `pulumi:"service"` + TimeWindow *SloTimeWindow `pulumi:"timeWindow"` +} + +type SloState struct { + // Alert Policies attached to SLO + AlertPolicies pulumi.StringArrayInput + // Deprecated: "attachments" argument is deprecated use "attachment" instead + Attachments SloAttachmentArrayInput + // Method which will be use to calculate budget + BudgetingMethod pulumi.StringPtrInput + // [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + Composite SloCompositePtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + Indicator SloIndicatorPtrInput + // [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + Labels SloLabelArrayInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + Objectives SloObjectiveArrayInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringPtrInput + // Name of the service + Service pulumi.StringPtrInput + TimeWindow SloTimeWindowPtrInput +} + +func (SloState) ElementType() reflect.Type { + return reflect.TypeOf((*sloState)(nil)).Elem() +} + +type sloArgs struct { + // Alert Policies attached to SLO + AlertPolicies []string `pulumi:"alertPolicies"` + // Deprecated: "attachments" argument is deprecated use "attachment" instead + Attachments []SloAttachment `pulumi:"attachments"` + // Method which will be use to calculate budget + BudgetingMethod string `pulumi:"budgetingMethod"` + // [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + Composite *SloComposite `pulumi:"composite"` + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description *string `pulumi:"description"` + // User-friendly display name of the resource. + DisplayName *string `pulumi:"displayName"` + Indicator SloIndicator `pulumi:"indicator"` + // [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + Labels []SloLabel `pulumi:"labels"` + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name *string `pulumi:"name"` + // [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + Objectives []SloObjective `pulumi:"objectives"` + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project string `pulumi:"project"` + // Name of the service + Service string `pulumi:"service"` + TimeWindow SloTimeWindow `pulumi:"timeWindow"` +} + +// The set of arguments for constructing a Slo resource. +type SloArgs struct { + // Alert Policies attached to SLO + AlertPolicies pulumi.StringArrayInput + // Deprecated: "attachments" argument is deprecated use "attachment" instead + Attachments SloAttachmentArrayInput + // Method which will be use to calculate budget + BudgetingMethod pulumi.StringInput + // [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + Composite SloCompositePtrInput + // Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + Description pulumi.StringPtrInput + // User-friendly display name of the resource. + DisplayName pulumi.StringPtrInput + Indicator SloIndicatorInput + // [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + Labels SloLabelArrayInput + // Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Name pulumi.StringPtrInput + // [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + Objectives SloObjectiveArrayInput + // Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + Project pulumi.StringInput + // Name of the service + Service pulumi.StringInput + TimeWindow SloTimeWindowInput +} + +func (SloArgs) ElementType() reflect.Type { + return reflect.TypeOf((*sloArgs)(nil)).Elem() +} + +type SloInput interface { + pulumi.Input + + ToSloOutput() SloOutput + ToSloOutputWithContext(ctx context.Context) SloOutput +} + +func (*Slo) ElementType() reflect.Type { + return reflect.TypeOf((**Slo)(nil)).Elem() +} + +func (i *Slo) ToSloOutput() SloOutput { + return i.ToSloOutputWithContext(context.Background()) +} + +func (i *Slo) ToSloOutputWithContext(ctx context.Context) SloOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloOutput) +} + +// SloArrayInput is an input type that accepts SloArray and SloArrayOutput values. +// You can construct a concrete instance of `SloArrayInput` via: +// +// SloArray{ SloArgs{...} } +type SloArrayInput interface { + pulumi.Input + + ToSloArrayOutput() SloArrayOutput + ToSloArrayOutputWithContext(context.Context) SloArrayOutput +} + +type SloArray []SloInput + +func (SloArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Slo)(nil)).Elem() +} + +func (i SloArray) ToSloArrayOutput() SloArrayOutput { + return i.ToSloArrayOutputWithContext(context.Background()) +} + +func (i SloArray) ToSloArrayOutputWithContext(ctx context.Context) SloArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloArrayOutput) +} + +// SloMapInput is an input type that accepts SloMap and SloMapOutput values. +// You can construct a concrete instance of `SloMapInput` via: +// +// SloMap{ "key": SloArgs{...} } +type SloMapInput interface { + pulumi.Input + + ToSloMapOutput() SloMapOutput + ToSloMapOutputWithContext(context.Context) SloMapOutput +} + +type SloMap map[string]SloInput + +func (SloMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Slo)(nil)).Elem() +} + +func (i SloMap) ToSloMapOutput() SloMapOutput { + return i.ToSloMapOutputWithContext(context.Background()) +} + +func (i SloMap) ToSloMapOutputWithContext(ctx context.Context) SloMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SloMapOutput) +} + +type SloOutput struct{ *pulumi.OutputState } + +func (SloOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Slo)(nil)).Elem() +} + +func (o SloOutput) ToSloOutput() SloOutput { + return o +} + +func (o SloOutput) ToSloOutputWithContext(ctx context.Context) SloOutput { + return o +} + +// Alert Policies attached to SLO +func (o SloOutput) AlertPolicies() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Slo) pulumi.StringArrayOutput { return v.AlertPolicies }).(pulumi.StringArrayOutput) +} + +// Deprecated: "attachments" argument is deprecated use "attachment" instead +func (o SloOutput) Attachments() SloAttachmentArrayOutput { + return o.ApplyT(func(v *Slo) SloAttachmentArrayOutput { return v.Attachments }).(SloAttachmentArrayOutput) +} + +// Method which will be use to calculate budget +func (o SloOutput) BudgetingMethod() pulumi.StringOutput { + return o.ApplyT(func(v *Slo) pulumi.StringOutput { return v.BudgetingMethod }).(pulumi.StringOutput) +} + +// [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) +func (o SloOutput) Composite() SloCompositePtrOutput { + return o.ApplyT(func(v *Slo) SloCompositePtrOutput { return v.Composite }).(SloCompositePtrOutput) +} + +// Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. +func (o SloOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Slo) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// User-friendly display name of the resource. +func (o SloOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Slo) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +func (o SloOutput) Indicator() SloIndicatorOutput { + return o.ApplyT(func(v *Slo) SloIndicatorOutput { return v.Indicator }).(SloIndicatorOutput) +} + +// [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. +func (o SloOutput) Labels() SloLabelArrayOutput { + return o.ApplyT(func(v *Slo) SloLabelArrayOutput { return v.Labels }).(SloLabelArrayOutput) +} + +// Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o SloOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Slo) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) +func (o SloOutput) Objectives() SloObjectiveArrayOutput { + return o.ApplyT(func(v *Slo) SloObjectiveArrayOutput { return v.Objectives }).(SloObjectiveArrayOutput) +} + +// Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). +func (o SloOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *Slo) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Name of the service +func (o SloOutput) Service() pulumi.StringOutput { + return o.ApplyT(func(v *Slo) pulumi.StringOutput { return v.Service }).(pulumi.StringOutput) +} + +func (o SloOutput) TimeWindow() SloTimeWindowOutput { + return o.ApplyT(func(v *Slo) SloTimeWindowOutput { return v.TimeWindow }).(SloTimeWindowOutput) +} + +type SloArrayOutput struct{ *pulumi.OutputState } + +func (SloArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Slo)(nil)).Elem() +} + +func (o SloArrayOutput) ToSloArrayOutput() SloArrayOutput { + return o +} + +func (o SloArrayOutput) ToSloArrayOutputWithContext(ctx context.Context) SloArrayOutput { + return o +} + +func (o SloArrayOutput) Index(i pulumi.IntInput) SloOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Slo { + return vs[0].([]*Slo)[vs[1].(int)] + }).(SloOutput) +} + +type SloMapOutput struct{ *pulumi.OutputState } + +func (SloMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Slo)(nil)).Elem() +} + +func (o SloMapOutput) ToSloMapOutput() SloMapOutput { + return o +} + +func (o SloMapOutput) ToSloMapOutputWithContext(ctx context.Context) SloMapOutput { + return o +} + +func (o SloMapOutput) MapIndex(k pulumi.StringInput) SloOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Slo { + return vs[0].(map[string]*Slo)[vs[1].(string)] + }).(SloOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SloInput)(nil)).Elem(), &Slo{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloArrayInput)(nil)).Elem(), SloArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SloMapInput)(nil)).Elem(), SloMap{}) + pulumi.RegisterOutputType(SloOutput{}) + pulumi.RegisterOutputType(SloArrayOutput{}) + pulumi.RegisterOutputType(SloMapOutput{}) +} diff --git a/sdk/nodejs/Pulumi.yaml b/sdk/nodejs/Pulumi.yaml new file mode 100644 index 0000000..e69de29 diff --git a/sdk/nodejs/README.md b/sdk/nodejs/README.md new file mode 100644 index 0000000..e870288 --- /dev/null +++ b/sdk/nodejs/README.md @@ -0,0 +1,4 @@ +> This provider is a derived work of the [Terraform Provider](https://github.com/nobl9/terraform-provider-nobl9) +> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, +> first check the [`pulumi-nobl9` repo](https://github.com/piclemx/pulumi-nobl9/issues); however, if that doesn't turn up anything, +> please consult the source [`terraform-provider-nobl9` repo](https://github.com/nobl9/terraform-provider-nobl9/issues). diff --git a/sdk/nodejs/agent.ts b/sdk/nodejs/agent.ts new file mode 100644 index 0000000..5b6a4ca --- /dev/null +++ b/sdk/nodejs/agent.ts @@ -0,0 +1,546 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * The Agent is a lightweight application that executes the queries defined for your Nobl9 SLOs. Queries are written in the language supported by the data source in question and executed via native APIs. + * + * The Agent then sends your SLI metrics back to Nobl9 for processing and error budget calculation. + * + * For more information, refer to [Agent configuration | Nobl9 Documentation](https://docs.nobl9.com/nobl9_agent) + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const thisProject = new nobl9.Project("thisProject", { + * displayName: "Test N9 Terraform", + * description: "An example N9 Terraform project", + * }); + * const thisAgent = new nobl9.Agent("thisAgent", { + * project: thisProject.name, + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * agentType: "prometheus", + * prometheusConfig: { + * url: "http://web.net", + * }, + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class Agent extends pulumi.CustomResource { + /** + * Get an existing Agent 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?: AgentState, opts?: pulumi.CustomResourceOptions): Agent { + return new Agent(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/agent:Agent'; + + /** + * Returns true if the given object is an instance of Agent. 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 Agent { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Agent.__pulumiType; + } + + /** + * The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + */ + public readonly agentType!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + */ + public readonly amazonPrometheusConfig!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + */ + public readonly appdynamicsConfig!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + */ + public readonly bigqueryConfig!: pulumi.Output; + /** + * client_id of created agent. + */ + public /*out*/ readonly clientId!: pulumi.Output; + /** + * client_secret of created agent. + */ + public /*out*/ readonly clientSecret!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + */ + public readonly cloudwatchConfig!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + */ + public readonly datadogConfig!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + */ + public readonly dynatraceConfig!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + */ + public readonly elasticsearchConfig!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + */ + public readonly gcmConfig!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + */ + public readonly grafanaLokiConfig!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + */ + public readonly graphiteConfig!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + */ + public readonly influxdbConfig!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + */ + public readonly instanaConfig!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + */ + public readonly lightstepConfig!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + */ + public readonly newrelicConfig!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + */ + public readonly opentsdbConfig!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + */ + public readonly pingdomConfig!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + */ + public readonly prometheusConfig!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + */ + public readonly redshiftConfig!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + */ + public readonly splunkConfig!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + */ + public readonly splunkObservabilityConfig!: pulumi.Output; + /** + * Status of the created agent. + */ + public /*out*/ readonly status!: pulumi.Output<{[key: string]: any}>; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + */ + public readonly sumologicConfig!: pulumi.Output; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + */ + public readonly thousandeyesConfig!: pulumi.Output; + + /** + * Create a Agent 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: AgentArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AgentArgs | AgentState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AgentState | undefined; + resourceInputs["agentType"] = state ? state.agentType : undefined; + resourceInputs["amazonPrometheusConfig"] = state ? state.amazonPrometheusConfig : undefined; + resourceInputs["appdynamicsConfig"] = state ? state.appdynamicsConfig : undefined; + resourceInputs["bigqueryConfig"] = state ? state.bigqueryConfig : undefined; + resourceInputs["clientId"] = state ? state.clientId : undefined; + resourceInputs["clientSecret"] = state ? state.clientSecret : undefined; + resourceInputs["cloudwatchConfig"] = state ? state.cloudwatchConfig : undefined; + resourceInputs["datadogConfig"] = state ? state.datadogConfig : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["dynatraceConfig"] = state ? state.dynatraceConfig : undefined; + resourceInputs["elasticsearchConfig"] = state ? state.elasticsearchConfig : undefined; + resourceInputs["gcmConfig"] = state ? state.gcmConfig : undefined; + resourceInputs["grafanaLokiConfig"] = state ? state.grafanaLokiConfig : undefined; + resourceInputs["graphiteConfig"] = state ? state.graphiteConfig : undefined; + resourceInputs["influxdbConfig"] = state ? state.influxdbConfig : undefined; + resourceInputs["instanaConfig"] = state ? state.instanaConfig : undefined; + resourceInputs["lightstepConfig"] = state ? state.lightstepConfig : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["newrelicConfig"] = state ? state.newrelicConfig : undefined; + resourceInputs["opentsdbConfig"] = state ? state.opentsdbConfig : undefined; + resourceInputs["pingdomConfig"] = state ? state.pingdomConfig : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["prometheusConfig"] = state ? state.prometheusConfig : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["redshiftConfig"] = state ? state.redshiftConfig : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["splunkConfig"] = state ? state.splunkConfig : undefined; + resourceInputs["splunkObservabilityConfig"] = state ? state.splunkObservabilityConfig : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["sumologicConfig"] = state ? state.sumologicConfig : undefined; + resourceInputs["thousandeyesConfig"] = state ? state.thousandeyesConfig : undefined; + } else { + const args = argsOrState as AgentArgs | undefined; + if ((!args || args.agentType === undefined) && !opts.urn) { + throw new Error("Missing required property 'agentType'"); + } + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + resourceInputs["agentType"] = args ? args.agentType : undefined; + resourceInputs["amazonPrometheusConfig"] = args ? args.amazonPrometheusConfig : undefined; + resourceInputs["appdynamicsConfig"] = args ? args.appdynamicsConfig : undefined; + resourceInputs["bigqueryConfig"] = args ? args.bigqueryConfig : undefined; + resourceInputs["cloudwatchConfig"] = args ? args.cloudwatchConfig : undefined; + resourceInputs["datadogConfig"] = args ? args.datadogConfig : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["dynatraceConfig"] = args ? args.dynatraceConfig : undefined; + resourceInputs["elasticsearchConfig"] = args ? args.elasticsearchConfig : undefined; + resourceInputs["gcmConfig"] = args ? args.gcmConfig : undefined; + resourceInputs["grafanaLokiConfig"] = args ? args.grafanaLokiConfig : undefined; + resourceInputs["graphiteConfig"] = args ? args.graphiteConfig : undefined; + resourceInputs["influxdbConfig"] = args ? args.influxdbConfig : undefined; + resourceInputs["instanaConfig"] = args ? args.instanaConfig : undefined; + resourceInputs["lightstepConfig"] = args ? args.lightstepConfig : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["newrelicConfig"] = args ? args.newrelicConfig : undefined; + resourceInputs["opentsdbConfig"] = args ? args.opentsdbConfig : undefined; + resourceInputs["pingdomConfig"] = args ? args.pingdomConfig : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["prometheusConfig"] = args ? args.prometheusConfig : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["redshiftConfig"] = args ? args.redshiftConfig : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["splunkConfig"] = args ? args.splunkConfig : undefined; + resourceInputs["splunkObservabilityConfig"] = args ? args.splunkObservabilityConfig : undefined; + resourceInputs["sumologicConfig"] = args ? args.sumologicConfig : undefined; + resourceInputs["thousandeyesConfig"] = args ? args.thousandeyesConfig : undefined; + resourceInputs["clientId"] = undefined /*out*/; + resourceInputs["clientSecret"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Agent.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Agent resources. + */ +export interface AgentState { + /** + * The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + */ + agentType?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + */ + amazonPrometheusConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + */ + appdynamicsConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + */ + bigqueryConfig?: pulumi.Input; + /** + * client_id of created agent. + */ + clientId?: pulumi.Input; + /** + * client_secret of created agent. + */ + clientSecret?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + */ + cloudwatchConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + */ + datadogConfig?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + */ + dynatraceConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + */ + elasticsearchConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + */ + gcmConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + */ + grafanaLokiConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + */ + graphiteConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + */ + influxdbConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + */ + instanaConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + */ + lightstepConfig?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + */ + newrelicConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + */ + opentsdbConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + */ + pingdomConfig?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + */ + prometheusConfig?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + */ + redshiftConfig?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + */ + splunkConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + */ + splunkObservabilityConfig?: pulumi.Input; + /** + * Status of the created agent. + */ + status?: pulumi.Input<{[key: string]: any}>; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + */ + sumologicConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + */ + thousandeyesConfig?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Agent resource. + */ +export interface AgentArgs { + /** + * The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + */ + agentType: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + */ + amazonPrometheusConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + */ + appdynamicsConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + */ + bigqueryConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + */ + cloudwatchConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + */ + datadogConfig?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + */ + dynatraceConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + */ + elasticsearchConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + */ + gcmConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + */ + grafanaLokiConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + */ + graphiteConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + */ + influxdbConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + */ + instanaConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + */ + lightstepConfig?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + */ + newrelicConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + */ + opentsdbConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + */ + pingdomConfig?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + */ + prometheusConfig?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + */ + redshiftConfig?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + */ + splunkConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + */ + splunkObservabilityConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + */ + sumologicConfig?: pulumi.Input; + /** + * [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + */ + thousandeyesConfig?: pulumi.Input; +} diff --git a/sdk/nodejs/alertMethodDiscord.ts b/sdk/nodejs/alertMethodDiscord.ts new file mode 100644 index 0000000..95c6de9 --- /dev/null +++ b/sdk/nodejs/alertMethodDiscord.ts @@ -0,0 +1,140 @@ +// *** 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"; + +export class AlertMethodDiscord extends pulumi.CustomResource { + /** + * Get an existing AlertMethodDiscord 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?: AlertMethodDiscordState, opts?: pulumi.CustomResourceOptions): AlertMethodDiscord { + return new AlertMethodDiscord(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/alertMethodDiscord:AlertMethodDiscord'; + + /** + * Returns true if the given object is an instance of AlertMethodDiscord. 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 AlertMethodDiscord { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AlertMethodDiscord.__pulumiType; + } + + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + */ + public readonly url!: pulumi.Output; + + /** + * Create a AlertMethodDiscord 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: AlertMethodDiscordArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AlertMethodDiscordArgs | AlertMethodDiscordState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AlertMethodDiscordState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as AlertMethodDiscordArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["url"] = args ? args.url : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AlertMethodDiscord.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AlertMethodDiscord resources. + */ +export interface AlertMethodDiscordState { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AlertMethodDiscord resource. + */ +export interface AlertMethodDiscordArgs { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + */ + url?: pulumi.Input; +} diff --git a/sdk/nodejs/alertMethodEmail.ts b/sdk/nodejs/alertMethodEmail.ts new file mode 100644 index 0000000..6677b5f --- /dev/null +++ b/sdk/nodejs/alertMethodEmail.ts @@ -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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +export class AlertMethodEmail extends pulumi.CustomResource { + /** + * Get an existing AlertMethodEmail 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?: AlertMethodEmailState, opts?: pulumi.CustomResourceOptions): AlertMethodEmail { + return new AlertMethodEmail(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/alertMethodEmail:AlertMethodEmail'; + + /** + * Returns true if the given object is an instance of AlertMethodEmail. 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 AlertMethodEmail { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AlertMethodEmail.__pulumiType; + } + + /** + * Blind carbon copy recipients. The maximum number of recipients is 10. + */ + public readonly bccs!: pulumi.Output; + /** + * The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + */ + public readonly body!: pulumi.Output; + /** + * Carbon copy recipients. The maximum number of recipients is 10. + */ + public readonly ccs!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * The Subject of the email alert. + */ + public readonly subject!: pulumi.Output; + /** + * Recipients. The maximum number of recipients is 10. + */ + public readonly tos!: pulumi.Output; + + /** + * Create a AlertMethodEmail 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: AlertMethodEmailArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AlertMethodEmailArgs | AlertMethodEmailState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AlertMethodEmailState | undefined; + resourceInputs["bccs"] = state ? state.bccs : undefined; + resourceInputs["body"] = state ? state.body : undefined; + resourceInputs["ccs"] = state ? state.ccs : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["subject"] = state ? state.subject : undefined; + resourceInputs["tos"] = state ? state.tos : undefined; + } else { + const args = argsOrState as AlertMethodEmailArgs | undefined; + if ((!args || args.body === undefined) && !opts.urn) { + throw new Error("Missing required property 'body'"); + } + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.subject === undefined) && !opts.urn) { + throw new Error("Missing required property 'subject'"); + } + if ((!args || args.tos === undefined) && !opts.urn) { + throw new Error("Missing required property 'tos'"); + } + resourceInputs["bccs"] = args ? args.bccs : undefined; + resourceInputs["body"] = args ? args.body : undefined; + resourceInputs["ccs"] = args ? args.ccs : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["subject"] = args ? args.subject : undefined; + resourceInputs["tos"] = args ? args.tos : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AlertMethodEmail.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AlertMethodEmail resources. + */ +export interface AlertMethodEmailState { + /** + * Blind carbon copy recipients. The maximum number of recipients is 10. + */ + bccs?: pulumi.Input[]>; + /** + * The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + */ + body?: pulumi.Input; + /** + * Carbon copy recipients. The maximum number of recipients is 10. + */ + ccs?: pulumi.Input[]>; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * The Subject of the email alert. + */ + subject?: pulumi.Input; + /** + * Recipients. The maximum number of recipients is 10. + */ + tos?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a AlertMethodEmail resource. + */ +export interface AlertMethodEmailArgs { + /** + * Blind carbon copy recipients. The maximum number of recipients is 10. + */ + bccs?: pulumi.Input[]>; + /** + * The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + */ + body: pulumi.Input; + /** + * Carbon copy recipients. The maximum number of recipients is 10. + */ + ccs?: pulumi.Input[]>; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * The Subject of the email alert. + */ + subject: pulumi.Input; + /** + * Recipients. The maximum number of recipients is 10. + */ + tos: pulumi.Input[]>; +} diff --git a/sdk/nodejs/alertMethodJira.ts b/sdk/nodejs/alertMethodJira.ts new file mode 100644 index 0000000..4e64288 --- /dev/null +++ b/sdk/nodejs/alertMethodJira.ts @@ -0,0 +1,191 @@ +// *** 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"; + +export class AlertMethodJira extends pulumi.CustomResource { + /** + * Get an existing AlertMethodJira 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?: AlertMethodJiraState, opts?: pulumi.CustomResourceOptions): AlertMethodJira { + return new AlertMethodJira(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/alertMethodJira:AlertMethodJira'; + + /** + * Returns true if the given object is an instance of AlertMethodJira. 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 AlertMethodJira { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AlertMethodJira.__pulumiType; + } + + /** + * [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + */ + public readonly apitoken!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * The code of the Jira project. + */ + public readonly projectKey!: pulumi.Output; + /** + * Jira instance URL. The `https://` prefix is required. + */ + public readonly url!: pulumi.Output; + /** + * Jira username for the owner of the API Token. + */ + public readonly username!: pulumi.Output; + + /** + * Create a AlertMethodJira 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: AlertMethodJiraArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AlertMethodJiraArgs | AlertMethodJiraState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AlertMethodJiraState | undefined; + resourceInputs["apitoken"] = state ? state.apitoken : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["projectKey"] = state ? state.projectKey : undefined; + resourceInputs["url"] = state ? state.url : undefined; + resourceInputs["username"] = state ? state.username : undefined; + } else { + const args = argsOrState as AlertMethodJiraArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.projectKey === undefined) && !opts.urn) { + throw new Error("Missing required property 'projectKey'"); + } + if ((!args || args.url === undefined) && !opts.urn) { + throw new Error("Missing required property 'url'"); + } + if ((!args || args.username === undefined) && !opts.urn) { + throw new Error("Missing required property 'username'"); + } + resourceInputs["apitoken"] = args ? args.apitoken : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["projectKey"] = args ? args.projectKey : undefined; + resourceInputs["url"] = args ? args.url : undefined; + resourceInputs["username"] = args ? args.username : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AlertMethodJira.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AlertMethodJira resources. + */ +export interface AlertMethodJiraState { + /** + * [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + */ + apitoken?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * The code of the Jira project. + */ + projectKey?: pulumi.Input; + /** + * Jira instance URL. The `https://` prefix is required. + */ + url?: pulumi.Input; + /** + * Jira username for the owner of the API Token. + */ + username?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AlertMethodJira resource. + */ +export interface AlertMethodJiraArgs { + /** + * [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + */ + apitoken?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * The code of the Jira project. + */ + projectKey: pulumi.Input; + /** + * Jira instance URL. The `https://` prefix is required. + */ + url: pulumi.Input; + /** + * Jira username for the owner of the API Token. + */ + username: pulumi.Input; +} diff --git a/sdk/nodejs/alertMethodMsteams.ts b/sdk/nodejs/alertMethodMsteams.ts new file mode 100644 index 0000000..adb9fb6 --- /dev/null +++ b/sdk/nodejs/alertMethodMsteams.ts @@ -0,0 +1,140 @@ +// *** 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"; + +export class AlertMethodMsteams extends pulumi.CustomResource { + /** + * Get an existing AlertMethodMsteams 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?: AlertMethodMsteamsState, opts?: pulumi.CustomResourceOptions): AlertMethodMsteams { + return new AlertMethodMsteams(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/alertMethodMsteams:AlertMethodMsteams'; + + /** + * Returns true if the given object is an instance of AlertMethodMsteams. 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 AlertMethodMsteams { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AlertMethodMsteams.__pulumiType; + } + + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + */ + public readonly url!: pulumi.Output; + + /** + * Create a AlertMethodMsteams 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: AlertMethodMsteamsArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AlertMethodMsteamsArgs | AlertMethodMsteamsState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AlertMethodMsteamsState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as AlertMethodMsteamsArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["url"] = args ? args.url : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AlertMethodMsteams.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AlertMethodMsteams resources. + */ +export interface AlertMethodMsteamsState { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AlertMethodMsteams resource. + */ +export interface AlertMethodMsteamsArgs { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + */ + url?: pulumi.Input; +} diff --git a/sdk/nodejs/alertMethodOpsgenie.ts b/sdk/nodejs/alertMethodOpsgenie.ts new file mode 100644 index 0000000..862fb0b --- /dev/null +++ b/sdk/nodejs/alertMethodOpsgenie.ts @@ -0,0 +1,157 @@ +// *** 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"; + +export class AlertMethodOpsgenie extends pulumi.CustomResource { + /** + * Get an existing AlertMethodOpsgenie 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?: AlertMethodOpsgenieState, opts?: pulumi.CustomResourceOptions): AlertMethodOpsgenie { + return new AlertMethodOpsgenie(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/alertMethodOpsgenie:AlertMethodOpsgenie'; + + /** + * Returns true if the given object is an instance of AlertMethodOpsgenie. 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 AlertMethodOpsgenie { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AlertMethodOpsgenie.__pulumiType; + } + + /** + * Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + */ + public readonly auth!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + */ + public readonly url!: pulumi.Output; + + /** + * Create a AlertMethodOpsgenie 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: AlertMethodOpsgenieArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AlertMethodOpsgenieArgs | AlertMethodOpsgenieState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AlertMethodOpsgenieState | undefined; + resourceInputs["auth"] = state ? state.auth : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as AlertMethodOpsgenieArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.url === undefined) && !opts.urn) { + throw new Error("Missing required property 'url'"); + } + resourceInputs["auth"] = args ? args.auth : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["url"] = args ? args.url : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AlertMethodOpsgenie.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AlertMethodOpsgenie resources. + */ +export interface AlertMethodOpsgenieState { + /** + * Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + */ + auth?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AlertMethodOpsgenie resource. + */ +export interface AlertMethodOpsgenieArgs { + /** + * Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + */ + auth?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + */ + url: pulumi.Input; +} diff --git a/sdk/nodejs/alertMethodPagerduty.ts b/sdk/nodejs/alertMethodPagerduty.ts new file mode 100644 index 0000000..bf73ba5 --- /dev/null +++ b/sdk/nodejs/alertMethodPagerduty.ts @@ -0,0 +1,140 @@ +// *** 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"; + +export class AlertMethodPagerduty extends pulumi.CustomResource { + /** + * Get an existing AlertMethodPagerduty 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?: AlertMethodPagerdutyState, opts?: pulumi.CustomResourceOptions): AlertMethodPagerduty { + return new AlertMethodPagerduty(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/alertMethodPagerduty:AlertMethodPagerduty'; + + /** + * Returns true if the given object is an instance of AlertMethodPagerduty. 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 AlertMethodPagerduty { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AlertMethodPagerduty.__pulumiType; + } + + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + */ + public readonly integrationKey!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + + /** + * Create a AlertMethodPagerduty 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: AlertMethodPagerdutyArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AlertMethodPagerdutyArgs | AlertMethodPagerdutyState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AlertMethodPagerdutyState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["integrationKey"] = state ? state.integrationKey : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + } else { + const args = argsOrState as AlertMethodPagerdutyArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["integrationKey"] = args ? args.integrationKey : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AlertMethodPagerduty.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AlertMethodPagerduty resources. + */ +export interface AlertMethodPagerdutyState { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + */ + integrationKey?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AlertMethodPagerduty resource. + */ +export interface AlertMethodPagerdutyArgs { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + */ + integrationKey?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; +} diff --git a/sdk/nodejs/alertMethodServicenow.ts b/sdk/nodejs/alertMethodServicenow.ts new file mode 100644 index 0000000..2bcb1d4 --- /dev/null +++ b/sdk/nodejs/alertMethodServicenow.ts @@ -0,0 +1,174 @@ +// *** 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"; + +export class AlertMethodServicenow extends pulumi.CustomResource { + /** + * Get an existing AlertMethodServicenow 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?: AlertMethodServicenowState, opts?: pulumi.CustomResourceOptions): AlertMethodServicenow { + return new AlertMethodServicenow(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/alertMethodServicenow:AlertMethodServicenow'; + + /** + * Returns true if the given object is an instance of AlertMethodServicenow. 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 AlertMethodServicenow { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AlertMethodServicenow.__pulumiType; + } + + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + */ + public readonly instanceName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * ServiceNow password. + */ + public readonly password!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * ServiceNow username. + */ + public readonly username!: pulumi.Output; + + /** + * Create a AlertMethodServicenow 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: AlertMethodServicenowArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AlertMethodServicenowArgs | AlertMethodServicenowState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AlertMethodServicenowState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["instanceName"] = state ? state.instanceName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["password"] = state ? state.password : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["username"] = state ? state.username : undefined; + } else { + const args = argsOrState as AlertMethodServicenowArgs | undefined; + if ((!args || args.instanceName === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceName'"); + } + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.username === undefined) && !opts.urn) { + throw new Error("Missing required property 'username'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["instanceName"] = args ? args.instanceName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["password"] = args ? args.password : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["username"] = args ? args.username : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AlertMethodServicenow.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AlertMethodServicenow resources. + */ +export interface AlertMethodServicenowState { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + */ + instanceName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * ServiceNow password. + */ + password?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * ServiceNow username. + */ + username?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AlertMethodServicenow resource. + */ +export interface AlertMethodServicenowArgs { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + */ + instanceName: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * ServiceNow password. + */ + password?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * ServiceNow username. + */ + username: pulumi.Input; +} diff --git a/sdk/nodejs/alertMethodSlack.ts b/sdk/nodejs/alertMethodSlack.ts new file mode 100644 index 0000000..3bfa1cc --- /dev/null +++ b/sdk/nodejs/alertMethodSlack.ts @@ -0,0 +1,140 @@ +// *** 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"; + +export class AlertMethodSlack extends pulumi.CustomResource { + /** + * Get an existing AlertMethodSlack 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?: AlertMethodSlackState, opts?: pulumi.CustomResourceOptions): AlertMethodSlack { + return new AlertMethodSlack(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/alertMethodSlack:AlertMethodSlack'; + + /** + * Returns true if the given object is an instance of AlertMethodSlack. 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 AlertMethodSlack { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AlertMethodSlack.__pulumiType; + } + + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + */ + public readonly url!: pulumi.Output; + + /** + * Create a AlertMethodSlack 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: AlertMethodSlackArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AlertMethodSlackArgs | AlertMethodSlackState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AlertMethodSlackState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as AlertMethodSlackArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["url"] = args ? args.url : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AlertMethodSlack.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AlertMethodSlack resources. + */ +export interface AlertMethodSlackState { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AlertMethodSlack resource. + */ +export interface AlertMethodSlackArgs { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + */ + url?: pulumi.Input; +} diff --git a/sdk/nodejs/alertMethodWebhook.ts b/sdk/nodejs/alertMethodWebhook.ts new file mode 100644 index 0000000..7cd98d2 --- /dev/null +++ b/sdk/nodejs/alertMethodWebhook.ts @@ -0,0 +1,168 @@ +// *** 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"; + +export class AlertMethodWebhook extends pulumi.CustomResource { + /** + * Get an existing AlertMethodWebhook 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?: AlertMethodWebhookState, opts?: pulumi.CustomResourceOptions): AlertMethodWebhook { + return new AlertMethodWebhook(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/alertMethodWebhook:AlertMethodWebhook'; + + /** + * Returns true if the given object is an instance of AlertMethodWebhook. 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 AlertMethodWebhook { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AlertMethodWebhook.__pulumiType; + } + + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * Webhook message template. See documentation for template format and samples. + */ + public readonly template!: pulumi.Output; + /** + * Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + */ + public readonly templateFields!: pulumi.Output; + /** + * URL of the webhook endpoint. + */ + public readonly url!: pulumi.Output; + + /** + * Create a AlertMethodWebhook 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: AlertMethodWebhookArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AlertMethodWebhookArgs | AlertMethodWebhookState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AlertMethodWebhookState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["template"] = state ? state.template : undefined; + resourceInputs["templateFields"] = state ? state.templateFields : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as AlertMethodWebhookArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["template"] = args ? args.template : undefined; + resourceInputs["templateFields"] = args ? args.templateFields : undefined; + resourceInputs["url"] = args ? args.url : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AlertMethodWebhook.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AlertMethodWebhook resources. + */ +export interface AlertMethodWebhookState { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * Webhook message template. See documentation for template format and samples. + */ + template?: pulumi.Input; + /** + * Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + */ + templateFields?: pulumi.Input[]>; + /** + * URL of the webhook endpoint. + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AlertMethodWebhook resource. + */ +export interface AlertMethodWebhookArgs { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * Webhook message template. See documentation for template format and samples. + */ + template?: pulumi.Input; + /** + * Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + */ + templateFields?: pulumi.Input[]>; + /** + * URL of the webhook endpoint. + */ + url?: pulumi.Input; +} diff --git a/sdk/nodejs/alertPolicy.ts b/sdk/nodejs/alertPolicy.ts new file mode 100644 index 0000000..e397d04 --- /dev/null +++ b/sdk/nodejs/alertPolicy.ts @@ -0,0 +1,209 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * An **Alert Policy** expresses a set of conditions you want to track or monitor. The conditions for an Alert Policy define what is monitored and when to activate an alert: when the performance of your service is declining, Nobl9 will send a notification to a predefined channel. + * + * A Nobl9 AlertPolicy accepts up to 7 conditions. All the specified conditions must be satisfied to trigger an alert. + * + * For more details, refer to the [Alert Policy configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#alertpolicy). + * + * ## Example Usage + * + * Here's an example of Alert Policy resource configuration: + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const thisProject = new nobl9.Project("thisProject", { + * displayName: "My Project", + * description: "An example N9 Terraform project", + * }); + * const thisService = new nobl9.Service("thisService", { + * project: thisProject.name, + * displayName: thisProject.displayName.apply(displayName => `${displayName} Front Page`), + * description: "Front page service", + * }); + * const thisAlertPolicy = new nobl9.AlertPolicy("thisAlertPolicy", { + * project: thisProject.name, + * displayName: thisProject.displayName.apply(displayName => `${displayName} Front Page Latency`), + * severity: "High", + * description: "Alert when page latency is > 2000 and error budget would be exhausted", + * conditions: [{ + * measurement: "timeToBurnBudget", + * valueString: "72h", + * lastsFor: "30m", + * }], + * alertMethods: [{ + * name: "my-alert-method", + * }], + * }); + * ``` + * ## Useful Links + * + * [Alert Policy configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#alertpolicy) + */ +export class AlertPolicy extends pulumi.CustomResource { + /** + * Get an existing AlertPolicy 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?: AlertPolicyState, opts?: pulumi.CustomResourceOptions): AlertPolicy { + return new AlertPolicy(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/alertPolicy:AlertPolicy'; + + /** + * Returns true if the given object is an instance of AlertPolicy. 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 AlertPolicy { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AlertPolicy.__pulumiType; + } + + public readonly alertMethods!: pulumi.Output; + /** + * Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + */ + public readonly conditions!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * Alert severity. One of `Low` | `Medium` | `High`. + */ + public readonly severity!: pulumi.Output; + + /** + * Create a AlertPolicy 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: AlertPolicyArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AlertPolicyArgs | AlertPolicyState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AlertPolicyState | undefined; + resourceInputs["alertMethods"] = state ? state.alertMethods : undefined; + resourceInputs["conditions"] = state ? state.conditions : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["severity"] = state ? state.severity : undefined; + } else { + const args = argsOrState as AlertPolicyArgs | undefined; + if ((!args || args.conditions === undefined) && !opts.urn) { + throw new Error("Missing required property 'conditions'"); + } + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.severity === undefined) && !opts.urn) { + throw new Error("Missing required property 'severity'"); + } + resourceInputs["alertMethods"] = args ? args.alertMethods : undefined; + resourceInputs["conditions"] = args ? args.conditions : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["severity"] = args ? args.severity : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AlertPolicy.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AlertPolicy resources. + */ +export interface AlertPolicyState { + alertMethods?: pulumi.Input[]>; + /** + * Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + */ + conditions?: pulumi.Input[]>; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * Alert severity. One of `Low` | `Medium` | `High`. + */ + severity?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AlertPolicy resource. + */ +export interface AlertPolicyArgs { + alertMethods?: pulumi.Input[]>; + /** + * Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + */ + conditions: pulumi.Input[]>; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * Alert severity. One of `Low` | `Medium` | `High`. + */ + severity: pulumi.Input; +} diff --git a/sdk/nodejs/config/index.ts b/sdk/nodejs/config/index.ts new file mode 100644 index 0000000..ed497ed --- /dev/null +++ b/sdk/nodejs/config/index.ts @@ -0,0 +1,5 @@ +// *** 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! *** + +// Export members: +export * from "./vars"; diff --git a/sdk/nodejs/config/vars.ts b/sdk/nodejs/config/vars.ts new file mode 100644 index 0000000..51143d1 --- /dev/null +++ b/sdk/nodejs/config/vars.ts @@ -0,0 +1,89 @@ +// *** 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"; + +declare var exports: any; +const __config = new pulumi.Config("nobl9"); + +/** + * the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to + * Nobl9. + */ +export declare const clientId: string | undefined; +Object.defineProperty(exports, "clientId", { + get() { + return __config.get("clientId"); + }, + enumerable: true, +}); + +/** + * the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect + * to Nobl9. + */ +export declare const clientSecret: string | undefined; +Object.defineProperty(exports, "clientSecret", { + get() { + return __config.get("clientSecret"); + }, + enumerable: true, +}); + +/** + * Nobl9 API URL. + */ +export declare const ingestUrl: string | undefined; +Object.defineProperty(exports, "ingestUrl", { + get() { + return __config.get("ingestUrl"); + }, + enumerable: true, +}); + +/** + * Authorization service configuration. + */ +export declare const oktaAuthServer: string | undefined; +Object.defineProperty(exports, "oktaAuthServer", { + get() { + return __config.get("oktaAuthServer"); + }, + enumerable: true, +}); + +/** + * Authorization service URL. + */ +export declare const oktaOrgUrl: string | undefined; +Object.defineProperty(exports, "oktaOrgUrl", { + get() { + return __config.get("oktaOrgUrl"); + }, + enumerable: true, +}); + +/** + * Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that + * contains resources managed by the Nobl9 Terraform provider. + */ +export declare const organization: string | undefined; +Object.defineProperty(exports, "organization", { + get() { + return __config.get("organization"); + }, + enumerable: true, +}); + +/** + * Nobl9 project used when importing resources. + */ +export declare const project: string | undefined; +Object.defineProperty(exports, "project", { + get() { + return __config.get("project"); + }, + enumerable: true, +}); + diff --git a/sdk/nodejs/directAppdynamics.ts b/sdk/nodejs/directAppdynamics.ts new file mode 100644 index 0000000..9507fc2 --- /dev/null +++ b/sdk/nodejs/directAppdynamics.ts @@ -0,0 +1,271 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * AppDynamics is a performance management program for applications. It helps users to gain a comprehensive understanding of the impact of technical difficulties on business goals, allowing IT teams to prioritize their efforts in a way that improves ROI. Nobl9 connects with AppDynamics to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [AppDynamics Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-direct) + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_appdynamics = new nobl9.DirectAppdynamics("test-appdynamics", { + * accountName: "account name", + * clientName: "client name", + * clientSecret: "secret", + * description: "desc", + * project: "terraform", + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * url: "https://web.net", + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectAppdynamics extends pulumi.CustomResource { + /** + * Get an existing DirectAppdynamics 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?: DirectAppdynamicsState, opts?: pulumi.CustomResourceOptions): DirectAppdynamics { + return new DirectAppdynamics(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directAppdynamics:DirectAppdynamics'; + + /** + * Returns true if the given object is an instance of DirectAppdynamics. 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 DirectAppdynamics { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectAppdynamics.__pulumiType; + } + + /** + * AppDynamics Account Name. + */ + public readonly accountName!: pulumi.Output; + /** + * AppDynamics Client ID. + */ + public /*out*/ readonly clientId!: pulumi.Output; + /** + * AppDynamics Client Name. + */ + public readonly clientName!: pulumi.Output; + /** + * [required] | AppDynamics Client Secret. + */ + public readonly clientSecret!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Base URL to the AppDynamics Controller. + */ + public readonly url!: pulumi.Output; + + /** + * Create a DirectAppdynamics 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: DirectAppdynamicsArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectAppdynamicsArgs | DirectAppdynamicsState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectAppdynamicsState | undefined; + resourceInputs["accountName"] = state ? state.accountName : undefined; + resourceInputs["clientId"] = state ? state.clientId : undefined; + resourceInputs["clientName"] = state ? state.clientName : undefined; + resourceInputs["clientSecret"] = state ? state.clientSecret : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as DirectAppdynamicsArgs | undefined; + if ((!args || args.accountName === undefined) && !opts.urn) { + throw new Error("Missing required property 'accountName'"); + } + if ((!args || args.clientName === undefined) && !opts.urn) { + throw new Error("Missing required property 'clientName'"); + } + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + if ((!args || args.url === undefined) && !opts.urn) { + throw new Error("Missing required property 'url'"); + } + resourceInputs["accountName"] = args ? args.accountName : undefined; + resourceInputs["clientName"] = args ? args.clientName : undefined; + resourceInputs["clientSecret"] = args ? args.clientSecret : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["url"] = args ? args.url : undefined; + resourceInputs["clientId"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectAppdynamics.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectAppdynamics resources. + */ +export interface DirectAppdynamicsState { + /** + * AppDynamics Account Name. + */ + accountName?: pulumi.Input; + /** + * AppDynamics Client ID. + */ + clientId?: pulumi.Input; + /** + * AppDynamics Client Name. + */ + clientName?: pulumi.Input; + /** + * [required] | AppDynamics Client Secret. + */ + clientSecret?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; + /** + * Base URL to the AppDynamics Controller. + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectAppdynamics resource. + */ +export interface DirectAppdynamicsArgs { + /** + * AppDynamics Account Name. + */ + accountName: pulumi.Input; + /** + * AppDynamics Client Name. + */ + clientName: pulumi.Input; + /** + * [required] | AppDynamics Client Secret. + */ + clientSecret?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; + /** + * Base URL to the AppDynamics Controller. + */ + url: pulumi.Input; +} diff --git a/sdk/nodejs/directBigquery.ts b/sdk/nodejs/directBigquery.ts new file mode 100644 index 0000000..23ce99f --- /dev/null +++ b/sdk/nodejs/directBigquery.ts @@ -0,0 +1,207 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * Google BigQuery is a serverless data warehouse that enables scalable analysis over petabytes of data. It is a Platform as a Service that supports querying using ANSI SQL. BigQuery integration with Nobl9 enables users to turn their big data into valuable business insights. Nobl9 connects with BigQuery to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [BigQuery Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-direct) + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_bigquery = new nobl9.DirectBigquery("test-bigquery", { + * description: "desc", + * project: "terraform", + * serviceAccountKey: "secret", + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectBigquery extends pulumi.CustomResource { + /** + * Get an existing DirectBigquery 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?: DirectBigqueryState, opts?: pulumi.CustomResourceOptions): DirectBigquery { + return new DirectBigquery(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directBigquery:DirectBigquery'; + + /** + * Returns true if the given object is an instance of DirectBigquery. 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 DirectBigquery { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectBigquery.__pulumiType; + } + + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * [required] | Service Account Key. + */ + public readonly serviceAccountKey!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + + /** + * Create a DirectBigquery 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: DirectBigqueryArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectBigqueryArgs | DirectBigqueryState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectBigqueryState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["serviceAccountKey"] = state ? state.serviceAccountKey : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + } else { + const args = argsOrState as DirectBigqueryArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["serviceAccountKey"] = args ? args.serviceAccountKey : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectBigquery.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectBigquery resources. + */ +export interface DirectBigqueryState { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * [required] | Service Account Key. + */ + serviceAccountKey?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectBigquery resource. + */ +export interface DirectBigqueryArgs { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * [required] | Service Account Key. + */ + serviceAccountKey?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; +} diff --git a/sdk/nodejs/directCloudwatch.ts b/sdk/nodejs/directCloudwatch.ts new file mode 100644 index 0000000..c23a118 --- /dev/null +++ b/sdk/nodejs/directCloudwatch.ts @@ -0,0 +1,246 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * Amazon CloudWatch is a monitoring and observability service and a repository that aggregates data from more than 70 AWS data sources. CloudWatch also allows users to publish custom metrics from their services. Creating SLOs using this data is a powerful tool to monitor large portfolios of products. Nobl9 connects with Amazon CloudWatch to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [Amazon CloudWatch Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-direct) + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_cloudwatch = new nobl9.DirectCloudwatch("test-cloudwatch", { + * accessKeyId: "secret", + * description: "desc", + * historicalDataRetrieval: { + * defaultDurations: [{ + * unit: "Day", + * value: 0, + * }], + * maxDurations: [{ + * unit: "Day", + * value: 15, + * }], + * }, + * project: "terraform", + * secretAccessKey: "secret", + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectCloudwatch extends pulumi.CustomResource { + /** + * Get an existing DirectCloudwatch 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?: DirectCloudwatchState, opts?: pulumi.CustomResourceOptions): DirectCloudwatch { + return new DirectCloudwatch(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directCloudwatch:DirectCloudwatch'; + + /** + * Returns true if the given object is an instance of DirectCloudwatch. 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 DirectCloudwatch { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectCloudwatch.__pulumiType; + } + + /** + * [required] | AWS Access Key ID. + */ + public readonly accessKeyId!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + public readonly historicalDataRetrieval!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * [required] | AWS Secret Access Key. + */ + public readonly secretAccessKey!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + + /** + * Create a DirectCloudwatch 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: DirectCloudwatchArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectCloudwatchArgs | DirectCloudwatchState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectCloudwatchState | undefined; + resourceInputs["accessKeyId"] = state ? state.accessKeyId : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["historicalDataRetrieval"] = state ? state.historicalDataRetrieval : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["secretAccessKey"] = state ? state.secretAccessKey : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + } else { + const args = argsOrState as DirectCloudwatchArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + resourceInputs["accessKeyId"] = args ? args.accessKeyId : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["historicalDataRetrieval"] = args ? args.historicalDataRetrieval : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["secretAccessKey"] = args ? args.secretAccessKey : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectCloudwatch.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectCloudwatch resources. + */ +export interface DirectCloudwatchState { + /** + * [required] | AWS Access Key ID. + */ + accessKeyId?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + historicalDataRetrieval?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * [required] | AWS Secret Access Key. + */ + secretAccessKey?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectCloudwatch resource. + */ +export interface DirectCloudwatchArgs { + /** + * [required] | AWS Access Key ID. + */ + accessKeyId?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + historicalDataRetrieval?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * [required] | AWS Secret Access Key. + */ + secretAccessKey?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; +} diff --git a/sdk/nodejs/directDatadog.ts b/sdk/nodejs/directDatadog.ts new file mode 100644 index 0000000..81bb9ef --- /dev/null +++ b/sdk/nodejs/directDatadog.ts @@ -0,0 +1,264 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * Datadog is a cloud-scale application observability solution that monitors servers, databases, tools, and services. Nobl9 connects with Datadog to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [Datadog Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/datadog#datadog-direct). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_datadog = new nobl9.DirectDatadog("test-datadog", { + * apiKey: "secret", + * applicationKey: "secret", + * description: "desc", + * historicalDataRetrieval: { + * defaultDurations: [{ + * unit: "Day", + * value: 0, + * }], + * maxDurations: [{ + * unit: "Day", + * value: 30, + * }], + * }, + * project: "terraform", + * site: "eu", + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectDatadog extends pulumi.CustomResource { + /** + * Get an existing DirectDatadog 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?: DirectDatadogState, opts?: pulumi.CustomResourceOptions): DirectDatadog { + return new DirectDatadog(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directDatadog:DirectDatadog'; + + /** + * Returns true if the given object is an instance of DirectDatadog. 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 DirectDatadog { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectDatadog.__pulumiType; + } + + /** + * [required] | Datadog API Key. + */ + public readonly apiKey!: pulumi.Output; + /** + * [required] | Datadog Application Key. + */ + public readonly applicationKey!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + public readonly historicalDataRetrieval!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + */ + public readonly site!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + + /** + * Create a DirectDatadog 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: DirectDatadogArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectDatadogArgs | DirectDatadogState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectDatadogState | undefined; + resourceInputs["apiKey"] = state ? state.apiKey : undefined; + resourceInputs["applicationKey"] = state ? state.applicationKey : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["historicalDataRetrieval"] = state ? state.historicalDataRetrieval : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["site"] = state ? state.site : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + } else { + const args = argsOrState as DirectDatadogArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.site === undefined) && !opts.urn) { + throw new Error("Missing required property 'site'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + resourceInputs["apiKey"] = args ? args.apiKey : undefined; + resourceInputs["applicationKey"] = args ? args.applicationKey : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["historicalDataRetrieval"] = args ? args.historicalDataRetrieval : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["site"] = args ? args.site : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectDatadog.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectDatadog resources. + */ +export interface DirectDatadogState { + /** + * [required] | Datadog API Key. + */ + apiKey?: pulumi.Input; + /** + * [required] | Datadog Application Key. + */ + applicationKey?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + historicalDataRetrieval?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + */ + site?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectDatadog resource. + */ +export interface DirectDatadogArgs { + /** + * [required] | Datadog API Key. + */ + apiKey?: pulumi.Input; + /** + * [required] | Datadog Application Key. + */ + applicationKey?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + historicalDataRetrieval?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + */ + site: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; +} diff --git a/sdk/nodejs/directDynatrace.ts b/sdk/nodejs/directDynatrace.ts new file mode 100644 index 0000000..1224c27 --- /dev/null +++ b/sdk/nodejs/directDynatrace.ts @@ -0,0 +1,249 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * Dynatrace is a software intelligence platform that monitors and optimizes application performance, development and security, IT infrastructure, and user experience. The Dynatrace Software Intelligence Platform maps, and monitors applications, microservices, container orchestration platforms such as Kubernetes, and IT infrastructure running in multi-cloud and hybrid-cloud environments, and provides automated problem remediation. Nobl9 connects with Dynatrace to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [Dynatrace Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-direct). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_dynatrace = new nobl9.DirectDynatrace("test-dynatrace", { + * description: "desc", + * dynatraceToken: "secret", + * historicalDataRetrieval: { + * defaultDurations: [{ + * unit: "Day", + * value: 1, + * }], + * maxDurations: [{ + * unit: "Day", + * value: 10, + * }], + * }, + * project: "terraform", + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * url: "https://web.net", + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectDynatrace extends pulumi.CustomResource { + /** + * Get an existing DirectDynatrace 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?: DirectDynatraceState, opts?: pulumi.CustomResourceOptions): DirectDynatrace { + return new DirectDynatrace(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directDynatrace:DirectDynatrace'; + + /** + * Returns true if the given object is an instance of DirectDynatrace. 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 DirectDynatrace { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectDynatrace.__pulumiType; + } + + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * [required] | Dynatrace Token. + */ + public readonly dynatraceToken!: pulumi.Output; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + public readonly historicalDataRetrieval!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Dynatrace API URL. + */ + public readonly url!: pulumi.Output; + + /** + * Create a DirectDynatrace 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: DirectDynatraceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectDynatraceArgs | DirectDynatraceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectDynatraceState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["dynatraceToken"] = state ? state.dynatraceToken : undefined; + resourceInputs["historicalDataRetrieval"] = state ? state.historicalDataRetrieval : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as DirectDynatraceArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + if ((!args || args.url === undefined) && !opts.urn) { + throw new Error("Missing required property 'url'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["dynatraceToken"] = args ? args.dynatraceToken : undefined; + resourceInputs["historicalDataRetrieval"] = args ? args.historicalDataRetrieval : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["url"] = args ? args.url : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectDynatrace.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectDynatrace resources. + */ +export interface DirectDynatraceState { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [required] | Dynatrace Token. + */ + dynatraceToken?: pulumi.Input; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + historicalDataRetrieval?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; + /** + * Dynatrace API URL. + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectDynatrace resource. + */ +export interface DirectDynatraceArgs { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [required] | Dynatrace Token. + */ + dynatraceToken?: pulumi.Input; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + historicalDataRetrieval?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; + /** + * Dynatrace API URL. + */ + url: pulumi.Input; +} diff --git a/sdk/nodejs/directGcm.ts b/sdk/nodejs/directGcm.ts new file mode 100644 index 0000000..a961aa3 --- /dev/null +++ b/sdk/nodejs/directGcm.ts @@ -0,0 +1,207 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * Google Cloud Monitoring (GCM) provides visibility into the performance, uptime, and overall health of cloud-powered applications. It collects metrics, events, and metadata from Google Cloud, hosted uptime probes, and application instrumentation. Nobl9 connects with GCM to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [Google Cloud Monitoring Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-direct). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_gcm = new nobl9.DirectGcm("test-gcm", { + * description: "desc", + * project: "terraform", + * serviceAccountKey: "secret", + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectGcm extends pulumi.CustomResource { + /** + * Get an existing DirectGcm 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?: DirectGcmState, opts?: pulumi.CustomResourceOptions): DirectGcm { + return new DirectGcm(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directGcm:DirectGcm'; + + /** + * Returns true if the given object is an instance of DirectGcm. 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 DirectGcm { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectGcm.__pulumiType; + } + + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * [required] | Service Account Key. + */ + public readonly serviceAccountKey!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + + /** + * Create a DirectGcm 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: DirectGcmArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectGcmArgs | DirectGcmState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectGcmState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["serviceAccountKey"] = state ? state.serviceAccountKey : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + } else { + const args = argsOrState as DirectGcmArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["serviceAccountKey"] = args ? args.serviceAccountKey : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectGcm.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectGcm resources. + */ +export interface DirectGcmState { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * [required] | Service Account Key. + */ + serviceAccountKey?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectGcm resource. + */ +export interface DirectGcmArgs { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * [required] | Service Account Key. + */ + serviceAccountKey?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; +} diff --git a/sdk/nodejs/directInfluxdb.ts b/sdk/nodejs/directInfluxdb.ts new file mode 100644 index 0000000..8957e7a --- /dev/null +++ b/sdk/nodejs/directInfluxdb.ts @@ -0,0 +1,240 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * InfluxDB is an open source time series database platform that enables users to collect, process, and analyze data to optimize their infrastructure. Nobl9 connects with InfluxDB to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [InfluxDB Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-direct). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_influxdb = new nobl9.DirectInfluxdb("test-influxdb", { + * apiToken: "secret", + * description: "desc", + * organizationId: "secret", + * project: "terraform", + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * url: "https://web.net", + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectInfluxdb extends pulumi.CustomResource { + /** + * Get an existing DirectInfluxdb 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?: DirectInfluxdbState, opts?: pulumi.CustomResourceOptions): DirectInfluxdb { + return new DirectInfluxdb(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directInfluxdb:DirectInfluxdb'; + + /** + * Returns true if the given object is an instance of DirectInfluxdb. 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 DirectInfluxdb { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectInfluxdb.__pulumiType; + } + + /** + * [required] | InfluxDB API Token. + */ + public readonly apiToken!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * [required] | InfluxDB Organization ID. + */ + public readonly organizationId!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * API URL endpoint to the InfluxDB's instance. + */ + public readonly url!: pulumi.Output; + + /** + * Create a DirectInfluxdb 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: DirectInfluxdbArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectInfluxdbArgs | DirectInfluxdbState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectInfluxdbState | undefined; + resourceInputs["apiToken"] = state ? state.apiToken : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["organizationId"] = state ? state.organizationId : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as DirectInfluxdbArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + if ((!args || args.url === undefined) && !opts.urn) { + throw new Error("Missing required property 'url'"); + } + resourceInputs["apiToken"] = args ? args.apiToken : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["organizationId"] = args ? args.organizationId : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["url"] = args ? args.url : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectInfluxdb.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectInfluxdb resources. + */ +export interface DirectInfluxdbState { + /** + * [required] | InfluxDB API Token. + */ + apiToken?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * [required] | InfluxDB Organization ID. + */ + organizationId?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; + /** + * API URL endpoint to the InfluxDB's instance. + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectInfluxdb resource. + */ +export interface DirectInfluxdbArgs { + /** + * [required] | InfluxDB API Token. + */ + apiToken?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * [required] | InfluxDB Organization ID. + */ + organizationId?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; + /** + * API URL endpoint to the InfluxDB's instance. + */ + url: pulumi.Input; +} diff --git a/sdk/nodejs/directInstana.ts b/sdk/nodejs/directInstana.ts new file mode 100644 index 0000000..7ff19ce --- /dev/null +++ b/sdk/nodejs/directInstana.ts @@ -0,0 +1,225 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * Instana is an observability platform that delivers automated Application Performance Monitoring (APM), used for website, infrastructure, and application monitoring. Nobl9 connects with Instana to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [Instana Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/instana#instana-direct). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_instana = new nobl9.DirectInstana("test-instana", { + * apiToken: "secret", + * description: "desc", + * project: "terraform", + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * url: "https://web.net", + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectInstana extends pulumi.CustomResource { + /** + * Get an existing DirectInstana 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?: DirectInstanaState, opts?: pulumi.CustomResourceOptions): DirectInstana { + return new DirectInstana(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directInstana:DirectInstana'; + + /** + * Returns true if the given object is an instance of DirectInstana. 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 DirectInstana { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectInstana.__pulumiType; + } + + /** + * [required] | Instana API Token. + */ + public readonly apiToken!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Instana API URL. + */ + public readonly url!: pulumi.Output; + + /** + * Create a DirectInstana 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: DirectInstanaArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectInstanaArgs | DirectInstanaState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectInstanaState | undefined; + resourceInputs["apiToken"] = state ? state.apiToken : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as DirectInstanaArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + if ((!args || args.url === undefined) && !opts.urn) { + throw new Error("Missing required property 'url'"); + } + resourceInputs["apiToken"] = args ? args.apiToken : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["url"] = args ? args.url : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectInstana.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectInstana resources. + */ +export interface DirectInstanaState { + /** + * [required] | Instana API Token. + */ + apiToken?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; + /** + * Instana API URL. + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectInstana resource. + */ +export interface DirectInstanaArgs { + /** + * [required] | Instana API Token. + */ + apiToken?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; + /** + * Instana API URL. + */ + url: pulumi.Input; +} diff --git a/sdk/nodejs/directLightstep.ts b/sdk/nodejs/directLightstep.ts new file mode 100644 index 0000000..4b2d3b4 --- /dev/null +++ b/sdk/nodejs/directLightstep.ts @@ -0,0 +1,267 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * Lightstep is an observability platform that enables distributed tracing, that can be used to rapidly pinpoint the causes of failures and poor performance across the deeply complex dependencies among services, teams, and workloads in modern production systems. Nobl9 integration with Lightstep enables organizations to establish service level objectives from performance data captured through distributed traces in the Lightstep platform. Nobl9 connects with Lightstep to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [Lightstep Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-direct). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_lightstep = new nobl9.DirectLightstep("test-lightstep", { + * appToken: "secret", + * description: "desc", + * historicalDataRetrieval: { + * defaultDurations: [{ + * unit: "Day", + * value: 0, + * }], + * maxDurations: [{ + * unit: "Day", + * value: 30, + * }], + * }, + * lightstepOrganization: "acme", + * lightstepProject: "project1", + * project: "terraform", + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectLightstep extends pulumi.CustomResource { + /** + * Get an existing DirectLightstep 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?: DirectLightstepState, opts?: pulumi.CustomResourceOptions): DirectLightstep { + return new DirectLightstep(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directLightstep:DirectLightstep'; + + /** + * Returns true if the given object is an instance of DirectLightstep. 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 DirectLightstep { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectLightstep.__pulumiType; + } + + /** + * [required] | Lightstep App Token. + */ + public readonly appToken!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + public readonly historicalDataRetrieval!: pulumi.Output; + /** + * Organization name registered in Lightstep. + */ + public readonly lightstepOrganization!: pulumi.Output; + /** + * Name of the Lightstep project. + */ + public readonly lightstepProject!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + + /** + * Create a DirectLightstep 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: DirectLightstepArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectLightstepArgs | DirectLightstepState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectLightstepState | undefined; + resourceInputs["appToken"] = state ? state.appToken : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["historicalDataRetrieval"] = state ? state.historicalDataRetrieval : undefined; + resourceInputs["lightstepOrganization"] = state ? state.lightstepOrganization : undefined; + resourceInputs["lightstepProject"] = state ? state.lightstepProject : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + } else { + const args = argsOrState as DirectLightstepArgs | undefined; + if ((!args || args.lightstepOrganization === undefined) && !opts.urn) { + throw new Error("Missing required property 'lightstepOrganization'"); + } + if ((!args || args.lightstepProject === undefined) && !opts.urn) { + throw new Error("Missing required property 'lightstepProject'"); + } + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + resourceInputs["appToken"] = args ? args.appToken : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["historicalDataRetrieval"] = args ? args.historicalDataRetrieval : undefined; + resourceInputs["lightstepOrganization"] = args ? args.lightstepOrganization : undefined; + resourceInputs["lightstepProject"] = args ? args.lightstepProject : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectLightstep.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectLightstep resources. + */ +export interface DirectLightstepState { + /** + * [required] | Lightstep App Token. + */ + appToken?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + historicalDataRetrieval?: pulumi.Input; + /** + * Organization name registered in Lightstep. + */ + lightstepOrganization?: pulumi.Input; + /** + * Name of the Lightstep project. + */ + lightstepProject?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectLightstep resource. + */ +export interface DirectLightstepArgs { + /** + * [required] | Lightstep App Token. + */ + appToken?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + historicalDataRetrieval?: pulumi.Input; + /** + * Organization name registered in Lightstep. + */ + lightstepOrganization: pulumi.Input; + /** + * Name of the Lightstep project. + */ + lightstepProject: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; +} diff --git a/sdk/nodejs/directNewrelic.ts b/sdk/nodejs/directNewrelic.ts new file mode 100644 index 0000000..e038045 --- /dev/null +++ b/sdk/nodejs/directNewrelic.ts @@ -0,0 +1,249 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * New Relic is a software solution that monitors performance and availability. It sets and rates application performance across the environment using a standardized Apdex (application performance index) score. Nobl9 connects with New Relic to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [New Relic Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-direct). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_newrelic = new nobl9.DirectNewrelic("test-newrelic", { + * accountId: 1234, + * description: "desc", + * historicalDataRetrieval: { + * defaultDurations: [{ + * unit: "Day", + * value: 0, + * }], + * maxDurations: [{ + * unit: "Day", + * value: 30, + * }], + * }, + * insightsQueryKey: "secret", + * project: "terraform", + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectNewrelic extends pulumi.CustomResource { + /** + * Get an existing DirectNewrelic 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?: DirectNewrelicState, opts?: pulumi.CustomResourceOptions): DirectNewrelic { + return new DirectNewrelic(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directNewrelic:DirectNewrelic'; + + /** + * Returns true if the given object is an instance of DirectNewrelic. 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 DirectNewrelic { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectNewrelic.__pulumiType; + } + + /** + * ID number assigned to the New Relic user account. + */ + public readonly accountId!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + public readonly historicalDataRetrieval!: pulumi.Output; + /** + * [required] | New Relic Insights Query Key. + */ + public readonly insightsQueryKey!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + + /** + * Create a DirectNewrelic 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: DirectNewrelicArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectNewrelicArgs | DirectNewrelicState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectNewrelicState | undefined; + resourceInputs["accountId"] = state ? state.accountId : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["historicalDataRetrieval"] = state ? state.historicalDataRetrieval : undefined; + resourceInputs["insightsQueryKey"] = state ? state.insightsQueryKey : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + } else { + const args = argsOrState as DirectNewrelicArgs | undefined; + if ((!args || args.accountId === undefined) && !opts.urn) { + throw new Error("Missing required property 'accountId'"); + } + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + resourceInputs["accountId"] = args ? args.accountId : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["historicalDataRetrieval"] = args ? args.historicalDataRetrieval : undefined; + resourceInputs["insightsQueryKey"] = args ? args.insightsQueryKey : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectNewrelic.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectNewrelic resources. + */ +export interface DirectNewrelicState { + /** + * ID number assigned to the New Relic user account. + */ + accountId?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + historicalDataRetrieval?: pulumi.Input; + /** + * [required] | New Relic Insights Query Key. + */ + insightsQueryKey?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectNewrelic resource. + */ +export interface DirectNewrelicArgs { + /** + * ID number assigned to the New Relic user account. + */ + accountId: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + historicalDataRetrieval?: pulumi.Input; + /** + * [required] | New Relic Insights Query Key. + */ + insightsQueryKey?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; +} diff --git a/sdk/nodejs/directPingdom.ts b/sdk/nodejs/directPingdom.ts new file mode 100644 index 0000000..4f31a25 --- /dev/null +++ b/sdk/nodejs/directPingdom.ts @@ -0,0 +1,207 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * Pingdom is a website monitoring software solution that gives users real-time, quality insights into the uptime and performance of their websites. After adding Pingdom as a data source in Nobl9, users can configure SLOs to check the overall performance status of their sites. Nobl9 connects with Pingdom to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [Pingdom Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-direct). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_pingdom = new nobl9.DirectPingdom("test-pingdom", { + * apiToken: "secret", + * description: "desc", + * project: "terraform", + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectPingdom extends pulumi.CustomResource { + /** + * Get an existing DirectPingdom 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?: DirectPingdomState, opts?: pulumi.CustomResourceOptions): DirectPingdom { + return new DirectPingdom(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directPingdom:DirectPingdom'; + + /** + * Returns true if the given object is an instance of DirectPingdom. 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 DirectPingdom { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectPingdom.__pulumiType; + } + + /** + * [required] | Pingdom API token. + */ + public readonly apiToken!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + + /** + * Create a DirectPingdom 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: DirectPingdomArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectPingdomArgs | DirectPingdomState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectPingdomState | undefined; + resourceInputs["apiToken"] = state ? state.apiToken : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + } else { + const args = argsOrState as DirectPingdomArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + resourceInputs["apiToken"] = args ? args.apiToken : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectPingdom.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectPingdom resources. + */ +export interface DirectPingdomState { + /** + * [required] | Pingdom API token. + */ + apiToken?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectPingdom resource. + */ +export interface DirectPingdomArgs { + /** + * [required] | Pingdom API token. + */ + apiToken?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; +} diff --git a/sdk/nodejs/directRedshift.ts b/sdk/nodejs/directRedshift.ts new file mode 100644 index 0000000..8f2499a --- /dev/null +++ b/sdk/nodejs/directRedshift.ts @@ -0,0 +1,237 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * Amazon Redshift is a managed scalable database warehouse where Nobl9 users can store their metrics information. Nobl9 connects with Amazon Redshift to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [Amazon Redshift Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-direct). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_redshift = new nobl9.DirectRedshift("test-redshift", { + * accessKeyId: "secret", + * description: "desc", + * project: "terraform", + * secretAccessKey: "secret", + * secretArn: "aws:arn", + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectRedshift extends pulumi.CustomResource { + /** + * Get an existing DirectRedshift 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?: DirectRedshiftState, opts?: pulumi.CustomResourceOptions): DirectRedshift { + return new DirectRedshift(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directRedshift:DirectRedshift'; + + /** + * Returns true if the given object is an instance of DirectRedshift. 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 DirectRedshift { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectRedshift.__pulumiType; + } + + /** + * [required] | AWS Access Key ID. + */ + public readonly accessKeyId!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * [required] | AWS Secret Access Key. + */ + public readonly secretAccessKey!: pulumi.Output; + /** + * AWS Secret ARN. + */ + public readonly secretArn!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + + /** + * Create a DirectRedshift 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: DirectRedshiftArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectRedshiftArgs | DirectRedshiftState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectRedshiftState | undefined; + resourceInputs["accessKeyId"] = state ? state.accessKeyId : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["secretAccessKey"] = state ? state.secretAccessKey : undefined; + resourceInputs["secretArn"] = state ? state.secretArn : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + } else { + const args = argsOrState as DirectRedshiftArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + resourceInputs["accessKeyId"] = args ? args.accessKeyId : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["secretAccessKey"] = args ? args.secretAccessKey : undefined; + resourceInputs["secretArn"] = args ? args.secretArn : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectRedshift.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectRedshift resources. + */ +export interface DirectRedshiftState { + /** + * [required] | AWS Access Key ID. + */ + accessKeyId?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * [required] | AWS Secret Access Key. + */ + secretAccessKey?: pulumi.Input; + /** + * AWS Secret ARN. + */ + secretArn?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectRedshift resource. + */ +export interface DirectRedshiftArgs { + /** + * [required] | AWS Access Key ID. + */ + accessKeyId?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * [required] | AWS Secret Access Key. + */ + secretAccessKey?: pulumi.Input; + /** + * AWS Secret ARN. + */ + secretArn?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; +} diff --git a/sdk/nodejs/directSplunk.ts b/sdk/nodejs/directSplunk.ts new file mode 100644 index 0000000..7dc0984 --- /dev/null +++ b/sdk/nodejs/directSplunk.ts @@ -0,0 +1,249 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * Splunk provides software for searching, monitoring, and analyzing machine-generated data via a Web-style interface. Nobl9 connects with Splunk to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [Splunk Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/splunk#splunk-direct). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_splunk = new nobl9.DirectSplunk("test-splunk", { + * accessToken: "secret", + * description: "desc", + * historicalDataRetrieval: { + * defaultDurations: [{ + * unit: "Day", + * value: 0, + * }], + * maxDurations: [{ + * unit: "Day", + * value: 30, + * }], + * }, + * project: "terraform", + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * url: "https://web.net", + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectSplunk extends pulumi.CustomResource { + /** + * Get an existing DirectSplunk 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?: DirectSplunkState, opts?: pulumi.CustomResourceOptions): DirectSplunk { + return new DirectSplunk(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directSplunk:DirectSplunk'; + + /** + * Returns true if the given object is an instance of DirectSplunk. 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 DirectSplunk { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectSplunk.__pulumiType; + } + + /** + * [required] | Splunk API Access Token. + */ + public readonly accessToken!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + public readonly historicalDataRetrieval!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Base API URL to the Splunk Search app. + */ + public readonly url!: pulumi.Output; + + /** + * Create a DirectSplunk 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: DirectSplunkArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectSplunkArgs | DirectSplunkState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectSplunkState | undefined; + resourceInputs["accessToken"] = state ? state.accessToken : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["historicalDataRetrieval"] = state ? state.historicalDataRetrieval : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as DirectSplunkArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + if ((!args || args.url === undefined) && !opts.urn) { + throw new Error("Missing required property 'url'"); + } + resourceInputs["accessToken"] = args ? args.accessToken : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["historicalDataRetrieval"] = args ? args.historicalDataRetrieval : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["url"] = args ? args.url : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectSplunk.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectSplunk resources. + */ +export interface DirectSplunkState { + /** + * [required] | Splunk API Access Token. + */ + accessToken?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + historicalDataRetrieval?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; + /** + * Base API URL to the Splunk Search app. + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectSplunk resource. + */ +export interface DirectSplunkArgs { + /** + * [required] | Splunk API Access Token. + */ + accessToken?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Replay configuration documentation](https://docs.nobl9.com/replay) + */ + historicalDataRetrieval?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; + /** + * Base API URL to the Splunk Search app. + */ + url: pulumi.Input; +} diff --git a/sdk/nodejs/directSplunkObservability.ts b/sdk/nodejs/directSplunkObservability.ts new file mode 100644 index 0000000..e32291b --- /dev/null +++ b/sdk/nodejs/directSplunkObservability.ts @@ -0,0 +1,225 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * Splunk Observability allows users to search, monitor, and analyze machine-generated big data. Splunk Observability enables collecting and monitoring metrics, logs, and traces from common data sources. Data collection and monitoring in one place enables full-stack, end-to-end observability of the entire infrastructure. Nobl9 connects with Splunk Observability to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [Splunk Observability Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-direct). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_splunkobservability = new nobl9.DirectSplunkObservability("test-splunkobservability", { + * accessToken: "secret", + * description: "desc", + * project: "terraform", + * realm: "eu", + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectSplunkObservability extends pulumi.CustomResource { + /** + * Get an existing DirectSplunkObservability 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?: DirectSplunkObservabilityState, opts?: pulumi.CustomResourceOptions): DirectSplunkObservability { + return new DirectSplunkObservability(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directSplunkObservability:DirectSplunkObservability'; + + /** + * Returns true if the given object is an instance of DirectSplunkObservability. 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 DirectSplunkObservability { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectSplunkObservability.__pulumiType; + } + + /** + * [required] | Splunk API Access Token. + */ + public readonly accessToken!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * SplunkObservability Realm. + */ + public readonly realm!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + + /** + * Create a DirectSplunkObservability 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: DirectSplunkObservabilityArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectSplunkObservabilityArgs | DirectSplunkObservabilityState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectSplunkObservabilityState | undefined; + resourceInputs["accessToken"] = state ? state.accessToken : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["realm"] = state ? state.realm : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + } else { + const args = argsOrState as DirectSplunkObservabilityArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.realm === undefined) && !opts.urn) { + throw new Error("Missing required property 'realm'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + resourceInputs["accessToken"] = args ? args.accessToken : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["realm"] = args ? args.realm : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectSplunkObservability.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectSplunkObservability resources. + */ +export interface DirectSplunkObservabilityState { + /** + * [required] | Splunk API Access Token. + */ + accessToken?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * SplunkObservability Realm. + */ + realm?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectSplunkObservability resource. + */ +export interface DirectSplunkObservabilityArgs { + /** + * [required] | Splunk API Access Token. + */ + accessToken?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * SplunkObservability Realm. + */ + realm: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; +} diff --git a/sdk/nodejs/directSumologic.ts b/sdk/nodejs/directSumologic.ts new file mode 100644 index 0000000..090d6ae --- /dev/null +++ b/sdk/nodejs/directSumologic.ts @@ -0,0 +1,237 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * Sumo Logic is an observability platform that provides visibility into AWS, Azure, and GCP cloud applications and infrastructure. Nobl9 connects with Sumo Logic to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [Sumo Logic Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-direct). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_sumologic = new nobl9.DirectSumologic("test-sumologic", { + * accessId: "secret", + * accessKey: "secret", + * description: "desc", + * project: "terraform", + * sourceOfs: ["Metrics"], + * url: "http://web.net", + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectSumologic extends pulumi.CustomResource { + /** + * Get an existing DirectSumologic 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?: DirectSumologicState, opts?: pulumi.CustomResourceOptions): DirectSumologic { + return new DirectSumologic(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directSumologic:DirectSumologic'; + + /** + * Returns true if the given object is an instance of DirectSumologic. 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 DirectSumologic { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectSumologic.__pulumiType; + } + + /** + * [required] | Sumo Logic API Access ID. + */ + public readonly accessId!: pulumi.Output; + /** + * [required] | Sumo Logic API Access Key. + */ + public readonly accessKey!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Sumo Logic API URL. + */ + public readonly url!: pulumi.Output; + + /** + * Create a DirectSumologic 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: DirectSumologicArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectSumologicArgs | DirectSumologicState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectSumologicState | undefined; + resourceInputs["accessId"] = state ? state.accessId : undefined; + resourceInputs["accessKey"] = state ? state.accessKey : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as DirectSumologicArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + if ((!args || args.url === undefined) && !opts.urn) { + throw new Error("Missing required property 'url'"); + } + resourceInputs["accessId"] = args ? args.accessId : undefined; + resourceInputs["accessKey"] = args ? args.accessKey : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["url"] = args ? args.url : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectSumologic.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectSumologic resources. + */ +export interface DirectSumologicState { + /** + * [required] | Sumo Logic API Access ID. + */ + accessId?: pulumi.Input; + /** + * [required] | Sumo Logic API Access Key. + */ + accessKey?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; + /** + * Sumo Logic API URL. + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectSumologic resource. + */ +export interface DirectSumologicArgs { + /** + * [required] | Sumo Logic API Access ID. + */ + accessId?: pulumi.Input; + /** + * [required] | Sumo Logic API Access Key. + */ + accessKey?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; + /** + * Sumo Logic API URL. + */ + url: pulumi.Input; +} diff --git a/sdk/nodejs/directThousandeyes.ts b/sdk/nodejs/directThousandeyes.ts new file mode 100644 index 0000000..4171455 --- /dev/null +++ b/sdk/nodejs/directThousandeyes.ts @@ -0,0 +1,207 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * ThousandEyes monitors the performance of both local and wide-area networks. ThousandEyes combines Internet and WAN visibility, browser synthetics, end-user monitoring, and Internet Insights to deliver a holistic view of your hybrid digital ecosystem – across cloud, SaaS, and the Internet. It's a SaaS-based tool that helps troubleshoot application delivery and maps Internet performance. Nobl9 connects with ThousandEyes to collect SLI measurements and compare them to SLO targets. + * + * For more information, refer to [ThousandEyes Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-direct). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const test_thousandeyes = new nobl9.DirectThousandeyes("test-thousandeyes", { + * description: "desc", + * oauthBearerToken: "secret", + * project: "terraform", + * sourceOfs: [ + * "Metrics", + * "Services", + * ], + * }); + * ``` + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/ + */ +export class DirectThousandeyes extends pulumi.CustomResource { + /** + * Get an existing DirectThousandeyes 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?: DirectThousandeyesState, opts?: pulumi.CustomResourceOptions): DirectThousandeyes { + return new DirectThousandeyes(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/directThousandeyes:DirectThousandeyes'; + + /** + * Returns true if the given object is an instance of DirectThousandeyes. 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 DirectThousandeyes { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DirectThousandeyes.__pulumiType; + } + + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * [required] | ThousandEyes OAuth Bearer Token. + */ + public readonly oauthBearerToken!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + public readonly queryDelay!: pulumi.Output; + /** + * Source of Metrics and/or Services. + */ + public readonly sourceOfs!: pulumi.Output; + /** + * The status of the created direct. + */ + public /*out*/ readonly status!: pulumi.Output; + + /** + * Create a DirectThousandeyes 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: DirectThousandeyesArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DirectThousandeyesArgs | DirectThousandeyesState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DirectThousandeyesState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["oauthBearerToken"] = state ? state.oauthBearerToken : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["queryDelay"] = state ? state.queryDelay : undefined; + resourceInputs["sourceOfs"] = state ? state.sourceOfs : undefined; + resourceInputs["status"] = state ? state.status : undefined; + } else { + const args = argsOrState as DirectThousandeyesArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.sourceOfs === undefined) && !opts.urn) { + throw new Error("Missing required property 'sourceOfs'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["oauthBearerToken"] = args ? args.oauthBearerToken : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["queryDelay"] = args ? args.queryDelay : undefined; + resourceInputs["sourceOfs"] = args ? args.sourceOfs : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DirectThousandeyes.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DirectThousandeyes resources. + */ +export interface DirectThousandeyesState { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * [required] | ThousandEyes OAuth Bearer Token. + */ + oauthBearerToken?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs?: pulumi.Input[]>; + /** + * The status of the created direct. + */ + status?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DirectThousandeyes resource. + */ +export interface DirectThousandeyesArgs { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * [required] | ThousandEyes OAuth Bearer Token. + */ + oauthBearerToken?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + */ + queryDelay?: pulumi.Input; + /** + * Source of Metrics and/or Services. + */ + sourceOfs: pulumi.Input[]>; +} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts new file mode 100644 index 0000000..ebbf2fb --- /dev/null +++ b/sdk/nodejs/index.ts @@ -0,0 +1,196 @@ +// *** 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"; + +// Export members: +export * from "./agent"; +export * from "./alertMethodDiscord"; +export * from "./alertMethodEmail"; +export * from "./alertMethodJira"; +export * from "./alertMethodMsteams"; +export * from "./alertMethodOpsgenie"; +export * from "./alertMethodPagerduty"; +export * from "./alertMethodServicenow"; +export * from "./alertMethodSlack"; +export * from "./alertMethodWebhook"; +export * from "./alertPolicy"; +export * from "./directAppdynamics"; +export * from "./directBigquery"; +export * from "./directCloudwatch"; +export * from "./directDatadog"; +export * from "./directDynatrace"; +export * from "./directGcm"; +export * from "./directInfluxdb"; +export * from "./directInstana"; +export * from "./directLightstep"; +export * from "./directNewrelic"; +export * from "./directPingdom"; +export * from "./directRedshift"; +export * from "./directSplunk"; +export * from "./directSplunkObservability"; +export * from "./directSumologic"; +export * from "./directThousandeyes"; +export * from "./project"; +export * from "./provider"; +export * from "./roleBinding"; +export * from "./service"; +export * from "./slo"; + +// Export sub-modules: +import * as config from "./config"; +import * as types from "./types"; + +export { + config, + types, +}; + +// Import resources to register: +import { Agent } from "./agent"; +import { AlertMethodDiscord } from "./alertMethodDiscord"; +import { AlertMethodEmail } from "./alertMethodEmail"; +import { AlertMethodJira } from "./alertMethodJira"; +import { AlertMethodMsteams } from "./alertMethodMsteams"; +import { AlertMethodOpsgenie } from "./alertMethodOpsgenie"; +import { AlertMethodPagerduty } from "./alertMethodPagerduty"; +import { AlertMethodServicenow } from "./alertMethodServicenow"; +import { AlertMethodSlack } from "./alertMethodSlack"; +import { AlertMethodWebhook } from "./alertMethodWebhook"; +import { AlertPolicy } from "./alertPolicy"; +import { DirectAppdynamics } from "./directAppdynamics"; +import { DirectBigquery } from "./directBigquery"; +import { DirectCloudwatch } from "./directCloudwatch"; +import { DirectDatadog } from "./directDatadog"; +import { DirectDynatrace } from "./directDynatrace"; +import { DirectGcm } from "./directGcm"; +import { DirectInfluxdb } from "./directInfluxdb"; +import { DirectInstana } from "./directInstana"; +import { DirectLightstep } from "./directLightstep"; +import { DirectNewrelic } from "./directNewrelic"; +import { DirectPingdom } from "./directPingdom"; +import { DirectRedshift } from "./directRedshift"; +import { DirectSplunk } from "./directSplunk"; +import { DirectSplunkObservability } from "./directSplunkObservability"; +import { DirectSumologic } from "./directSumologic"; +import { DirectThousandeyes } from "./directThousandeyes"; +import { Project } from "./project"; +import { RoleBinding } from "./roleBinding"; +import { Service } from "./service"; +import { Slo } from "./slo"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "nobl9:index/agent:Agent": + return new Agent(name, undefined, { urn }) + case "nobl9:index/alertMethodDiscord:AlertMethodDiscord": + return new AlertMethodDiscord(name, undefined, { urn }) + case "nobl9:index/alertMethodEmail:AlertMethodEmail": + return new AlertMethodEmail(name, undefined, { urn }) + case "nobl9:index/alertMethodJira:AlertMethodJira": + return new AlertMethodJira(name, undefined, { urn }) + case "nobl9:index/alertMethodMsteams:AlertMethodMsteams": + return new AlertMethodMsteams(name, undefined, { urn }) + case "nobl9:index/alertMethodOpsgenie:AlertMethodOpsgenie": + return new AlertMethodOpsgenie(name, undefined, { urn }) + case "nobl9:index/alertMethodPagerduty:AlertMethodPagerduty": + return new AlertMethodPagerduty(name, undefined, { urn }) + case "nobl9:index/alertMethodServicenow:AlertMethodServicenow": + return new AlertMethodServicenow(name, undefined, { urn }) + case "nobl9:index/alertMethodSlack:AlertMethodSlack": + return new AlertMethodSlack(name, undefined, { urn }) + case "nobl9:index/alertMethodWebhook:AlertMethodWebhook": + return new AlertMethodWebhook(name, undefined, { urn }) + case "nobl9:index/alertPolicy:AlertPolicy": + return new AlertPolicy(name, undefined, { urn }) + case "nobl9:index/directAppdynamics:DirectAppdynamics": + return new DirectAppdynamics(name, undefined, { urn }) + case "nobl9:index/directBigquery:DirectBigquery": + return new DirectBigquery(name, undefined, { urn }) + case "nobl9:index/directCloudwatch:DirectCloudwatch": + return new DirectCloudwatch(name, undefined, { urn }) + case "nobl9:index/directDatadog:DirectDatadog": + return new DirectDatadog(name, undefined, { urn }) + case "nobl9:index/directDynatrace:DirectDynatrace": + return new DirectDynatrace(name, undefined, { urn }) + case "nobl9:index/directGcm:DirectGcm": + return new DirectGcm(name, undefined, { urn }) + case "nobl9:index/directInfluxdb:DirectInfluxdb": + return new DirectInfluxdb(name, undefined, { urn }) + case "nobl9:index/directInstana:DirectInstana": + return new DirectInstana(name, undefined, { urn }) + case "nobl9:index/directLightstep:DirectLightstep": + return new DirectLightstep(name, undefined, { urn }) + case "nobl9:index/directNewrelic:DirectNewrelic": + return new DirectNewrelic(name, undefined, { urn }) + case "nobl9:index/directPingdom:DirectPingdom": + return new DirectPingdom(name, undefined, { urn }) + case "nobl9:index/directRedshift:DirectRedshift": + return new DirectRedshift(name, undefined, { urn }) + case "nobl9:index/directSplunk:DirectSplunk": + return new DirectSplunk(name, undefined, { urn }) + case "nobl9:index/directSplunkObservability:DirectSplunkObservability": + return new DirectSplunkObservability(name, undefined, { urn }) + case "nobl9:index/directSumologic:DirectSumologic": + return new DirectSumologic(name, undefined, { urn }) + case "nobl9:index/directThousandeyes:DirectThousandeyes": + return new DirectThousandeyes(name, undefined, { urn }) + case "nobl9:index/project:Project": + return new Project(name, undefined, { urn }) + case "nobl9:index/roleBinding:RoleBinding": + return new RoleBinding(name, undefined, { urn }) + case "nobl9:index/service:Service": + return new Service(name, undefined, { urn }) + case "nobl9:index/slo:Slo": + return new Slo(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("nobl9", "index/agent", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/alertMethodDiscord", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/alertMethodEmail", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/alertMethodJira", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/alertMethodMsteams", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/alertMethodOpsgenie", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/alertMethodPagerduty", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/alertMethodServicenow", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/alertMethodSlack", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/alertMethodWebhook", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/alertPolicy", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directAppdynamics", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directBigquery", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directCloudwatch", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directDatadog", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directDynatrace", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directGcm", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directInfluxdb", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directInstana", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directLightstep", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directNewrelic", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directPingdom", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directRedshift", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directSplunk", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directSplunkObservability", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directSumologic", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/directThousandeyes", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/project", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/roleBinding", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/service", _module) +pulumi.runtime.registerResourceModule("nobl9", "index/slo", _module) + +import { Provider } from "./provider"; + +pulumi.runtime.registerResourcePackage("nobl9", { + version: utilities.getVersion(), + constructProvider: (name: string, type: string, urn: string): pulumi.ProviderResource => { + if (type !== "pulumi:providers:nobl9") { + throw new Error(`unknown provider type ${type}`); + } + return new Provider(name, undefined, { urn }); + }, +}); diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json new file mode 100644 index 0000000..d1378cb --- /dev/null +++ b/sdk/nodejs/package.json @@ -0,0 +1,31 @@ +{ + "name": "@pulumi/nobl9", + "version": "${VERSION}", + "description": "A Pulumi package for creating and managing Nobl9 cloud resources.", + "keywords": [ + "pulumi", + "nobl9", + "n9", + "category/cloud" + ], + "homepage": "https://www.pulumi.com", + "repository": "https://github.com/piclemx/pulumi-nobl9", + "license": "Apache-2.0", + "scripts": { + "build": "tsc", + "install": "node scripts/install-pulumi-plugin.js resource nobl9 ${VERSION}" + }, + "dependencies": { + "@pulumi/pulumi": "^3.0.0" + }, + "devDependencies": { + "@types/mime": "^2.0.0", + "@types/node": "^10.0.0", + "typescript": "^4.3.5" + }, + "pulumi": { + "resource": true, + "name": "nobl9", + "server": "https://github.com/piclemx/pulumi-nobl9/releases/" + } +} diff --git a/sdk/nodejs/project.ts b/sdk/nodejs/project.ts new file mode 100644 index 0000000..56e7c6b --- /dev/null +++ b/sdk/nodejs/project.ts @@ -0,0 +1,163 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * **Projects** are the primary logical grouping of resources in the Nobl9 platform. All Nobl9 resources, such as data sources, SLOs, and alerts, are created within a project. + * + * Access controls at the project level enable users to control who can see and change these resources. For example, you can allow all of your users to view the SLOs in a given project, but only a few users to make changes. + * + * For more details, refer to [Project configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#project). + * + * ## Example Usage + * + * Here's an example of Project resource configuration: + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const thisProject = new nobl9.Project("this", { + * description: "An example N9 Terraform project", + * displayName: "My Project", + * labels: [ + * { + * key: "env", + * values: [ + * "dev", + * "prod", + * ], + * }, + * { + * key: "team", + * values: ["red"], + * }, + * ], + * }); + * ``` + * ## Useful Links + * + * [Projects in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/#projects) + * + * [Projects YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#project) + */ +export class Project extends pulumi.CustomResource { + /** + * Get an existing Project 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?: ProjectState, opts?: pulumi.CustomResourceOptions): Project { + return new Project(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/project:Project'; + + /** + * Returns true if the given object is an instance of Project. 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 Project { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Project.__pulumiType; + } + + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + */ + public readonly labels!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + + /** + * Create a Project 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?: ProjectArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ProjectArgs | ProjectState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ProjectState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["labels"] = state ? state.labels : undefined; + resourceInputs["name"] = state ? state.name : undefined; + } else { + const args = argsOrState as ProjectArgs | undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["labels"] = args ? args.labels : undefined; + resourceInputs["name"] = args ? args.name : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Project.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Project resources. + */ +export interface ProjectState { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + */ + labels?: pulumi.Input[]>; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Project resource. + */ +export interface ProjectArgs { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + */ + labels?: pulumi.Input[]>; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; +} diff --git a/sdk/nodejs/provider.ts b/sdk/nodejs/provider.ts new file mode 100644 index 0000000..fe3a2a7 --- /dev/null +++ b/sdk/nodejs/provider.ts @@ -0,0 +1,131 @@ +// *** 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"; + +/** + * The provider type for the nobl9 package. By default, resources use package-wide configuration + * settings, however an explicit `Provider` instance may be created and passed during resource + * construction to achieve fine-grained programmatic control over provider settings. See the + * [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information. + */ +export class Provider extends pulumi.ProviderResource { + /** @internal */ + public static readonly __pulumiType = 'nobl9'; + + /** + * Returns true if the given object is an instance of Provider. 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 Provider { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Provider.__pulumiType; + } + + /** + * the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to + * Nobl9. + */ + public readonly clientId!: pulumi.Output; + /** + * the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect + * to Nobl9. + */ + public readonly clientSecret!: pulumi.Output; + /** + * Nobl9 API URL. + */ + public readonly ingestUrl!: pulumi.Output; + /** + * Authorization service configuration. + */ + public readonly oktaAuthServer!: pulumi.Output; + /** + * Authorization service URL. + */ + public readonly oktaOrgUrl!: pulumi.Output; + /** + * Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that + * contains resources managed by the Nobl9 Terraform provider. + */ + public readonly organization!: pulumi.Output; + /** + * Nobl9 project used when importing resources. + */ + public readonly project!: pulumi.Output; + + /** + * Create a Provider 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: ProviderArgs, opts?: pulumi.ResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + { + if ((!args || args.clientId === undefined) && !opts.urn) { + throw new Error("Missing required property 'clientId'"); + } + if ((!args || args.clientSecret === undefined) && !opts.urn) { + throw new Error("Missing required property 'clientSecret'"); + } + if ((!args || args.organization === undefined) && !opts.urn) { + throw new Error("Missing required property 'organization'"); + } + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + resourceInputs["clientId"] = args ? args.clientId : undefined; + resourceInputs["clientSecret"] = args ? args.clientSecret : undefined; + resourceInputs["ingestUrl"] = args ? args.ingestUrl : undefined; + resourceInputs["oktaAuthServer"] = args ? args.oktaAuthServer : undefined; + resourceInputs["oktaOrgUrl"] = args ? args.oktaOrgUrl : undefined; + resourceInputs["organization"] = args ? args.organization : undefined; + resourceInputs["project"] = args ? args.project : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Provider.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Provider resource. + */ +export interface ProviderArgs { + /** + * the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to + * Nobl9. + */ + clientId: pulumi.Input; + /** + * the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect + * to Nobl9. + */ + clientSecret: pulumi.Input; + /** + * Nobl9 API URL. + */ + ingestUrl?: pulumi.Input; + /** + * Authorization service configuration. + */ + oktaAuthServer?: pulumi.Input; + /** + * Authorization service URL. + */ + oktaOrgUrl?: pulumi.Input; + /** + * Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that + * contains resources managed by the Nobl9 Terraform provider. + */ + organization: pulumi.Input; + /** + * Nobl9 project used when importing resources. + */ + project: pulumi.Input; +} diff --git a/sdk/nodejs/roleBinding.ts b/sdk/nodejs/roleBinding.ts new file mode 100644 index 0000000..1c7b6c9 --- /dev/null +++ b/sdk/nodejs/roleBinding.ts @@ -0,0 +1,164 @@ +// *** 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 + * + * Here's an example of RBAC resource configuration: + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const thisRoleBinding = new nobl9.RoleBinding("this", { + * projectRef: "1234567890asdfghjkl", + * roleRef: "project-owner", + * user: "1234567890asdfghjkl", + * }); + * ``` + * ## Useful Links + * + * [Role Based Access Control in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/Getting_Started/RBAC/) + * + * [Role Binding YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/Getting_Started/RBAC/role-binding-yaml) + */ +export class RoleBinding extends pulumi.CustomResource { + /** + * Get an existing RoleBinding 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?: RoleBindingState, opts?: pulumi.CustomResourceOptions): RoleBinding { + return new RoleBinding(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/roleBinding:RoleBinding'; + + /** + * Returns true if the given object is an instance of RoleBinding. 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 RoleBinding { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RoleBinding.__pulumiType; + } + + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Project name, the project in which we want the user to assume the specified role. When `projectRef` is empty, `roleRef` must contain an Organization Role. + */ + public readonly projectRef!: pulumi.Output; + /** + * Role name; the role that you want the user to assume. + */ + public readonly roleRef!: pulumi.Output; + /** + * Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + */ + public readonly user!: pulumi.Output; + + /** + * Create a RoleBinding 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: RoleBindingArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RoleBindingArgs | RoleBindingState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RoleBindingState | undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["projectRef"] = state ? state.projectRef : undefined; + resourceInputs["roleRef"] = state ? state.roleRef : undefined; + resourceInputs["user"] = state ? state.user : undefined; + } else { + const args = argsOrState as RoleBindingArgs | undefined; + if ((!args || args.roleRef === undefined) && !opts.urn) { + throw new Error("Missing required property 'roleRef'"); + } + if ((!args || args.user === undefined) && !opts.urn) { + throw new Error("Missing required property 'user'"); + } + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["projectRef"] = args ? args.projectRef : undefined; + resourceInputs["roleRef"] = args ? args.roleRef : undefined; + resourceInputs["user"] = args ? args.user : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(RoleBinding.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering RoleBinding resources. + */ +export interface RoleBindingState { + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Project name, the project in which we want the user to assume the specified role. When `projectRef` is empty, `roleRef` must contain an Organization Role. + */ + projectRef?: pulumi.Input; + /** + * Role name; the role that you want the user to assume. + */ + roleRef?: pulumi.Input; + /** + * Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + */ + user?: pulumi.Input; +} + +/** + * The set of arguments for constructing a RoleBinding resource. + */ +export interface RoleBindingArgs { + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Project name, the project in which we want the user to assume the specified role. When `projectRef` is empty, `roleRef` must contain an Organization Role. + */ + projectRef?: pulumi.Input; + /** + * Role name; the role that you want the user to assume. + */ + roleRef: pulumi.Input; + /** + * Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + */ + user: pulumi.Input; +} diff --git a/sdk/nodejs/scripts/install-pulumi-plugin.js b/sdk/nodejs/scripts/install-pulumi-plugin.js new file mode 100644 index 0000000..3c55f73 --- /dev/null +++ b/sdk/nodejs/scripts/install-pulumi-plugin.js @@ -0,0 +1,26 @@ +"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", "--server", "https://github.com/piclemx/pulumi-nobl9/releases/"].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/service.ts b/sdk/nodejs/service.ts new file mode 100644 index 0000000..0ef6beb --- /dev/null +++ b/sdk/nodejs/service.ts @@ -0,0 +1,193 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * A **service** in Nobl9 is a high-level grouping of Service Level Objectives (SLOs). A service can represent a logical service endpoint like an API, a database, an application, or anything else you care about setting an SLO for. Every SLO in Nobl9 is tied to a service, and the service can have one or more SLOs. + * + * For more details, refer to the [Service configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#service). + * + * ## Example Usage + * + * Here's an example of Service resource configuration: + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nobl9 from "@pulumi/nobl9"; + * + * const thisProject = new nobl9.Project("thisProject", { + * displayName: "My Project", + * description: "An example N9 Terraform project", + * }); + * const thisService = new nobl9.Service("thisService", { + * project: thisProject.name, + * displayName: thisProject.displayName.apply(displayName => `${displayName} Front Page`), + * description: "Front page service", + * labels: [ + * { + * key: "env", + * values: [ + * "dev", + * "prod", + * ], + * }, + * { + * key: "team", + * values: ["red"], + * }, + * ], + * }); + * ``` + * ## Useful Links + * + * [Services in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/#services) + * + * [Service YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide/#service) + */ +export class Service extends pulumi.CustomResource { + /** + * Get an existing Service 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?: ServiceState, opts?: pulumi.CustomResourceOptions): Service { + return new Service(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/service:Service'; + + /** + * Returns true if the given object is an instance of Service. 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 Service { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Service.__pulumiType; + } + + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + * [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + */ + public readonly labels!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * Status of created service. + */ + public /*out*/ readonly status!: pulumi.Output<{[key: string]: number}>; + + /** + * Create a Service 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: ServiceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ServiceArgs | ServiceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ServiceState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["labels"] = state ? state.labels : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["status"] = state ? state.status : undefined; + } else { + const args = argsOrState as ServiceArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["labels"] = args ? args.labels : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Service.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Service resources. + */ +export interface ServiceState { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + */ + labels?: pulumi.Input[]>; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * Status of created service. + */ + status?: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +/** + * The set of arguments for constructing a Service resource. + */ +export interface ServiceArgs { + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + * [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + */ + labels?: pulumi.Input[]>; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; +} diff --git a/sdk/nodejs/slo.ts b/sdk/nodejs/slo.ts new file mode 100644 index 0000000..ef28abb --- /dev/null +++ b/sdk/nodejs/slo.ts @@ -0,0 +1,271 @@ +// *** 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 { input as inputs, output as outputs } from "./types"; +import * as utilities from "./utilities"; + +/** + * An SLO is a target value or range of values for a service that is measured by a service level indicator (SLI). SLOs allows you to define the reliability of your products and services in terms of customer expectations. You can create SLOs for user journeys, internal services, or even infrastructure. + * + * For more information, refer to [SLO configuration documentation](https://docs.nobl9.com/yaml-guide#slo) + * + * ## Nobl9 Official Documentation + * + * https://docs.nobl9.com/SLOs_as_code/?_highlight=slo + */ +export class Slo extends pulumi.CustomResource { + /** + * Get an existing Slo 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?: SloState, opts?: pulumi.CustomResourceOptions): Slo { + return new Slo(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nobl9:index/slo:Slo'; + + /** + * Returns true if the given object is an instance of Slo. 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 Slo { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Slo.__pulumiType; + } + + /** + * Alert Policies attached to SLO + */ + public readonly alertPolicies!: pulumi.Output; + /** + * @deprecated "attachments" argument is deprecated use "attachment" instead + */ + public readonly attachments!: pulumi.Output; + /** + * Method which will be use to calculate budget + */ + public readonly budgetingMethod!: pulumi.Output; + /** + * [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + */ + public readonly composite!: pulumi.Output; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + public readonly description!: pulumi.Output; + /** + * User-friendly display name of the resource. + */ + public readonly displayName!: pulumi.Output; + /** + */ + public readonly indicator!: pulumi.Output; + /** + * [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + */ + public readonly labels!: pulumi.Output; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly name!: pulumi.Output; + /** + * [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + */ + public readonly objectives!: pulumi.Output; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + public readonly project!: pulumi.Output; + /** + * Name of the service + */ + public readonly service!: pulumi.Output; + /** + */ + public readonly timeWindow!: pulumi.Output; + + /** + * Create a Slo 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: SloArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: SloArgs | SloState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as SloState | undefined; + resourceInputs["alertPolicies"] = state ? state.alertPolicies : undefined; + resourceInputs["attachments"] = state ? state.attachments : undefined; + resourceInputs["budgetingMethod"] = state ? state.budgetingMethod : undefined; + resourceInputs["composite"] = state ? state.composite : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["indicator"] = state ? state.indicator : undefined; + resourceInputs["labels"] = state ? state.labels : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["objectives"] = state ? state.objectives : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["service"] = state ? state.service : undefined; + resourceInputs["timeWindow"] = state ? state.timeWindow : undefined; + } else { + const args = argsOrState as SloArgs | undefined; + if ((!args || args.budgetingMethod === undefined) && !opts.urn) { + throw new Error("Missing required property 'budgetingMethod'"); + } + if ((!args || args.indicator === undefined) && !opts.urn) { + throw new Error("Missing required property 'indicator'"); + } + if ((!args || args.objectives === undefined) && !opts.urn) { + throw new Error("Missing required property 'objectives'"); + } + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.service === undefined) && !opts.urn) { + throw new Error("Missing required property 'service'"); + } + if ((!args || args.timeWindow === undefined) && !opts.urn) { + throw new Error("Missing required property 'timeWindow'"); + } + resourceInputs["alertPolicies"] = args ? args.alertPolicies : undefined; + resourceInputs["attachments"] = args ? args.attachments : undefined; + resourceInputs["budgetingMethod"] = args ? args.budgetingMethod : undefined; + resourceInputs["composite"] = args ? args.composite : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["indicator"] = args ? args.indicator : undefined; + resourceInputs["labels"] = args ? args.labels : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["objectives"] = args ? args.objectives : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["service"] = args ? args.service : undefined; + resourceInputs["timeWindow"] = args ? args.timeWindow : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Slo.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Slo resources. + */ +export interface SloState { + /** + * Alert Policies attached to SLO + */ + alertPolicies?: pulumi.Input[]>; + /** + * @deprecated "attachments" argument is deprecated use "attachment" instead + */ + attachments?: pulumi.Input[]>; + /** + * Method which will be use to calculate budget + */ + budgetingMethod?: pulumi.Input; + /** + * [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + */ + composite?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + */ + indicator?: pulumi.Input; + /** + * [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + */ + labels?: pulumi.Input[]>; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + */ + objectives?: pulumi.Input[]>; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project?: pulumi.Input; + /** + * Name of the service + */ + service?: pulumi.Input; + /** + */ + timeWindow?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Slo resource. + */ +export interface SloArgs { + /** + * Alert Policies attached to SLO + */ + alertPolicies?: pulumi.Input[]>; + /** + * @deprecated "attachments" argument is deprecated use "attachment" instead + */ + attachments?: pulumi.Input[]>; + /** + * Method which will be use to calculate budget + */ + budgetingMethod: pulumi.Input; + /** + * [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + */ + composite?: pulumi.Input; + /** + * Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + */ + description?: pulumi.Input; + /** + * User-friendly display name of the resource. + */ + displayName?: pulumi.Input; + /** + */ + indicator: pulumi.Input; + /** + * [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + */ + labels?: pulumi.Input[]>; + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name?: pulumi.Input; + /** + * [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + */ + objectives: pulumi.Input[]>; + /** + * Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + project: pulumi.Input; + /** + * Name of the service + */ + service: pulumi.Input; + /** + */ + timeWindow: pulumi.Input; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json new file mode 100644 index 0000000..724af3c --- /dev/null +++ b/sdk/nodejs/tsconfig.json @@ -0,0 +1,56 @@ +{ + "compilerOptions": { + "outDir": "bin", + "target": "es2016", + "module": "commonjs", + "moduleResolution": "node", + "declaration": true, + "sourceMap": true, + "stripInternal": true, + "experimentalDecorators": true, + "noFallthroughCasesInSwitch": true, + "forceConsistentCasingInFileNames": true, + "strict": true + }, + "files": [ + "agent.ts", + "alertMethodDiscord.ts", + "alertMethodEmail.ts", + "alertMethodJira.ts", + "alertMethodMsteams.ts", + "alertMethodOpsgenie.ts", + "alertMethodPagerduty.ts", + "alertMethodServicenow.ts", + "alertMethodSlack.ts", + "alertMethodWebhook.ts", + "alertPolicy.ts", + "config/index.ts", + "config/vars.ts", + "directAppdynamics.ts", + "directBigquery.ts", + "directCloudwatch.ts", + "directDatadog.ts", + "directDynatrace.ts", + "directGcm.ts", + "directInfluxdb.ts", + "directInstana.ts", + "directLightstep.ts", + "directNewrelic.ts", + "directPingdom.ts", + "directRedshift.ts", + "directSplunk.ts", + "directSplunkObservability.ts", + "directSumologic.ts", + "directThousandeyes.ts", + "index.ts", + "project.ts", + "provider.ts", + "roleBinding.ts", + "service.ts", + "slo.ts", + "types/index.ts", + "types/input.ts", + "types/output.ts", + "utilities.ts" + ] +} diff --git a/sdk/nodejs/types/index.ts b/sdk/nodejs/types/index.ts new file mode 100644 index 0000000..a6057c6 --- /dev/null +++ b/sdk/nodejs/types/index.ts @@ -0,0 +1,11 @@ +// *** 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! *** + +// Export sub-modules: +import * as input from "./input"; +import * as output from "./output"; + +export { + input, + output, +}; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts new file mode 100644 index 0000000..010b7cd --- /dev/null +++ b/sdk/nodejs/types/input.ts @@ -0,0 +1,1139 @@ +// *** 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 { input as inputs, output as outputs } from "../types"; + +export interface AgentAmazonPrometheusConfig { + /** + * AWS region e.g., eu-central-1 + */ + region: pulumi.Input; + /** + * Base URL to Amazon Prometheus server. + */ + url: pulumi.Input; +} + +export interface AgentAppdynamicsConfig { + /** + * Base URL to the AppDynamics Controller. + */ + url: pulumi.Input; +} + +export interface AgentBigqueryConfig { +} + +export interface AgentCloudwatchConfig { +} + +export interface AgentDatadogConfig { + /** + * `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union) + */ + site: pulumi.Input; +} + +export interface AgentDynatraceConfig { + /** + * Dynatrace API URL. + */ + url: pulumi.Input; +} + +export interface AgentElasticsearchConfig { + /** + * API URL endpoint to the Elasticsearch's instance. + */ + url: pulumi.Input; +} + +export interface AgentGcmConfig { +} + +export interface AgentGrafanaLokiConfig { + /** + * API URL endpoint to the Grafana Loki instance. + */ + url: pulumi.Input; +} + +export interface AgentGraphiteConfig { + /** + * API URL endpoint to the Graphite's instance. + */ + url: pulumi.Input; +} + +export interface AgentInfluxdbConfig { + /** + * API URL endpoint to the InfluxDB's instance. + */ + url: pulumi.Input; +} + +export interface AgentInstanaConfig { + /** + * API URL endpoint to the InfluxDB's instance. + */ + url: pulumi.Input; +} + +export interface AgentLightstepConfig { + /** + * Organization name registered in Lightstep. + */ + organization: pulumi.Input; + /** + * Name of the Lightstep project. + */ + project: pulumi.Input; +} + +export interface AgentNewrelicConfig { + /** + * ID number assigned to the New Relic user account. + */ + accountId: pulumi.Input; +} + +export interface AgentOpentsdbConfig { + /** + * OpenTSDB cluster URL. + */ + url: pulumi.Input; +} + +export interface AgentPingdomConfig { +} + +export interface AgentPrometheusConfig { + /** + * Base URL to Prometheus server. + */ + url: pulumi.Input; +} + +export interface AgentQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface AgentRedshiftConfig { +} + +export interface AgentSplunkConfig { + /** + * Base API URL to the Splunk Search app. + */ + url: pulumi.Input; +} + +export interface AgentSplunkObservabilityConfig { + /** + * SplunkObservability Realm. + */ + realm: pulumi.Input; +} + +export interface AgentSumologicConfig { + /** + * Sumo Logic API URL. + */ + url: pulumi.Input; +} + +export interface AgentThousandeyesConfig { +} + +export interface AlertPolicyAlertMethod { + /** + * The name of the previously defined alert method. + */ + name: pulumi.Input; + /** + * Project name the Alert Method is in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). If not defined, Nobl9 returns a default value for this field. + */ + project?: pulumi.Input; +} + +export interface AlertPolicyCondition { + /** + * Indicates how long a given condition needs to be valid to mark the condition as true. + */ + lastsFor?: pulumi.Input; + /** + * One of `timeToBurnBudget` | `burnRate` | `burnedBudget`. + */ + measurement: pulumi.Input; + /** + * For `averageBurnRate`, it indicates how fast the error budget is burning. For `burnedBudget`, it tells how much error budget is already burned. + */ + value?: pulumi.Input; + /** + * Used with `timeToBurnBudget`, indicates when the budget would be exhausted. The expected value is a string in time duration string format. + */ + valueString?: pulumi.Input; +} + +export interface DirectAppdynamicsQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface DirectBigqueryQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface DirectCloudwatchHistoricalDataRetrieval { + /** + * Used by default for any SLOs connected to this data source. + */ + defaultDurations: pulumi.Input[]>; + /** + * Defines the maximum period for which data can be retrieved. + */ + maxDurations: pulumi.Input[]>; +} + +export interface DirectCloudwatchHistoricalDataRetrievalDefaultDuration { + unit: pulumi.Input; + value: pulumi.Input; +} + +export interface DirectCloudwatchHistoricalDataRetrievalMaxDuration { + unit: pulumi.Input; + value: pulumi.Input; +} + +export interface DirectCloudwatchQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface DirectDatadogHistoricalDataRetrieval { + /** + * Used by default for any SLOs connected to this data source. + */ + defaultDurations: pulumi.Input[]>; + /** + * Defines the maximum period for which data can be retrieved. + */ + maxDurations: pulumi.Input[]>; +} + +export interface DirectDatadogHistoricalDataRetrievalDefaultDuration { + unit: pulumi.Input; + value: pulumi.Input; +} + +export interface DirectDatadogHistoricalDataRetrievalMaxDuration { + unit: pulumi.Input; + value: pulumi.Input; +} + +export interface DirectDatadogQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface DirectDynatraceHistoricalDataRetrieval { + /** + * Used by default for any SLOs connected to this data source. + */ + defaultDurations: pulumi.Input[]>; + /** + * Defines the maximum period for which data can be retrieved. + */ + maxDurations: pulumi.Input[]>; +} + +export interface DirectDynatraceHistoricalDataRetrievalDefaultDuration { + unit: pulumi.Input; + value: pulumi.Input; +} + +export interface DirectDynatraceHistoricalDataRetrievalMaxDuration { + unit: pulumi.Input; + value: pulumi.Input; +} + +export interface DirectDynatraceQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface DirectGcmQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface DirectInfluxdbQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface DirectInstanaQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface DirectLightstepHistoricalDataRetrieval { + /** + * Used by default for any SLOs connected to this data source. + */ + defaultDurations: pulumi.Input[]>; + /** + * Defines the maximum period for which data can be retrieved. + */ + maxDurations: pulumi.Input[]>; +} + +export interface DirectLightstepHistoricalDataRetrievalDefaultDuration { + unit: pulumi.Input; + value: pulumi.Input; +} + +export interface DirectLightstepHistoricalDataRetrievalMaxDuration { + unit: pulumi.Input; + value: pulumi.Input; +} + +export interface DirectLightstepQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface DirectNewrelicHistoricalDataRetrieval { + /** + * Used by default for any SLOs connected to this data source. + */ + defaultDurations: pulumi.Input[]>; + /** + * Defines the maximum period for which data can be retrieved. + */ + maxDurations: pulumi.Input[]>; +} + +export interface DirectNewrelicHistoricalDataRetrievalDefaultDuration { + unit: pulumi.Input; + value: pulumi.Input; +} + +export interface DirectNewrelicHistoricalDataRetrievalMaxDuration { + unit: pulumi.Input; + value: pulumi.Input; +} + +export interface DirectNewrelicQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface DirectPingdomQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface DirectRedshiftQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface DirectSplunkHistoricalDataRetrieval { + /** + * Used by default for any SLOs connected to this data source. + */ + defaultDurations: pulumi.Input[]>; + /** + * Defines the maximum period for which data can be retrieved. + */ + maxDurations: pulumi.Input[]>; +} + +export interface DirectSplunkHistoricalDataRetrievalDefaultDuration { + unit: pulumi.Input; + value: pulumi.Input; +} + +export interface DirectSplunkHistoricalDataRetrievalMaxDuration { + unit: pulumi.Input; + value: pulumi.Input; +} + +export interface DirectSplunkObservabilityQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface DirectSplunkQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface DirectSumologicQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface DirectThousandeyesQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: pulumi.Input; + /** + * Must be an integer greater than or equal to 0. + */ + value: pulumi.Input; +} + +export interface ProjectLabel { + /** + * A key for the label, unique within the associated resource. + */ + key: pulumi.Input; + /** + * A list of unique values for a single key. + */ + values: pulumi.Input[]>; +} + +export interface ServiceLabel { + /** + * A key for the label, unique within the associated resource. + */ + key: pulumi.Input; + /** + * A list of unique values for a single key. + */ + values: pulumi.Input[]>; +} + +export interface SloAttachment { + /** + * Name displayed for the attachment. Max. length: 63 characters. + */ + displayName?: pulumi.Input; + /** + * URL to the attachment + */ + url: pulumi.Input; +} + +export interface SloComposite { + /** + * Condition when the Composite SLO’s error budget is burning. + */ + burnRateConditions?: pulumi.Input[]>; + /** + * Designated value + */ + target: pulumi.Input; +} + +export interface SloCompositeBurnRateCondition { + op: pulumi.Input; + value: pulumi.Input; +} + +export interface SloIndicator { + /** + * Kind of the metric source. One of {Agent, Direct}. + */ + kind?: pulumi.Input; + /** + * Name of the metric source (agent). + */ + name: pulumi.Input; + /** + * Name of the metric source project. + */ + project?: pulumi.Input; +} + +export interface SloLabel { + /** + * A key for the label, unique within the associated resource. + */ + key: pulumi.Input; + /** + * A list of unique values for a single key. + */ + values: pulumi.Input[]>; +} + +export interface SloObjective { + /** + * Compares two time series, indicating the ratio of the count of good values to total values. + */ + countMetrics?: pulumi.Input[]>; + /** + * Name to be displayed + */ + displayName: pulumi.Input; + /** + * Objective's name. This field is computed if not provided. + */ + name?: pulumi.Input; + /** + * Type of logical operation + */ + op?: pulumi.Input; + /** + * Raw data is used to compare objective values. + */ + rawMetrics?: pulumi.Input[]>; + /** + * Designated value + */ + target: pulumi.Input; + /** + * Designated value for slice + */ + timeSliceTarget?: pulumi.Input; + /** + * Value + */ + value: pulumi.Input; +} + +export interface SloObjectiveCountMetric { + goods?: pulumi.Input[]>; + incremental: pulumi.Input; + totals?: pulumi.Input[]>; +} + +export interface SloObjectiveCountMetricGood { + amazonPrometheuses?: pulumi.Input[]>; + appdynamics?: pulumi.Input[]>; + bigqueries?: pulumi.Input[]>; + cloudwatches?: pulumi.Input[]>; + datadogs?: pulumi.Input[]>; + dynatraces?: pulumi.Input[]>; + elasticsearches?: pulumi.Input[]>; + gcms?: pulumi.Input[]>; + grafanaLokis?: pulumi.Input[]>; + graphites?: pulumi.Input[]>; + influxdbs?: pulumi.Input[]>; + instanas?: pulumi.Input[]>; + lightsteps?: pulumi.Input[]>; + newrelics?: pulumi.Input[]>; + opentsdbs?: pulumi.Input[]>; + pingdoms?: pulumi.Input[]>; + prometheuses?: pulumi.Input[]>; + redshifts?: pulumi.Input[]>; + splunkObservabilities?: pulumi.Input[]>; + splunks?: pulumi.Input[]>; + sumologics?: pulumi.Input[]>; + thousandeyes?: pulumi.Input[]>; +} + +export interface SloObjectiveCountMetricGoodAmazonPrometheus { + promql: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodAppdynamic { + applicationName: pulumi.Input; + metricPath: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodBigquery { + location: pulumi.Input; + projectId: pulumi.Input; + query: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodCloudwatch { + dimensions?: pulumi.Input[]>; + json?: pulumi.Input; + metricName?: pulumi.Input; + namespace?: pulumi.Input; + region: pulumi.Input; + sql?: pulumi.Input; + stat?: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodCloudwatchDimension { + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name: pulumi.Input; + value: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodDatadog { + query: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodDynatrace { + metricSelector: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodElasticsearch { + index: pulumi.Input; + query: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodGcm { + projectId: pulumi.Input; + query: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodGrafanaLoki { + logql: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodGraphite { + metricPath: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodInfluxdb { + query: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodInstana { + applications?: pulumi.Input[]>; + infrastructures?: pulumi.Input[]>; + metricType: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodInstanaApplication { + aggregation: pulumi.Input; + apiQuery: pulumi.Input; + groupBies: pulumi.Input[]>; + includeInternal?: pulumi.Input; + includeSynthetic?: pulumi.Input; + metricId: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodInstanaApplicationGroupBy { + tag: pulumi.Input; + tagEntity: pulumi.Input; + tagSecondLevelKey?: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodInstanaInfrastructure { + metricId: pulumi.Input; + metricRetrievalMethod: pulumi.Input; + pluginId: pulumi.Input; + query?: pulumi.Input; + snapshotId?: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodLightstep { + percentile?: pulumi.Input; + streamId?: pulumi.Input; + typeOfData: pulumi.Input; + uql?: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodNewrelic { + nrql: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodOpentsdb { + query: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodPingdom { + checkId: pulumi.Input; + checkType?: pulumi.Input; + status?: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodPrometheus { + promql: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodRedshift { + clusterId: pulumi.Input; + databaseName: pulumi.Input; + query: pulumi.Input; + region: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodSplunk { + query: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodSplunkObservability { + program: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodSumologic { + quantization?: pulumi.Input; + query: pulumi.Input; + rollup?: pulumi.Input; + type: pulumi.Input; +} + +export interface SloObjectiveCountMetricGoodThousandeye { + testId: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotal { + amazonPrometheuses?: pulumi.Input[]>; + appdynamics?: pulumi.Input[]>; + bigqueries?: pulumi.Input[]>; + cloudwatches?: pulumi.Input[]>; + datadogs?: pulumi.Input[]>; + dynatraces?: pulumi.Input[]>; + elasticsearches?: pulumi.Input[]>; + gcms?: pulumi.Input[]>; + grafanaLokis?: pulumi.Input[]>; + graphites?: pulumi.Input[]>; + influxdbs?: pulumi.Input[]>; + instanas?: pulumi.Input[]>; + lightsteps?: pulumi.Input[]>; + newrelics?: pulumi.Input[]>; + opentsdbs?: pulumi.Input[]>; + pingdoms?: pulumi.Input[]>; + prometheuses?: pulumi.Input[]>; + redshifts?: pulumi.Input[]>; + splunkObservabilities?: pulumi.Input[]>; + splunks?: pulumi.Input[]>; + sumologics?: pulumi.Input[]>; + thousandeyes?: pulumi.Input[]>; +} + +export interface SloObjectiveCountMetricTotalAmazonPrometheus { + promql: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalAppdynamic { + applicationName: pulumi.Input; + metricPath: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalBigquery { + location: pulumi.Input; + projectId: pulumi.Input; + query: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalCloudwatch { + dimensions?: pulumi.Input[]>; + json?: pulumi.Input; + metricName?: pulumi.Input; + namespace?: pulumi.Input; + region: pulumi.Input; + sql?: pulumi.Input; + stat?: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalCloudwatchDimension { + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name: pulumi.Input; + value: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalDatadog { + query: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalDynatrace { + metricSelector: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalElasticsearch { + index: pulumi.Input; + query: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalGcm { + projectId: pulumi.Input; + query: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalGrafanaLoki { + logql: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalGraphite { + metricPath: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalInfluxdb { + query: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalInstana { + applications?: pulumi.Input[]>; + infrastructures?: pulumi.Input[]>; + metricType: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalInstanaApplication { + aggregation: pulumi.Input; + apiQuery: pulumi.Input; + groupBies: pulumi.Input[]>; + includeInternal?: pulumi.Input; + includeSynthetic?: pulumi.Input; + metricId: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalInstanaApplicationGroupBy { + tag: pulumi.Input; + tagEntity: pulumi.Input; + tagSecondLevelKey?: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalInstanaInfrastructure { + metricId: pulumi.Input; + metricRetrievalMethod: pulumi.Input; + pluginId: pulumi.Input; + query?: pulumi.Input; + snapshotId?: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalLightstep { + percentile?: pulumi.Input; + streamId?: pulumi.Input; + typeOfData: pulumi.Input; + uql?: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalNewrelic { + nrql: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalOpentsdb { + query: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalPingdom { + checkId: pulumi.Input; + checkType?: pulumi.Input; + status?: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalPrometheus { + promql: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalRedshift { + clusterId: pulumi.Input; + databaseName: pulumi.Input; + query: pulumi.Input; + region: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalSplunk { + query: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalSplunkObservability { + program: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalSumologic { + quantization?: pulumi.Input; + query: pulumi.Input; + rollup?: pulumi.Input; + type: pulumi.Input; +} + +export interface SloObjectiveCountMetricTotalThousandeye { + testId: pulumi.Input; +} + +export interface SloObjectiveRawMetric { + queries?: pulumi.Input[]>; +} + +export interface SloObjectiveRawMetricQuery { + amazonPrometheuses?: pulumi.Input[]>; + appdynamics?: pulumi.Input[]>; + bigqueries?: pulumi.Input[]>; + cloudwatches?: pulumi.Input[]>; + datadogs?: pulumi.Input[]>; + dynatraces?: pulumi.Input[]>; + elasticsearches?: pulumi.Input[]>; + gcms?: pulumi.Input[]>; + grafanaLokis?: pulumi.Input[]>; + graphites?: pulumi.Input[]>; + influxdbs?: pulumi.Input[]>; + instanas?: pulumi.Input[]>; + lightsteps?: pulumi.Input[]>; + newrelics?: pulumi.Input[]>; + opentsdbs?: pulumi.Input[]>; + pingdoms?: pulumi.Input[]>; + prometheuses?: pulumi.Input[]>; + redshifts?: pulumi.Input[]>; + splunkObservabilities?: pulumi.Input[]>; + splunks?: pulumi.Input[]>; + sumologics?: pulumi.Input[]>; + thousandeyes?: pulumi.Input[]>; +} + +export interface SloObjectiveRawMetricQueryAmazonPrometheus { + promql: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryAppdynamic { + applicationName: pulumi.Input; + metricPath: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryBigquery { + location: pulumi.Input; + projectId: pulumi.Input; + query: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryCloudwatch { + dimensions?: pulumi.Input[]>; + json?: pulumi.Input; + metricName?: pulumi.Input; + namespace?: pulumi.Input; + region: pulumi.Input; + sql?: pulumi.Input; + stat?: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryCloudwatchDimension { + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name: pulumi.Input; + value: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryDatadog { + query: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryDynatrace { + metricSelector: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryElasticsearch { + index: pulumi.Input; + query: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryGcm { + projectId: pulumi.Input; + query: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryGrafanaLoki { + logql: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryGraphite { + metricPath: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryInfluxdb { + query: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryInstana { + applications?: pulumi.Input[]>; + infrastructures?: pulumi.Input[]>; + metricType: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryInstanaApplication { + aggregation: pulumi.Input; + apiQuery: pulumi.Input; + groupBies: pulumi.Input[]>; + includeInternal?: pulumi.Input; + includeSynthetic?: pulumi.Input; + metricId: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryInstanaApplicationGroupBy { + tag: pulumi.Input; + tagEntity: pulumi.Input; + tagSecondLevelKey?: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryInstanaInfrastructure { + metricId: pulumi.Input; + metricRetrievalMethod: pulumi.Input; + pluginId: pulumi.Input; + query?: pulumi.Input; + snapshotId?: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryLightstep { + percentile?: pulumi.Input; + streamId?: pulumi.Input; + typeOfData: pulumi.Input; + uql?: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryNewrelic { + nrql: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryOpentsdb { + query: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryPingdom { + checkId: pulumi.Input; + checkType?: pulumi.Input; + status?: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryPrometheus { + promql: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryRedshift { + clusterId: pulumi.Input; + databaseName: pulumi.Input; + query: pulumi.Input; + region: pulumi.Input; +} + +export interface SloObjectiveRawMetricQuerySplunk { + query: pulumi.Input; +} + +export interface SloObjectiveRawMetricQuerySplunkObservability { + program: pulumi.Input; +} + +export interface SloObjectiveRawMetricQuerySumologic { + quantization?: pulumi.Input; + query: pulumi.Input; + rollup?: pulumi.Input; + type: pulumi.Input; +} + +export interface SloObjectiveRawMetricQueryThousandeye { + testId: pulumi.Input; +} + +export interface SloTimeWindow { + /** + * Alert Policies attached to SLO + */ + calendars?: pulumi.Input[]>; + /** + * Count of the time unit + */ + count: pulumi.Input; + /** + * Is the window moving or not + */ + isRolling?: pulumi.Input; + /** + * Period between start time and added count + */ + period?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Unit of time + */ + unit: pulumi.Input; +} + +export interface SloTimeWindowCalendar { + startTime: pulumi.Input; + timeZone: pulumi.Input; +} + diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts new file mode 100644 index 0000000..d3c1f09 --- /dev/null +++ b/sdk/nodejs/types/output.ts @@ -0,0 +1,1139 @@ +// *** 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 { input as inputs, output as outputs } from "../types"; + +export interface AgentAmazonPrometheusConfig { + /** + * AWS region e.g., eu-central-1 + */ + region: string; + /** + * Base URL to Amazon Prometheus server. + */ + url: string; +} + +export interface AgentAppdynamicsConfig { + /** + * Base URL to the AppDynamics Controller. + */ + url: string; +} + +export interface AgentBigqueryConfig { +} + +export interface AgentCloudwatchConfig { +} + +export interface AgentDatadogConfig { + /** + * `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union) + */ + site: string; +} + +export interface AgentDynatraceConfig { + /** + * Dynatrace API URL. + */ + url: string; +} + +export interface AgentElasticsearchConfig { + /** + * API URL endpoint to the Elasticsearch's instance. + */ + url: string; +} + +export interface AgentGcmConfig { +} + +export interface AgentGrafanaLokiConfig { + /** + * API URL endpoint to the Grafana Loki instance. + */ + url: string; +} + +export interface AgentGraphiteConfig { + /** + * API URL endpoint to the Graphite's instance. + */ + url: string; +} + +export interface AgentInfluxdbConfig { + /** + * API URL endpoint to the InfluxDB's instance. + */ + url: string; +} + +export interface AgentInstanaConfig { + /** + * API URL endpoint to the InfluxDB's instance. + */ + url: string; +} + +export interface AgentLightstepConfig { + /** + * Organization name registered in Lightstep. + */ + organization: string; + /** + * Name of the Lightstep project. + */ + project: string; +} + +export interface AgentNewrelicConfig { + /** + * ID number assigned to the New Relic user account. + */ + accountId: string; +} + +export interface AgentOpentsdbConfig { + /** + * OpenTSDB cluster URL. + */ + url: string; +} + +export interface AgentPingdomConfig { +} + +export interface AgentPrometheusConfig { + /** + * Base URL to Prometheus server. + */ + url: string; +} + +export interface AgentQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface AgentRedshiftConfig { +} + +export interface AgentSplunkConfig { + /** + * Base API URL to the Splunk Search app. + */ + url: string; +} + +export interface AgentSplunkObservabilityConfig { + /** + * SplunkObservability Realm. + */ + realm: string; +} + +export interface AgentSumologicConfig { + /** + * Sumo Logic API URL. + */ + url: string; +} + +export interface AgentThousandeyesConfig { +} + +export interface AlertPolicyAlertMethod { + /** + * The name of the previously defined alert method. + */ + name: string; + /** + * Project name the Alert Method is in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). If not defined, Nobl9 returns a default value for this field. + */ + project?: string; +} + +export interface AlertPolicyCondition { + /** + * Indicates how long a given condition needs to be valid to mark the condition as true. + */ + lastsFor?: string; + /** + * One of `timeToBurnBudget` | `burnRate` | `burnedBudget`. + */ + measurement: string; + /** + * For `averageBurnRate`, it indicates how fast the error budget is burning. For `burnedBudget`, it tells how much error budget is already burned. + */ + value?: number; + /** + * Used with `timeToBurnBudget`, indicates when the budget would be exhausted. The expected value is a string in time duration string format. + */ + valueString?: string; +} + +export interface DirectAppdynamicsQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface DirectBigqueryQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface DirectCloudwatchHistoricalDataRetrieval { + /** + * Used by default for any SLOs connected to this data source. + */ + defaultDurations: outputs.DirectCloudwatchHistoricalDataRetrievalDefaultDuration[]; + /** + * Defines the maximum period for which data can be retrieved. + */ + maxDurations: outputs.DirectCloudwatchHistoricalDataRetrievalMaxDuration[]; +} + +export interface DirectCloudwatchHistoricalDataRetrievalDefaultDuration { + unit: string; + value: number; +} + +export interface DirectCloudwatchHistoricalDataRetrievalMaxDuration { + unit: string; + value: number; +} + +export interface DirectCloudwatchQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface DirectDatadogHistoricalDataRetrieval { + /** + * Used by default for any SLOs connected to this data source. + */ + defaultDurations: outputs.DirectDatadogHistoricalDataRetrievalDefaultDuration[]; + /** + * Defines the maximum period for which data can be retrieved. + */ + maxDurations: outputs.DirectDatadogHistoricalDataRetrievalMaxDuration[]; +} + +export interface DirectDatadogHistoricalDataRetrievalDefaultDuration { + unit: string; + value: number; +} + +export interface DirectDatadogHistoricalDataRetrievalMaxDuration { + unit: string; + value: number; +} + +export interface DirectDatadogQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface DirectDynatraceHistoricalDataRetrieval { + /** + * Used by default for any SLOs connected to this data source. + */ + defaultDurations: outputs.DirectDynatraceHistoricalDataRetrievalDefaultDuration[]; + /** + * Defines the maximum period for which data can be retrieved. + */ + maxDurations: outputs.DirectDynatraceHistoricalDataRetrievalMaxDuration[]; +} + +export interface DirectDynatraceHistoricalDataRetrievalDefaultDuration { + unit: string; + value: number; +} + +export interface DirectDynatraceHistoricalDataRetrievalMaxDuration { + unit: string; + value: number; +} + +export interface DirectDynatraceQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface DirectGcmQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface DirectInfluxdbQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface DirectInstanaQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface DirectLightstepHistoricalDataRetrieval { + /** + * Used by default for any SLOs connected to this data source. + */ + defaultDurations: outputs.DirectLightstepHistoricalDataRetrievalDefaultDuration[]; + /** + * Defines the maximum period for which data can be retrieved. + */ + maxDurations: outputs.DirectLightstepHistoricalDataRetrievalMaxDuration[]; +} + +export interface DirectLightstepHistoricalDataRetrievalDefaultDuration { + unit: string; + value: number; +} + +export interface DirectLightstepHistoricalDataRetrievalMaxDuration { + unit: string; + value: number; +} + +export interface DirectLightstepQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface DirectNewrelicHistoricalDataRetrieval { + /** + * Used by default for any SLOs connected to this data source. + */ + defaultDurations: outputs.DirectNewrelicHistoricalDataRetrievalDefaultDuration[]; + /** + * Defines the maximum period for which data can be retrieved. + */ + maxDurations: outputs.DirectNewrelicHistoricalDataRetrievalMaxDuration[]; +} + +export interface DirectNewrelicHistoricalDataRetrievalDefaultDuration { + unit: string; + value: number; +} + +export interface DirectNewrelicHistoricalDataRetrievalMaxDuration { + unit: string; + value: number; +} + +export interface DirectNewrelicQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface DirectPingdomQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface DirectRedshiftQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface DirectSplunkHistoricalDataRetrieval { + /** + * Used by default for any SLOs connected to this data source. + */ + defaultDurations: outputs.DirectSplunkHistoricalDataRetrievalDefaultDuration[]; + /** + * Defines the maximum period for which data can be retrieved. + */ + maxDurations: outputs.DirectSplunkHistoricalDataRetrievalMaxDuration[]; +} + +export interface DirectSplunkHistoricalDataRetrievalDefaultDuration { + unit: string; + value: number; +} + +export interface DirectSplunkHistoricalDataRetrievalMaxDuration { + unit: string; + value: number; +} + +export interface DirectSplunkObservabilityQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface DirectSplunkQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface DirectSumologicQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface DirectThousandeyesQueryDelay { + /** + * Must be one of Minute or Second. + */ + unit: string; + /** + * Must be an integer greater than or equal to 0. + */ + value: number; +} + +export interface ProjectLabel { + /** + * A key for the label, unique within the associated resource. + */ + key: string; + /** + * A list of unique values for a single key. + */ + values: string[]; +} + +export interface ServiceLabel { + /** + * A key for the label, unique within the associated resource. + */ + key: string; + /** + * A list of unique values for a single key. + */ + values: string[]; +} + +export interface SloAttachment { + /** + * Name displayed for the attachment. Max. length: 63 characters. + */ + displayName?: string; + /** + * URL to the attachment + */ + url: string; +} + +export interface SloComposite { + /** + * Condition when the Composite SLO’s error budget is burning. + */ + burnRateConditions?: outputs.SloCompositeBurnRateCondition[]; + /** + * Designated value + */ + target: number; +} + +export interface SloCompositeBurnRateCondition { + op: string; + value: number; +} + +export interface SloIndicator { + /** + * Kind of the metric source. One of {Agent, Direct}. + */ + kind?: string; + /** + * Name of the metric source (agent). + */ + name: string; + /** + * Name of the metric source project. + */ + project?: string; +} + +export interface SloLabel { + /** + * A key for the label, unique within the associated resource. + */ + key: string; + /** + * A list of unique values for a single key. + */ + values: string[]; +} + +export interface SloObjective { + /** + * Compares two time series, indicating the ratio of the count of good values to total values. + */ + countMetrics?: outputs.SloObjectiveCountMetric[]; + /** + * Name to be displayed + */ + displayName: string; + /** + * Objective's name. This field is computed if not provided. + */ + name: string; + /** + * Type of logical operation + */ + op?: string; + /** + * Raw data is used to compare objective values. + */ + rawMetrics?: outputs.SloObjectiveRawMetric[]; + /** + * Designated value + */ + target: number; + /** + * Designated value for slice + */ + timeSliceTarget?: number; + /** + * Value + */ + value: number; +} + +export interface SloObjectiveCountMetric { + goods?: outputs.SloObjectiveCountMetricGood[]; + incremental: boolean; + totals?: outputs.SloObjectiveCountMetricTotal[]; +} + +export interface SloObjectiveCountMetricGood { + amazonPrometheuses?: outputs.SloObjectiveCountMetricGoodAmazonPrometheus[]; + appdynamics?: outputs.SloObjectiveCountMetricGoodAppdynamic[]; + bigqueries?: outputs.SloObjectiveCountMetricGoodBigquery[]; + cloudwatches?: outputs.SloObjectiveCountMetricGoodCloudwatch[]; + datadogs?: outputs.SloObjectiveCountMetricGoodDatadog[]; + dynatraces?: outputs.SloObjectiveCountMetricGoodDynatrace[]; + elasticsearches?: outputs.SloObjectiveCountMetricGoodElasticsearch[]; + gcms?: outputs.SloObjectiveCountMetricGoodGcm[]; + grafanaLokis?: outputs.SloObjectiveCountMetricGoodGrafanaLoki[]; + graphites?: outputs.SloObjectiveCountMetricGoodGraphite[]; + influxdbs?: outputs.SloObjectiveCountMetricGoodInfluxdb[]; + instanas?: outputs.SloObjectiveCountMetricGoodInstana[]; + lightsteps?: outputs.SloObjectiveCountMetricGoodLightstep[]; + newrelics?: outputs.SloObjectiveCountMetricGoodNewrelic[]; + opentsdbs?: outputs.SloObjectiveCountMetricGoodOpentsdb[]; + pingdoms?: outputs.SloObjectiveCountMetricGoodPingdom[]; + prometheuses?: outputs.SloObjectiveCountMetricGoodPrometheus[]; + redshifts?: outputs.SloObjectiveCountMetricGoodRedshift[]; + splunkObservabilities?: outputs.SloObjectiveCountMetricGoodSplunkObservability[]; + splunks?: outputs.SloObjectiveCountMetricGoodSplunk[]; + sumologics?: outputs.SloObjectiveCountMetricGoodSumologic[]; + thousandeyes?: outputs.SloObjectiveCountMetricGoodThousandeye[]; +} + +export interface SloObjectiveCountMetricGoodAmazonPrometheus { + promql: string; +} + +export interface SloObjectiveCountMetricGoodAppdynamic { + applicationName: string; + metricPath: string; +} + +export interface SloObjectiveCountMetricGoodBigquery { + location: string; + projectId: string; + query: string; +} + +export interface SloObjectiveCountMetricGoodCloudwatch { + dimensions?: outputs.SloObjectiveCountMetricGoodCloudwatchDimension[]; + json?: string; + metricName?: string; + namespace?: string; + region: string; + sql?: string; + stat?: string; +} + +export interface SloObjectiveCountMetricGoodCloudwatchDimension { + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name: string; + value: string; +} + +export interface SloObjectiveCountMetricGoodDatadog { + query: string; +} + +export interface SloObjectiveCountMetricGoodDynatrace { + metricSelector: string; +} + +export interface SloObjectiveCountMetricGoodElasticsearch { + index: string; + query: string; +} + +export interface SloObjectiveCountMetricGoodGcm { + projectId: string; + query: string; +} + +export interface SloObjectiveCountMetricGoodGrafanaLoki { + logql: string; +} + +export interface SloObjectiveCountMetricGoodGraphite { + metricPath: string; +} + +export interface SloObjectiveCountMetricGoodInfluxdb { + query: string; +} + +export interface SloObjectiveCountMetricGoodInstana { + applications?: outputs.SloObjectiveCountMetricGoodInstanaApplication[]; + infrastructures?: outputs.SloObjectiveCountMetricGoodInstanaInfrastructure[]; + metricType: string; +} + +export interface SloObjectiveCountMetricGoodInstanaApplication { + aggregation: string; + apiQuery: string; + groupBies: outputs.SloObjectiveCountMetricGoodInstanaApplicationGroupBy[]; + includeInternal?: boolean; + includeSynthetic?: boolean; + metricId: string; +} + +export interface SloObjectiveCountMetricGoodInstanaApplicationGroupBy { + tag: string; + tagEntity: string; + tagSecondLevelKey?: string; +} + +export interface SloObjectiveCountMetricGoodInstanaInfrastructure { + metricId: string; + metricRetrievalMethod: string; + pluginId: string; + query?: string; + snapshotId?: string; +} + +export interface SloObjectiveCountMetricGoodLightstep { + percentile?: number; + streamId?: string; + typeOfData: string; + uql?: string; +} + +export interface SloObjectiveCountMetricGoodNewrelic { + nrql: string; +} + +export interface SloObjectiveCountMetricGoodOpentsdb { + query: string; +} + +export interface SloObjectiveCountMetricGoodPingdom { + checkId: string; + checkType?: string; + status?: string; +} + +export interface SloObjectiveCountMetricGoodPrometheus { + promql: string; +} + +export interface SloObjectiveCountMetricGoodRedshift { + clusterId: string; + databaseName: string; + query: string; + region: string; +} + +export interface SloObjectiveCountMetricGoodSplunk { + query: string; +} + +export interface SloObjectiveCountMetricGoodSplunkObservability { + program: string; +} + +export interface SloObjectiveCountMetricGoodSumologic { + quantization?: string; + query: string; + rollup?: string; + type: string; +} + +export interface SloObjectiveCountMetricGoodThousandeye { + testId: number; +} + +export interface SloObjectiveCountMetricTotal { + amazonPrometheuses?: outputs.SloObjectiveCountMetricTotalAmazonPrometheus[]; + appdynamics?: outputs.SloObjectiveCountMetricTotalAppdynamic[]; + bigqueries?: outputs.SloObjectiveCountMetricTotalBigquery[]; + cloudwatches?: outputs.SloObjectiveCountMetricTotalCloudwatch[]; + datadogs?: outputs.SloObjectiveCountMetricTotalDatadog[]; + dynatraces?: outputs.SloObjectiveCountMetricTotalDynatrace[]; + elasticsearches?: outputs.SloObjectiveCountMetricTotalElasticsearch[]; + gcms?: outputs.SloObjectiveCountMetricTotalGcm[]; + grafanaLokis?: outputs.SloObjectiveCountMetricTotalGrafanaLoki[]; + graphites?: outputs.SloObjectiveCountMetricTotalGraphite[]; + influxdbs?: outputs.SloObjectiveCountMetricTotalInfluxdb[]; + instanas?: outputs.SloObjectiveCountMetricTotalInstana[]; + lightsteps?: outputs.SloObjectiveCountMetricTotalLightstep[]; + newrelics?: outputs.SloObjectiveCountMetricTotalNewrelic[]; + opentsdbs?: outputs.SloObjectiveCountMetricTotalOpentsdb[]; + pingdoms?: outputs.SloObjectiveCountMetricTotalPingdom[]; + prometheuses?: outputs.SloObjectiveCountMetricTotalPrometheus[]; + redshifts?: outputs.SloObjectiveCountMetricTotalRedshift[]; + splunkObservabilities?: outputs.SloObjectiveCountMetricTotalSplunkObservability[]; + splunks?: outputs.SloObjectiveCountMetricTotalSplunk[]; + sumologics?: outputs.SloObjectiveCountMetricTotalSumologic[]; + thousandeyes?: outputs.SloObjectiveCountMetricTotalThousandeye[]; +} + +export interface SloObjectiveCountMetricTotalAmazonPrometheus { + promql: string; +} + +export interface SloObjectiveCountMetricTotalAppdynamic { + applicationName: string; + metricPath: string; +} + +export interface SloObjectiveCountMetricTotalBigquery { + location: string; + projectId: string; + query: string; +} + +export interface SloObjectiveCountMetricTotalCloudwatch { + dimensions?: outputs.SloObjectiveCountMetricTotalCloudwatchDimension[]; + json?: string; + metricName?: string; + namespace?: string; + region: string; + sql?: string; + stat?: string; +} + +export interface SloObjectiveCountMetricTotalCloudwatchDimension { + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name: string; + value: string; +} + +export interface SloObjectiveCountMetricTotalDatadog { + query: string; +} + +export interface SloObjectiveCountMetricTotalDynatrace { + metricSelector: string; +} + +export interface SloObjectiveCountMetricTotalElasticsearch { + index: string; + query: string; +} + +export interface SloObjectiveCountMetricTotalGcm { + projectId: string; + query: string; +} + +export interface SloObjectiveCountMetricTotalGrafanaLoki { + logql: string; +} + +export interface SloObjectiveCountMetricTotalGraphite { + metricPath: string; +} + +export interface SloObjectiveCountMetricTotalInfluxdb { + query: string; +} + +export interface SloObjectiveCountMetricTotalInstana { + applications?: outputs.SloObjectiveCountMetricTotalInstanaApplication[]; + infrastructures?: outputs.SloObjectiveCountMetricTotalInstanaInfrastructure[]; + metricType: string; +} + +export interface SloObjectiveCountMetricTotalInstanaApplication { + aggregation: string; + apiQuery: string; + groupBies: outputs.SloObjectiveCountMetricTotalInstanaApplicationGroupBy[]; + includeInternal?: boolean; + includeSynthetic?: boolean; + metricId: string; +} + +export interface SloObjectiveCountMetricTotalInstanaApplicationGroupBy { + tag: string; + tagEntity: string; + tagSecondLevelKey?: string; +} + +export interface SloObjectiveCountMetricTotalInstanaInfrastructure { + metricId: string; + metricRetrievalMethod: string; + pluginId: string; + query?: string; + snapshotId?: string; +} + +export interface SloObjectiveCountMetricTotalLightstep { + percentile?: number; + streamId?: string; + typeOfData: string; + uql?: string; +} + +export interface SloObjectiveCountMetricTotalNewrelic { + nrql: string; +} + +export interface SloObjectiveCountMetricTotalOpentsdb { + query: string; +} + +export interface SloObjectiveCountMetricTotalPingdom { + checkId: string; + checkType?: string; + status?: string; +} + +export interface SloObjectiveCountMetricTotalPrometheus { + promql: string; +} + +export interface SloObjectiveCountMetricTotalRedshift { + clusterId: string; + databaseName: string; + query: string; + region: string; +} + +export interface SloObjectiveCountMetricTotalSplunk { + query: string; +} + +export interface SloObjectiveCountMetricTotalSplunkObservability { + program: string; +} + +export interface SloObjectiveCountMetricTotalSumologic { + quantization?: string; + query: string; + rollup?: string; + type: string; +} + +export interface SloObjectiveCountMetricTotalThousandeye { + testId: number; +} + +export interface SloObjectiveRawMetric { + queries?: outputs.SloObjectiveRawMetricQuery[]; +} + +export interface SloObjectiveRawMetricQuery { + amazonPrometheuses?: outputs.SloObjectiveRawMetricQueryAmazonPrometheus[]; + appdynamics?: outputs.SloObjectiveRawMetricQueryAppdynamic[]; + bigqueries?: outputs.SloObjectiveRawMetricQueryBigquery[]; + cloudwatches?: outputs.SloObjectiveRawMetricQueryCloudwatch[]; + datadogs?: outputs.SloObjectiveRawMetricQueryDatadog[]; + dynatraces?: outputs.SloObjectiveRawMetricQueryDynatrace[]; + elasticsearches?: outputs.SloObjectiveRawMetricQueryElasticsearch[]; + gcms?: outputs.SloObjectiveRawMetricQueryGcm[]; + grafanaLokis?: outputs.SloObjectiveRawMetricQueryGrafanaLoki[]; + graphites?: outputs.SloObjectiveRawMetricQueryGraphite[]; + influxdbs?: outputs.SloObjectiveRawMetricQueryInfluxdb[]; + instanas?: outputs.SloObjectiveRawMetricQueryInstana[]; + lightsteps?: outputs.SloObjectiveRawMetricQueryLightstep[]; + newrelics?: outputs.SloObjectiveRawMetricQueryNewrelic[]; + opentsdbs?: outputs.SloObjectiveRawMetricQueryOpentsdb[]; + pingdoms?: outputs.SloObjectiveRawMetricQueryPingdom[]; + prometheuses?: outputs.SloObjectiveRawMetricQueryPrometheus[]; + redshifts?: outputs.SloObjectiveRawMetricQueryRedshift[]; + splunkObservabilities?: outputs.SloObjectiveRawMetricQuerySplunkObservability[]; + splunks?: outputs.SloObjectiveRawMetricQuerySplunk[]; + sumologics?: outputs.SloObjectiveRawMetricQuerySumologic[]; + thousandeyes?: outputs.SloObjectiveRawMetricQueryThousandeye[]; +} + +export interface SloObjectiveRawMetricQueryAmazonPrometheus { + promql: string; +} + +export interface SloObjectiveRawMetricQueryAppdynamic { + applicationName: string; + metricPath: string; +} + +export interface SloObjectiveRawMetricQueryBigquery { + location: string; + projectId: string; + query: string; +} + +export interface SloObjectiveRawMetricQueryCloudwatch { + dimensions?: outputs.SloObjectiveRawMetricQueryCloudwatchDimension[]; + json?: string; + metricName?: string; + namespace?: string; + region: string; + sql?: string; + stat?: string; +} + +export interface SloObjectiveRawMetricQueryCloudwatchDimension { + /** + * Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + */ + name: string; + value: string; +} + +export interface SloObjectiveRawMetricQueryDatadog { + query: string; +} + +export interface SloObjectiveRawMetricQueryDynatrace { + metricSelector: string; +} + +export interface SloObjectiveRawMetricQueryElasticsearch { + index: string; + query: string; +} + +export interface SloObjectiveRawMetricQueryGcm { + projectId: string; + query: string; +} + +export interface SloObjectiveRawMetricQueryGrafanaLoki { + logql: string; +} + +export interface SloObjectiveRawMetricQueryGraphite { + metricPath: string; +} + +export interface SloObjectiveRawMetricQueryInfluxdb { + query: string; +} + +export interface SloObjectiveRawMetricQueryInstana { + applications?: outputs.SloObjectiveRawMetricQueryInstanaApplication[]; + infrastructures?: outputs.SloObjectiveRawMetricQueryInstanaInfrastructure[]; + metricType: string; +} + +export interface SloObjectiveRawMetricQueryInstanaApplication { + aggregation: string; + apiQuery: string; + groupBies: outputs.SloObjectiveRawMetricQueryInstanaApplicationGroupBy[]; + includeInternal?: boolean; + includeSynthetic?: boolean; + metricId: string; +} + +export interface SloObjectiveRawMetricQueryInstanaApplicationGroupBy { + tag: string; + tagEntity: string; + tagSecondLevelKey?: string; +} + +export interface SloObjectiveRawMetricQueryInstanaInfrastructure { + metricId: string; + metricRetrievalMethod: string; + pluginId: string; + query?: string; + snapshotId?: string; +} + +export interface SloObjectiveRawMetricQueryLightstep { + percentile?: number; + streamId?: string; + typeOfData: string; + uql?: string; +} + +export interface SloObjectiveRawMetricQueryNewrelic { + nrql: string; +} + +export interface SloObjectiveRawMetricQueryOpentsdb { + query: string; +} + +export interface SloObjectiveRawMetricQueryPingdom { + checkId: string; + checkType?: string; + status?: string; +} + +export interface SloObjectiveRawMetricQueryPrometheus { + promql: string; +} + +export interface SloObjectiveRawMetricQueryRedshift { + clusterId: string; + databaseName: string; + query: string; + region: string; +} + +export interface SloObjectiveRawMetricQuerySplunk { + query: string; +} + +export interface SloObjectiveRawMetricQuerySplunkObservability { + program: string; +} + +export interface SloObjectiveRawMetricQuerySumologic { + quantization?: string; + query: string; + rollup?: string; + type: string; +} + +export interface SloObjectiveRawMetricQueryThousandeye { + testId: number; +} + +export interface SloTimeWindow { + /** + * Alert Policies attached to SLO + */ + calendars?: outputs.SloTimeWindowCalendar[]; + /** + * Count of the time unit + */ + count: number; + /** + * Is the window moving or not + */ + isRolling?: boolean; + /** + * Period between start time and added count + */ + period: {[key: string]: string}; + /** + * Unit of time + */ + unit: string; +} + +export interface SloTimeWindowCalendar { + startTime: string; + timeZone: string; +} + diff --git a/sdk/nodejs/utilities.ts b/sdk/nodejs/utilities.ts new file mode 100644 index 0000000..785c19c --- /dev/null +++ b/sdk/nodejs/utilities.ts @@ -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! *** + + +export function getEnv(...vars: string[]): string | undefined { + for (const v of vars) { + const value = process.env[v]; + if (value) { + return value; + } + } + return undefined; +} + +export function getEnvBoolean(...vars: string[]): boolean | undefined { + const s = getEnv(...vars); + if (s !== undefined) { + // NOTE: these values are taken from https://golang.org/src/strconv/atob.go?s=351:391#L1, which is what + // Terraform uses internally when parsing boolean values. + if (["1", "t", "T", "true", "TRUE", "True"].find(v => v === s) !== undefined) { + return true; + } + if (["0", "f", "F", "false", "FALSE", "False"].find(v => v === s) !== undefined) { + return false; + } + } + return undefined; +} + +export function getEnvNumber(...vars: string[]): number | undefined { + const s = getEnv(...vars); + if (s !== undefined) { + const f = parseFloat(s); + if (!isNaN(f)) { + return f; + } + } + return undefined; +} + +export function getVersion(): string { + let version = require('./package.json').version; + // Node allows for the version to be prefixed by a "v", while semver doesn't. + // If there is a v, strip it off. + if (version.indexOf('v') === 0) { + version = version.slice(1); + } + return version; +} + +/** @internal */ +export function resourceOptsDefaults(): any { + return { version: getVersion(), pluginDownloadURL: "https://github.com/piclemx/pulumi-nobl9/releases/" }; +} diff --git a/sdk/python/Pulumi.yaml b/sdk/python/Pulumi.yaml new file mode 100644 index 0000000..e69de29 diff --git a/sdk/python/README.md b/sdk/python/README.md new file mode 100644 index 0000000..0dc21b1 --- /dev/null +++ b/sdk/python/README.md @@ -0,0 +1,458 @@ +# Terraform Bridge Provider Boilerplate + +This repository contains boilerplate code for building a new Pulumi provider which wraps an existing Terraform provider. + +## Background + +This repository is part of the [guide for authoring and publishing a Pulumi Package](https://www.pulumi.com/docs/guides/pulumi-packages/how-to-author). + +Learn about the concepts behind [Pulumi Packages](https://www.pulumi.com/docs/guides/pulumi-packages/#pulumi-packages). + +## Creating a Pulumi Terraform Bridge Provider + +The following instructions cover: + +- providers maintained by Pulumi (denoted with a "Pulumi Official" checkmark on the Pulumi registry) +- providers published and maintained by the Pulumi community, referred to as "third-party" providers + +We showcase a Pulumi-owned provider based on an upstream provider named `terraform-provider-foo`. Substitute appropriate values below for your use case. + +> Note: If the name of the desired Pulumi provider differs from the name of the Terraform provider, you will need to carefully distinguish between the references - see for an example. + +### Prerequisites + +Ensure the following tools are installed and present in your `$PATH`: + +- [`pulumictl`](https://github.com/pulumi/pulumictl#installation) +- [Go 1.17](https://golang.org/dl/) or 1.latest +- [NodeJS](https://nodejs.org/en/) 14.x. We recommend using [nvm](https://github.com/nvm-sh/nvm) to manage NodeJS installations. +- [Yarn](https://yarnpkg.com/) +- [TypeScript](https://www.typescriptlang.org/) +- [Python](https://www.python.org/downloads/) (called as `python3`). For recent versions of MacOS, the system-installed version is fine. +- [.NET](https://dotnet.microsoft.com/download) + +### Creating and Initializing the Repository + +Pulumi offers this repository as a [GitHub template repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template) for convenience. From this repository: + +1. Click "Use this template". +1. Set the following options: + - Owner: pulumi (third-party: your GitHub organization/username) + - Repository name: pulumi-foo (third-party: preface your repo name with "pulumi" as standard practice) + - Description: Pulumi provider for Foo + - Repository type: Public +1. Clone the generated repository. + +From the templated repository: + +1. Run the following command to update files to use the name of your provider (third-party: use your GitHub organization/username): + + ```bash + make prepare NAME=foo REPOSITORY=github.com/pulumi/pulumi-foo + ``` + + This will do the following: + - rename folders in `provider/cmd` to `pulumi-resource-foo` and `pulumi-tfgen-foo` + - replace dependencies in `provider/go.mod` to reflect your repository name + - find and replace all instances of the boilerplate `nobl9` with the `NAME` of your provider. + + Note for third-party providers: + - Make sure to set the correct GitHub organization/username in all files referencing your provider as a dependency: + - `examples/go.mod` + - `provider/resources.go` + - `sdk/go.mod` + - `provider/cmd/pulumi-resource-foo/main.go` + - `provider/cmd/pulumi-tfgen-foo/main.go` + +2. Modify `README-PROVIDER.md` to include the following (we'll rename it to `README.md` toward the end of this guide): + - Any desired build status badges. + - An introductory paragraph describing the type of resources the provider manages, e.g. "The Foo provider for Pulumi manages resources for [Foo](http://example.com/). + - In the "Installing" section, correct package names for the various SDK libraries in the languages Pulumi supports. + - In the "Configuration" section, any configurable options for the provider. These may include, but are not limited to, environment variables or options that can be set via [`pulumi config set`](https://www.pulumi.com/docs/reference/cli/pulumi_config_set/). + - In the "Reference" section, provide a link to the to-be-published documentation. + - Feel free to refer to [the Pulumi AWS provider README](https://github.com/pulumi/pulumi-aws) as an example. + +### Composing the Provider Code - Prerequisites + +Pulumi provider repositories have the following general structure: + +- `examples/` contains sample code which may optionally be included as integration tests to be run as part of a CI/CD pipeline. +- `provider/` contains the Go code used to create the provider as well as generate the SDKs in the various languages that Pulumi supports. + - `provider/cmd/pulumi-tfgen-foo` generates the Pulumi resource schema (`schema.json`), based on the Terraform provider's resources. + - `provider/cmd/pulumi-resource-foo` generates the SDKs in all supported languages from the schema, placing them in the `sdk/` folder. + - `provider/pkg/resources.go` is the location where we will define the Terraform-to-Pulumi mappings for resources. +- `sdk/` contains the generated SDK code for each of the language platforms that Pulumi supports, with each supported platform in a separate subfolder. + +1. In `provider/go.mod`, add a reference to the upstream Terraform provider in the `require` section, e.g. + + ```go + github.com/foo/terraform-provider-foo v0.4.0 + ``` + +1. In `provider/resources.go`, ensure the reference in the `import` section uses the correct Go module path, e.g.: + + ```go + github.com/foo/terraform-provider-foo/foo + ``` + +1. Download the dependencies: + + ```bash + cd provider && go mod tidy && cd - + ``` + +1. Create the schema by running the following command: + + ```bash + make tfgen + ``` + + Note warnings about unmapped resources and data sources in the command's output. We map these in the next section, e.g.: + + ```text + warning: resource foo_something not found in provider map; skipping + warning: resource foo_something_else not found in provider map; skipping + warning: data source foo_something not found in provider map; skipping + warning: data source foo_something_else not found in provider map; skipping + ``` + +## Adding Mappings, Building the Provider and SDKs + +In this section we will add the mappings that allow the interoperation between the Pulumi provider and the Terraform provider. Terraform resources map to an identically named concept in Pulumi. Terraform data sources map to plain old functions in your supported programming language of choice. Pulumi also allows provider functions and resources to be grouped into _namespaces_ to improve the cohesion of a provider's code, thereby making it easier for developers to use. If your provider has a large number of resources, consider using namespaces to improve usability. + +The following instructions all pertain to `provider/resources.go`, in the section of the code where we construct a `tfbridge.ProviderInfo` object: + +1. **Add resource mappings:** For each resource in the provider, add an entry in the `Resources` property of the `tfbridge.ProviderInfo`, e.g.: + + ```go + // Most providers will have all resources (and data sources) in the main module. + // Note the mapping from snake_case HCL naming conventions to UpperCamelCase Pulumi SDK naming conventions. + // The name of the provider is omitted from the mapped name due to the presence of namespaces in all supported Pulumi languages. + "foo_something": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Something")}, + "foo_something_else": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "SomethingElse")}, + ``` + +1. **Add CSharpName (if necessary):** Dotnet does not allow for fields named the same as the enclosing type, which sometimes results in errors during the dotnet SDK build. + If you see something like + + ```text + error CS0542: 'ApiKey': member names cannot be the same as their enclosing type [/Users/guin/go/src/github.com/pulumi/pulumi-artifactory/sdk/dotnet/Pulumi.Artifactory.csproj] + ``` + + you'll want to give your Resource a CSharpName, which can have any value that makes sense: + + ```go + "foo_something_dotnet": { + Tok: tfbridge.MakeResource(mainPkg, mainMod, "SomethingDotnet"), + Fields: map[string]*tfbridge.SchemaInfo{ + "something_dotnet": { + CSharpName: "SpecialName", + }, + }, + }, + ``` + + [See the underlying terraform-bridge code here.](https://github.com/pulumi/pulumi-terraform-bridge/blob/master/pkg/tfbridge/info.go#L168) +1. **Add data source mappings:** For each data source in the provider, add an entry in the `DataSources` property of the `tfbridge.ProviderInfo`, e.g.: + + ```go + // Note the 'get' prefix for data sources + "foo_something": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getSomething")}, + "foo_something_else": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getSomethingElse")}, + ``` + +1. **Add documentation mapping (sometimes needed):** If the upstream provider's repo is not a part of the `terraform-providers` GitHub organization, specify the `GitHubOrg` property of `tfbridge.ProviderInfo` to ensure that documentation is picked up by the codegen process, and that attribution for the upstream provider is correct, e.g.: + + ```go + GitHubOrg: "foo", + ``` + +1. **Add provider configuration overrides (not typically needed):** Pulumi's Terraform bridge automatically detects configuration options for the upstream provider. However, in rare cases these settings may need to be overridden, e.g. if we want to change an environment variable default from `API_KEY` to `FOO_API_KEY`. Examples of common uses cases: + + ```go + "additional_required_parameter": {}, + "additional_optional_string_parameter": { + Default: &tfbridge.DefaultInfo{ + Value: "default_value", + }, + "additional_optional_boolean_parameter": { + Default: &tfbridge.DefaultInfo{ + Value: true, + }, + // Renamed environment variables can be accounted for like so: + "apikey": { + Default: &tfbridge.DefaultInfo{ + EnvVars: []string{"FOO_API_KEY"}, + }, + ``` + +1. Build the provider binary and ensure there are no warnings about unmapped resources and no warnings about unmapped data sources: + + ```bash + make provider + ``` + + You may see warnings about documentation and examples, including "unexpected code snippets". These can be safely ignored for now. Pulumi will add additional documentation on mapping docs in a future revision of this guide. + +1. Build the SDKs in the various languages Pulumi supports: + + ```bash + make build_sdks + ``` + +1. Ensure the Golang SDK is a proper go module: + + ```bash + cd sdk && go mod tidy && cd - + ``` + + This will pull in the correct dependencies in `sdk/go.mod` as well as setting the dependency tree in `sdk/go.sum`. + +1. Finally, ensure the provider code conforms to Go standards: + + ```bash + make lint_provider + ``` + + Fix any issues found by the linter. + +**Note:** If you make revisions to code in `resources.go`, you must re-run the `make tfgen` target to regenerate the schema. +The `make tfgen` target will take the file `schema.json` and serialize it to a byte array so that it can be included in the build output. +(This is a holdover from Go 1.16, which does not have the ability to directly embed text files. We are working on removing the need for this step.) + +## Sample Program + +In this section, we will create a Pulumi program in TypeScript that utilizes the provider we created to ensure everything is working properly. + +1. Create an account with the provider's service and generate any necessary credentials, e.g. API keys. + - Email: + - Password: (Create a random password in 1Password with the maximum length and complexity allowed by the provider.) + - Ensure all secrets (passwords, generated API keys) are stored in Pulumi's 1Password vault. + +1. Copy the `pulumi-resource-foo` binary generated by `make provider` and place it in your `$PATH` (`$GOPATH/bin` is a convenient choice), e.g.: + + ```bash + cp bin/pulumi-resource-foo $GOPATH/bin + ``` + +1. Tell Yarn to use your local copy of the SDK: + + ```bash + make install_nodejs_sdk + ``` + +1. Create a new Pulumi program in the `examples/` directory, e.g.: + + ```bash + mkdir examples/my-example/ts # Change "my-example" to something more meaningful. + cd examples/my-example/ts + pulumi new typescript + # (Go through the prompts with the default values) + npm install + yarn link @pulumi/foo + ``` + +1. Create a minimal program for the provider, i.e. one that creates the smallest-footprint resource. Place this code in `index.ts`. +1. Configure any necessary environment variables for authentication, e.g `$FOO_USERNAME`, `$FOO_TOKEN`, in your local environment. +1. Ensure the program runs successfully via `pulumi up`. +1. Once the program completes successfully, verify the resource was created in the provider's UI. +1. Destroy any resources created by the program via `pulumi destroy`. + +Optionally, you may create additional examples for SDKs in other languages supported by Pulumi: + +1. Python: + + ```bash + mkdir examples/my-example/py + cd examples/my-example/py + pulumi new python + # (Go through the prompts with the default values) + source venv/bin/activate # use the virtual Python env that Pulumi sets up for you + pip install pulumi_foo + ``` + +1. Follow the steps above to verify the program runs successfully. + +## Add End-to-end Testing + +We can run integration tests on our examples using the `*_test.go` files in the `examples/` folder. + +1. Add code to `examples_nodejs_test.go` to call the example you created, e.g.: + + ```go + // Swap out MyExample and "my-example" below with the name of your integration test. + func TestAccMyExampleTs(t *testing.T) { + test := getJSBaseOptions(t). + With(integration.ProgramTestOptions{ + Dir: filepath.Join(getCwd(t), "my-example", "ts"), + }) + integration.ProgramTest(t, &test) + } + ``` + +1. Add a similar function for each example that you want to run in an integration test. For examples written in other languages, create similar files for `examples_${LANGUAGE}_test.go`. + +1. You can run these tests locally via Make: + + ```bash + make test + ``` + + You can also run each test file separately via test tags: + + ```bash + cd examples && go test -v -tags=nodejs + ``` + +## Configuring CI with GitHub Actions + +### Third-party providers + +1. Follow the instructions laid out in the [deployment templates](./deployment-templates/README-DEPLOYMENT.md). + +### Pulumi Internal + +In this section, we'll add the necessary configuration to work with GitHub Actions for Pulumi's standard CI/CD workflows for providers. + +1. Generate GitHub workflows per [the instructions in the ci-mgmt repository](https://github.com/pulumi/ci-mgmt/) and copy to `.github/` in this repository. + +1. Ensure that any required secrets are present as repository-level [secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets) in GitHub. These will be used by the integration tests during the CI/CD process. + +1. Repository settings: Toggle `Allow auto-merge` on in your provider repo to automate GitHub Actions workflow updates. + +## Final Steps + +1. Ensure all required configurations (API keys, etc.) are documented in README-PROVIDER.md. + +1. Replace this file with the README for the provider and push your changes: + + ```bash + mv README-PROVIDER.md README.md + ``` + +1. If publishing the npm package fails during the "Publish SDKs" Action, perform the following steps: + 1. Go to [NPM Packages](https://www.npmjs.com/) and sign in as pulumi-bot. + 1. Click on the bot's profile pic and navigate to "Packages". + 1. On the left, under "Organizations, click on the Pulumi organization. + 1. On the last page of the listed packages, you should see the new package. + 1. Under "Settings", set the Package Status to "public". + +Now you are ready to use the provider, cut releases, and have some well-deserved :ice_cream:! + +## Building the Provider Locally + +There are 2 ways the provider can be built locally: + +`make provider` will use the current operating system and architecture to create a binary that can be used on your PATH. + +To build the provider for another set of operating systems / architectures, the project uses [goreleaser](https://goreleaser.com/). +Goreleaser, a CLI tool, that allows a user to build a matrix of binaries. + +Create a `.goreleaser.yml` file in the root of your project: + +```yaml + +archives: +- id: archive + name_template: "{{ .Binary }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}" +before: + hooks: + - make tfgen +builds: +- binary: pulumi-resource-nobl9 + dir: provider + goarch: + - amd64 + - arm64 + goos: + - darwin + - windows + - linux + ignore: [] + ldflags: + - -X github.com/piclemx/pulumi-nobl9/provider/pkg/version.Version={{.Tag}} + main: ./cmd/pulumi-resource-nobl9/ + sort: asc + use: git +release: + disable: false +snapshot: + name_template: "{{ .Tag }}-SNAPSHOT" +``` + +To build the provider for the combination of architectures and operating systems, you can run the following CLI command: + +```bash +goreleaser build --rm-dist --skip-validate +``` + +That will ensure that a list of binaries are available to use: + +```bash + +▶ tree dist +dist +├── CHANGELOG.md +├── artifacts.json +├── config.yaml +├── metadata.json +├── pulumi-nobl9_darwin_amd64_v1 +│ └── pulumi-resource-nobl9 +├── pulumi-nobl9_darwin_arm64 +│ └── pulumi-resource-nobl9 +├── pulumi-nobl9_linux_amd64_v1 +│ └── pulumi-resource-nobl9 +├── pulumi-nobl9_linux_arm64 +│ └── pulumi-resource-nobl9 +├── pulumi-nobl9_windows_amd64_v1 +│ └── pulumi-resource-nobl9.exe +└── pulumi-nobl9_windows_arm64 + └── pulumi-resource-nobl9.exe +``` + +Any of the provider binaries can be used to target the correct machine architecture + +## The Shim Pattern + +If you receive the following error: `use of internal package github.com/example/terraform-provider-example/internal/provider not allowed`, you need to use +the shim model below, and replace the example item: + +```bash + +mkdir -p provider/shim +cat <<-EOF> provider/shim/go.mod +module github.com/example/terraform-provider-example/shim + +go 1.18 + +require github.com/hashicorp/terraform-plugin-sdk/v2 v2.22.0 +require github.com/example/terraform-provider-example v1.0.0 + +EOF + +cat <<-EOF> provider/shim/shim.go +package shim + +import ( + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/example/terraform-provider-example/internal/provider" +) + +// fix provider.Provider here to match whats in internal/provider +func Provider() *schema.Provider { + return provider.Provider() +} + +EOF + +cd provider/shim/ && go mod tidy && cd ../../ + +cat <> provider/go.mod +replace github.com/example/terraform-provider-example/shim => ./shim +require github.com/example/terraform-provider-example/shim v0.0.0 +EOF + +cd provider && go mod tidy + +``` + diff --git a/sdk/python/pulumi_nobl9/README.md b/sdk/python/pulumi_nobl9/README.md new file mode 100644 index 0000000..b427fbd --- /dev/null +++ b/sdk/python/pulumi_nobl9/README.md @@ -0,0 +1,4 @@ +> This provider is a derived work of the [Terraform Provider](https://github.com/nobl9/terraform-provider-nobl9) +> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, +> first check the [`pulumi-nobl9` repo](https://github.com/piclemx/pulumi-nobl9/issues); however, if that doesn't turn up anything, +> please consult the source [`terraform-provider-nobl9` repo](https://github.com/nobl9/terraform-provider-nobl9/issues). \ No newline at end of file diff --git a/sdk/python/pulumi_nobl9/__init__.py b/sdk/python/pulumi_nobl9/__init__.py new file mode 100644 index 0000000..782cba3 --- /dev/null +++ b/sdk/python/pulumi_nobl9/__init__.py @@ -0,0 +1,313 @@ +# 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! *** + +from . import _utilities +import typing +# Export this package's modules as members: +from .agent import * +from .alert_method_discord import * +from .alert_method_email import * +from .alert_method_jira import * +from .alert_method_msteams import * +from .alert_method_opsgenie import * +from .alert_method_pagerduty import * +from .alert_method_servicenow import * +from .alert_method_slack import * +from .alert_method_webhook import * +from .alert_policy import * +from .direct_appdynamics import * +from .direct_bigquery import * +from .direct_cloudwatch import * +from .direct_datadog import * +from .direct_dynatrace import * +from .direct_gcm import * +from .direct_influxdb import * +from .direct_instana import * +from .direct_lightstep import * +from .direct_newrelic import * +from .direct_pingdom import * +from .direct_redshift import * +from .direct_splunk import * +from .direct_splunk_observability import * +from .direct_sumologic import * +from .direct_thousandeyes import * +from .project import * +from .provider import * +from .role_binding import * +from .service import * +from .slo import * +from ._inputs import * +from . import outputs + +# Make subpackages available: +if typing.TYPE_CHECKING: + import pulumi_nobl9.config as __config + config = __config +else: + config = _utilities.lazy_import('pulumi_nobl9.config') + +_utilities.register( + resource_modules=""" +[ + { + "pkg": "nobl9", + "mod": "index/agent", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/agent:Agent": "Agent" + } + }, + { + "pkg": "nobl9", + "mod": "index/alertMethodDiscord", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/alertMethodDiscord:AlertMethodDiscord": "AlertMethodDiscord" + } + }, + { + "pkg": "nobl9", + "mod": "index/alertMethodEmail", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/alertMethodEmail:AlertMethodEmail": "AlertMethodEmail" + } + }, + { + "pkg": "nobl9", + "mod": "index/alertMethodJira", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/alertMethodJira:AlertMethodJira": "AlertMethodJira" + } + }, + { + "pkg": "nobl9", + "mod": "index/alertMethodMsteams", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/alertMethodMsteams:AlertMethodMsteams": "AlertMethodMsteams" + } + }, + { + "pkg": "nobl9", + "mod": "index/alertMethodOpsgenie", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/alertMethodOpsgenie:AlertMethodOpsgenie": "AlertMethodOpsgenie" + } + }, + { + "pkg": "nobl9", + "mod": "index/alertMethodPagerduty", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/alertMethodPagerduty:AlertMethodPagerduty": "AlertMethodPagerduty" + } + }, + { + "pkg": "nobl9", + "mod": "index/alertMethodServicenow", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/alertMethodServicenow:AlertMethodServicenow": "AlertMethodServicenow" + } + }, + { + "pkg": "nobl9", + "mod": "index/alertMethodSlack", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/alertMethodSlack:AlertMethodSlack": "AlertMethodSlack" + } + }, + { + "pkg": "nobl9", + "mod": "index/alertMethodWebhook", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/alertMethodWebhook:AlertMethodWebhook": "AlertMethodWebhook" + } + }, + { + "pkg": "nobl9", + "mod": "index/alertPolicy", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/alertPolicy:AlertPolicy": "AlertPolicy" + } + }, + { + "pkg": "nobl9", + "mod": "index/directAppdynamics", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directAppdynamics:DirectAppdynamics": "DirectAppdynamics" + } + }, + { + "pkg": "nobl9", + "mod": "index/directBigquery", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directBigquery:DirectBigquery": "DirectBigquery" + } + }, + { + "pkg": "nobl9", + "mod": "index/directCloudwatch", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directCloudwatch:DirectCloudwatch": "DirectCloudwatch" + } + }, + { + "pkg": "nobl9", + "mod": "index/directDatadog", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directDatadog:DirectDatadog": "DirectDatadog" + } + }, + { + "pkg": "nobl9", + "mod": "index/directDynatrace", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directDynatrace:DirectDynatrace": "DirectDynatrace" + } + }, + { + "pkg": "nobl9", + "mod": "index/directGcm", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directGcm:DirectGcm": "DirectGcm" + } + }, + { + "pkg": "nobl9", + "mod": "index/directInfluxdb", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directInfluxdb:DirectInfluxdb": "DirectInfluxdb" + } + }, + { + "pkg": "nobl9", + "mod": "index/directInstana", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directInstana:DirectInstana": "DirectInstana" + } + }, + { + "pkg": "nobl9", + "mod": "index/directLightstep", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directLightstep:DirectLightstep": "DirectLightstep" + } + }, + { + "pkg": "nobl9", + "mod": "index/directNewrelic", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directNewrelic:DirectNewrelic": "DirectNewrelic" + } + }, + { + "pkg": "nobl9", + "mod": "index/directPingdom", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directPingdom:DirectPingdom": "DirectPingdom" + } + }, + { + "pkg": "nobl9", + "mod": "index/directRedshift", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directRedshift:DirectRedshift": "DirectRedshift" + } + }, + { + "pkg": "nobl9", + "mod": "index/directSplunk", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directSplunk:DirectSplunk": "DirectSplunk" + } + }, + { + "pkg": "nobl9", + "mod": "index/directSplunkObservability", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directSplunkObservability:DirectSplunkObservability": "DirectSplunkObservability" + } + }, + { + "pkg": "nobl9", + "mod": "index/directSumologic", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directSumologic:DirectSumologic": "DirectSumologic" + } + }, + { + "pkg": "nobl9", + "mod": "index/directThousandeyes", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/directThousandeyes:DirectThousandeyes": "DirectThousandeyes" + } + }, + { + "pkg": "nobl9", + "mod": "index/project", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/project:Project": "Project" + } + }, + { + "pkg": "nobl9", + "mod": "index/roleBinding", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/roleBinding:RoleBinding": "RoleBinding" + } + }, + { + "pkg": "nobl9", + "mod": "index/service", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/service:Service": "Service" + } + }, + { + "pkg": "nobl9", + "mod": "index/slo", + "fqn": "pulumi_nobl9", + "classes": { + "nobl9:index/slo:Slo": "Slo" + } + } +] +""", + resource_packages=""" +[ + { + "pkg": "nobl9", + "token": "pulumi:providers:nobl9", + "fqn": "pulumi_nobl9", + "class": "Provider" + } +] +""" +) diff --git a/sdk/python/pulumi_nobl9/_inputs.py b/sdk/python/pulumi_nobl9/_inputs.py new file mode 100644 index 0000000..ab07b73 --- /dev/null +++ b/sdk/python/pulumi_nobl9/_inputs.py @@ -0,0 +1,5757 @@ +# 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__ = [ + 'AgentAmazonPrometheusConfigArgs', + 'AgentAppdynamicsConfigArgs', + 'AgentBigqueryConfigArgs', + 'AgentCloudwatchConfigArgs', + 'AgentDatadogConfigArgs', + 'AgentDynatraceConfigArgs', + 'AgentElasticsearchConfigArgs', + 'AgentGcmConfigArgs', + 'AgentGrafanaLokiConfigArgs', + 'AgentGraphiteConfigArgs', + 'AgentInfluxdbConfigArgs', + 'AgentInstanaConfigArgs', + 'AgentLightstepConfigArgs', + 'AgentNewrelicConfigArgs', + 'AgentOpentsdbConfigArgs', + 'AgentPingdomConfigArgs', + 'AgentPrometheusConfigArgs', + 'AgentQueryDelayArgs', + 'AgentRedshiftConfigArgs', + 'AgentSplunkConfigArgs', + 'AgentSplunkObservabilityConfigArgs', + 'AgentSumologicConfigArgs', + 'AgentThousandeyesConfigArgs', + 'AlertPolicyAlertMethodArgs', + 'AlertPolicyConditionArgs', + 'DirectAppdynamicsQueryDelayArgs', + 'DirectBigqueryQueryDelayArgs', + 'DirectCloudwatchHistoricalDataRetrievalArgs', + 'DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs', + 'DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs', + 'DirectCloudwatchQueryDelayArgs', + 'DirectDatadogHistoricalDataRetrievalArgs', + 'DirectDatadogHistoricalDataRetrievalDefaultDurationArgs', + 'DirectDatadogHistoricalDataRetrievalMaxDurationArgs', + 'DirectDatadogQueryDelayArgs', + 'DirectDynatraceHistoricalDataRetrievalArgs', + 'DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs', + 'DirectDynatraceHistoricalDataRetrievalMaxDurationArgs', + 'DirectDynatraceQueryDelayArgs', + 'DirectGcmQueryDelayArgs', + 'DirectInfluxdbQueryDelayArgs', + 'DirectInstanaQueryDelayArgs', + 'DirectLightstepHistoricalDataRetrievalArgs', + 'DirectLightstepHistoricalDataRetrievalDefaultDurationArgs', + 'DirectLightstepHistoricalDataRetrievalMaxDurationArgs', + 'DirectLightstepQueryDelayArgs', + 'DirectNewrelicHistoricalDataRetrievalArgs', + 'DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs', + 'DirectNewrelicHistoricalDataRetrievalMaxDurationArgs', + 'DirectNewrelicQueryDelayArgs', + 'DirectPingdomQueryDelayArgs', + 'DirectRedshiftQueryDelayArgs', + 'DirectSplunkHistoricalDataRetrievalArgs', + 'DirectSplunkHistoricalDataRetrievalDefaultDurationArgs', + 'DirectSplunkHistoricalDataRetrievalMaxDurationArgs', + 'DirectSplunkObservabilityQueryDelayArgs', + 'DirectSplunkQueryDelayArgs', + 'DirectSumologicQueryDelayArgs', + 'DirectThousandeyesQueryDelayArgs', + 'ProjectLabelArgs', + 'ServiceLabelArgs', + 'SloAttachmentArgs', + 'SloCompositeArgs', + 'SloCompositeBurnRateConditionArgs', + 'SloIndicatorArgs', + 'SloLabelArgs', + 'SloObjectiveArgs', + 'SloObjectiveCountMetricArgs', + 'SloObjectiveCountMetricGoodArgs', + 'SloObjectiveCountMetricGoodAmazonPrometheusArgs', + 'SloObjectiveCountMetricGoodAppdynamicArgs', + 'SloObjectiveCountMetricGoodBigqueryArgs', + 'SloObjectiveCountMetricGoodCloudwatchArgs', + 'SloObjectiveCountMetricGoodCloudwatchDimensionArgs', + 'SloObjectiveCountMetricGoodDatadogArgs', + 'SloObjectiveCountMetricGoodDynatraceArgs', + 'SloObjectiveCountMetricGoodElasticsearchArgs', + 'SloObjectiveCountMetricGoodGcmArgs', + 'SloObjectiveCountMetricGoodGrafanaLokiArgs', + 'SloObjectiveCountMetricGoodGraphiteArgs', + 'SloObjectiveCountMetricGoodInfluxdbArgs', + 'SloObjectiveCountMetricGoodInstanaArgs', + 'SloObjectiveCountMetricGoodInstanaApplicationArgs', + 'SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs', + 'SloObjectiveCountMetricGoodInstanaInfrastructureArgs', + 'SloObjectiveCountMetricGoodLightstepArgs', + 'SloObjectiveCountMetricGoodNewrelicArgs', + 'SloObjectiveCountMetricGoodOpentsdbArgs', + 'SloObjectiveCountMetricGoodPingdomArgs', + 'SloObjectiveCountMetricGoodPrometheusArgs', + 'SloObjectiveCountMetricGoodRedshiftArgs', + 'SloObjectiveCountMetricGoodSplunkArgs', + 'SloObjectiveCountMetricGoodSplunkObservabilityArgs', + 'SloObjectiveCountMetricGoodSumologicArgs', + 'SloObjectiveCountMetricGoodThousandeyeArgs', + 'SloObjectiveCountMetricTotalArgs', + 'SloObjectiveCountMetricTotalAmazonPrometheusArgs', + 'SloObjectiveCountMetricTotalAppdynamicArgs', + 'SloObjectiveCountMetricTotalBigqueryArgs', + 'SloObjectiveCountMetricTotalCloudwatchArgs', + 'SloObjectiveCountMetricTotalCloudwatchDimensionArgs', + 'SloObjectiveCountMetricTotalDatadogArgs', + 'SloObjectiveCountMetricTotalDynatraceArgs', + 'SloObjectiveCountMetricTotalElasticsearchArgs', + 'SloObjectiveCountMetricTotalGcmArgs', + 'SloObjectiveCountMetricTotalGrafanaLokiArgs', + 'SloObjectiveCountMetricTotalGraphiteArgs', + 'SloObjectiveCountMetricTotalInfluxdbArgs', + 'SloObjectiveCountMetricTotalInstanaArgs', + 'SloObjectiveCountMetricTotalInstanaApplicationArgs', + 'SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs', + 'SloObjectiveCountMetricTotalInstanaInfrastructureArgs', + 'SloObjectiveCountMetricTotalLightstepArgs', + 'SloObjectiveCountMetricTotalNewrelicArgs', + 'SloObjectiveCountMetricTotalOpentsdbArgs', + 'SloObjectiveCountMetricTotalPingdomArgs', + 'SloObjectiveCountMetricTotalPrometheusArgs', + 'SloObjectiveCountMetricTotalRedshiftArgs', + 'SloObjectiveCountMetricTotalSplunkArgs', + 'SloObjectiveCountMetricTotalSplunkObservabilityArgs', + 'SloObjectiveCountMetricTotalSumologicArgs', + 'SloObjectiveCountMetricTotalThousandeyeArgs', + 'SloObjectiveRawMetricArgs', + 'SloObjectiveRawMetricQueryArgs', + 'SloObjectiveRawMetricQueryAmazonPrometheusArgs', + 'SloObjectiveRawMetricQueryAppdynamicArgs', + 'SloObjectiveRawMetricQueryBigqueryArgs', + 'SloObjectiveRawMetricQueryCloudwatchArgs', + 'SloObjectiveRawMetricQueryCloudwatchDimensionArgs', + 'SloObjectiveRawMetricQueryDatadogArgs', + 'SloObjectiveRawMetricQueryDynatraceArgs', + 'SloObjectiveRawMetricQueryElasticsearchArgs', + 'SloObjectiveRawMetricQueryGcmArgs', + 'SloObjectiveRawMetricQueryGrafanaLokiArgs', + 'SloObjectiveRawMetricQueryGraphiteArgs', + 'SloObjectiveRawMetricQueryInfluxdbArgs', + 'SloObjectiveRawMetricQueryInstanaArgs', + 'SloObjectiveRawMetricQueryInstanaApplicationArgs', + 'SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs', + 'SloObjectiveRawMetricQueryInstanaInfrastructureArgs', + 'SloObjectiveRawMetricQueryLightstepArgs', + 'SloObjectiveRawMetricQueryNewrelicArgs', + 'SloObjectiveRawMetricQueryOpentsdbArgs', + 'SloObjectiveRawMetricQueryPingdomArgs', + 'SloObjectiveRawMetricQueryPrometheusArgs', + 'SloObjectiveRawMetricQueryRedshiftArgs', + 'SloObjectiveRawMetricQuerySplunkArgs', + 'SloObjectiveRawMetricQuerySplunkObservabilityArgs', + 'SloObjectiveRawMetricQuerySumologicArgs', + 'SloObjectiveRawMetricQueryThousandeyeArgs', + 'SloTimeWindowArgs', + 'SloTimeWindowCalendarArgs', +] + +@pulumi.input_type +class AgentAmazonPrometheusConfigArgs: + def __init__(__self__, *, + region: pulumi.Input[str], + url: pulumi.Input[str]): + """ + :param pulumi.Input[str] region: AWS region e.g., eu-central-1 + :param pulumi.Input[str] url: Base URL to Amazon Prometheus server. + """ + pulumi.set(__self__, "region", region) + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def region(self) -> pulumi.Input[str]: + """ + AWS region e.g., eu-central-1 + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[str]): + pulumi.set(self, "region", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Base URL to Amazon Prometheus server. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class AgentAppdynamicsConfigArgs: + def __init__(__self__, *, + url: pulumi.Input[str]): + """ + :param pulumi.Input[str] url: Base URL to the AppDynamics Controller. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Base URL to the AppDynamics Controller. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class AgentBigqueryConfigArgs: + def __init__(__self__): + pass + + +@pulumi.input_type +class AgentCloudwatchConfigArgs: + def __init__(__self__): + pass + + +@pulumi.input_type +class AgentDatadogConfigArgs: + def __init__(__self__, *, + site: pulumi.Input[str]): + """ + :param pulumi.Input[str] site: `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union) + """ + pulumi.set(__self__, "site", site) + + @property + @pulumi.getter + def site(self) -> pulumi.Input[str]: + """ + `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union) + """ + return pulumi.get(self, "site") + + @site.setter + def site(self, value: pulumi.Input[str]): + pulumi.set(self, "site", value) + + +@pulumi.input_type +class AgentDynatraceConfigArgs: + def __init__(__self__, *, + url: pulumi.Input[str]): + """ + :param pulumi.Input[str] url: Dynatrace API URL. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Dynatrace API URL. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class AgentElasticsearchConfigArgs: + def __init__(__self__, *, + url: pulumi.Input[str]): + """ + :param pulumi.Input[str] url: API URL endpoint to the Elasticsearch's instance. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + API URL endpoint to the Elasticsearch's instance. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class AgentGcmConfigArgs: + def __init__(__self__): + pass + + +@pulumi.input_type +class AgentGrafanaLokiConfigArgs: + def __init__(__self__, *, + url: pulumi.Input[str]): + """ + :param pulumi.Input[str] url: API URL endpoint to the Grafana Loki instance. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + API URL endpoint to the Grafana Loki instance. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class AgentGraphiteConfigArgs: + def __init__(__self__, *, + url: pulumi.Input[str]): + """ + :param pulumi.Input[str] url: API URL endpoint to the Graphite's instance. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + API URL endpoint to the Graphite's instance. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class AgentInfluxdbConfigArgs: + def __init__(__self__, *, + url: pulumi.Input[str]): + """ + :param pulumi.Input[str] url: API URL endpoint to the InfluxDB's instance. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + API URL endpoint to the InfluxDB's instance. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class AgentInstanaConfigArgs: + def __init__(__self__, *, + url: pulumi.Input[str]): + """ + :param pulumi.Input[str] url: API URL endpoint to the InfluxDB's instance. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + API URL endpoint to the InfluxDB's instance. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class AgentLightstepConfigArgs: + def __init__(__self__, *, + organization: pulumi.Input[str], + project: pulumi.Input[str]): + """ + :param pulumi.Input[str] organization: Organization name registered in Lightstep. + :param pulumi.Input[str] project: Name of the Lightstep project. + """ + pulumi.set(__self__, "organization", organization) + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def organization(self) -> pulumi.Input[str]: + """ + Organization name registered in Lightstep. + """ + return pulumi.get(self, "organization") + + @organization.setter + def organization(self, value: pulumi.Input[str]): + pulumi.set(self, "organization", value) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Lightstep project. + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + +@pulumi.input_type +class AgentNewrelicConfigArgs: + def __init__(__self__, *, + account_id: pulumi.Input[str]): + """ + :param pulumi.Input[str] account_id: ID number assigned to the New Relic user account. + """ + pulumi.set(__self__, "account_id", account_id) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> pulumi.Input[str]: + """ + ID number assigned to the New Relic user account. + """ + return pulumi.get(self, "account_id") + + @account_id.setter + def account_id(self, value: pulumi.Input[str]): + pulumi.set(self, "account_id", value) + + +@pulumi.input_type +class AgentOpentsdbConfigArgs: + def __init__(__self__, *, + url: pulumi.Input[str]): + """ + :param pulumi.Input[str] url: OpenTSDB cluster URL. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + OpenTSDB cluster URL. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class AgentPingdomConfigArgs: + def __init__(__self__): + pass + + +@pulumi.input_type +class AgentPrometheusConfigArgs: + def __init__(__self__, *, + url: pulumi.Input[str]): + """ + :param pulumi.Input[str] url: Base URL to Prometheus server. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Base URL to Prometheus server. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class AgentQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class AgentRedshiftConfigArgs: + def __init__(__self__): + pass + + +@pulumi.input_type +class AgentSplunkConfigArgs: + def __init__(__self__, *, + url: pulumi.Input[str]): + """ + :param pulumi.Input[str] url: Base API URL to the Splunk Search app. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Base API URL to the Splunk Search app. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class AgentSplunkObservabilityConfigArgs: + def __init__(__self__, *, + realm: pulumi.Input[str]): + """ + :param pulumi.Input[str] realm: SplunkObservability Realm. + """ + pulumi.set(__self__, "realm", realm) + + @property + @pulumi.getter + def realm(self) -> pulumi.Input[str]: + """ + SplunkObservability Realm. + """ + return pulumi.get(self, "realm") + + @realm.setter + def realm(self, value: pulumi.Input[str]): + pulumi.set(self, "realm", value) + + +@pulumi.input_type +class AgentSumologicConfigArgs: + def __init__(__self__, *, + url: pulumi.Input[str]): + """ + :param pulumi.Input[str] url: Sumo Logic API URL. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Sumo Logic API URL. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class AgentThousandeyesConfigArgs: + def __init__(__self__): + pass + + +@pulumi.input_type +class AlertPolicyAlertMethodArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + project: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] name: The name of the previously defined alert method. + :param pulumi.Input[str] project: Project name the Alert Method is in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). If not defined, Nobl9 returns a default value for this field. + """ + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the previously defined alert method. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Project name the Alert Method is in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). If not defined, Nobl9 returns a default value for this field. + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + +@pulumi.input_type +class AlertPolicyConditionArgs: + def __init__(__self__, *, + measurement: pulumi.Input[str], + lasts_for: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[float]] = None, + value_string: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] measurement: One of `timeToBurnBudget` | `burnRate` | `burnedBudget`. + :param pulumi.Input[str] lasts_for: Indicates how long a given condition needs to be valid to mark the condition as true. + :param pulumi.Input[float] value: For `averageBurnRate`, it indicates how fast the error budget is burning. For `burnedBudget`, it tells how much error budget is already burned. + :param pulumi.Input[str] value_string: Used with `timeToBurnBudget`, indicates when the budget would be exhausted. The expected value is a string in time duration string format. + """ + pulumi.set(__self__, "measurement", measurement) + if lasts_for is not None: + pulumi.set(__self__, "lasts_for", lasts_for) + if value is not None: + pulumi.set(__self__, "value", value) + if value_string is not None: + pulumi.set(__self__, "value_string", value_string) + + @property + @pulumi.getter + def measurement(self) -> pulumi.Input[str]: + """ + One of `timeToBurnBudget` | `burnRate` | `burnedBudget`. + """ + return pulumi.get(self, "measurement") + + @measurement.setter + def measurement(self, value: pulumi.Input[str]): + pulumi.set(self, "measurement", value) + + @property + @pulumi.getter(name="lastsFor") + def lasts_for(self) -> Optional[pulumi.Input[str]]: + """ + Indicates how long a given condition needs to be valid to mark the condition as true. + """ + return pulumi.get(self, "lasts_for") + + @lasts_for.setter + def lasts_for(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "lasts_for", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[float]]: + """ + For `averageBurnRate`, it indicates how fast the error budget is burning. For `burnedBudget`, it tells how much error budget is already burned. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "value", value) + + @property + @pulumi.getter(name="valueString") + def value_string(self) -> Optional[pulumi.Input[str]]: + """ + Used with `timeToBurnBudget`, indicates when the budget would be exhausted. The expected value is a string in time duration string format. + """ + return pulumi.get(self, "value_string") + + @value_string.setter + def value_string(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value_string", value) + + +@pulumi.input_type +class DirectAppdynamicsQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectBigqueryQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectCloudwatchHistoricalDataRetrievalArgs: + def __init__(__self__, *, + default_durations: pulumi.Input[Sequence[pulumi.Input['DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs']]], + max_durations: pulumi.Input[Sequence[pulumi.Input['DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs']]]): + """ + :param pulumi.Input[Sequence[pulumi.Input['DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs']]] default_durations: Used by default for any SLOs connected to this data source. + :param pulumi.Input[Sequence[pulumi.Input['DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs']]] max_durations: Defines the maximum period for which data can be retrieved. + """ + pulumi.set(__self__, "default_durations", default_durations) + pulumi.set(__self__, "max_durations", max_durations) + + @property + @pulumi.getter(name="defaultDurations") + def default_durations(self) -> pulumi.Input[Sequence[pulumi.Input['DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs']]]: + """ + Used by default for any SLOs connected to this data source. + """ + return pulumi.get(self, "default_durations") + + @default_durations.setter + def default_durations(self, value: pulumi.Input[Sequence[pulumi.Input['DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs']]]): + pulumi.set(self, "default_durations", value) + + @property + @pulumi.getter(name="maxDurations") + def max_durations(self) -> pulumi.Input[Sequence[pulumi.Input['DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs']]]: + """ + Defines the maximum period for which data can be retrieved. + """ + return pulumi.get(self, "max_durations") + + @max_durations.setter + def max_durations(self, value: pulumi.Input[Sequence[pulumi.Input['DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs']]]): + pulumi.set(self, "max_durations", value) + + +@pulumi.input_type +class DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectCloudwatchQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectDatadogHistoricalDataRetrievalArgs: + def __init__(__self__, *, + default_durations: pulumi.Input[Sequence[pulumi.Input['DirectDatadogHistoricalDataRetrievalDefaultDurationArgs']]], + max_durations: pulumi.Input[Sequence[pulumi.Input['DirectDatadogHistoricalDataRetrievalMaxDurationArgs']]]): + """ + :param pulumi.Input[Sequence[pulumi.Input['DirectDatadogHistoricalDataRetrievalDefaultDurationArgs']]] default_durations: Used by default for any SLOs connected to this data source. + :param pulumi.Input[Sequence[pulumi.Input['DirectDatadogHistoricalDataRetrievalMaxDurationArgs']]] max_durations: Defines the maximum period for which data can be retrieved. + """ + pulumi.set(__self__, "default_durations", default_durations) + pulumi.set(__self__, "max_durations", max_durations) + + @property + @pulumi.getter(name="defaultDurations") + def default_durations(self) -> pulumi.Input[Sequence[pulumi.Input['DirectDatadogHistoricalDataRetrievalDefaultDurationArgs']]]: + """ + Used by default for any SLOs connected to this data source. + """ + return pulumi.get(self, "default_durations") + + @default_durations.setter + def default_durations(self, value: pulumi.Input[Sequence[pulumi.Input['DirectDatadogHistoricalDataRetrievalDefaultDurationArgs']]]): + pulumi.set(self, "default_durations", value) + + @property + @pulumi.getter(name="maxDurations") + def max_durations(self) -> pulumi.Input[Sequence[pulumi.Input['DirectDatadogHistoricalDataRetrievalMaxDurationArgs']]]: + """ + Defines the maximum period for which data can be retrieved. + """ + return pulumi.get(self, "max_durations") + + @max_durations.setter + def max_durations(self, value: pulumi.Input[Sequence[pulumi.Input['DirectDatadogHistoricalDataRetrievalMaxDurationArgs']]]): + pulumi.set(self, "max_durations", value) + + +@pulumi.input_type +class DirectDatadogHistoricalDataRetrievalDefaultDurationArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectDatadogHistoricalDataRetrievalMaxDurationArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectDatadogQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectDynatraceHistoricalDataRetrievalArgs: + def __init__(__self__, *, + default_durations: pulumi.Input[Sequence[pulumi.Input['DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs']]], + max_durations: pulumi.Input[Sequence[pulumi.Input['DirectDynatraceHistoricalDataRetrievalMaxDurationArgs']]]): + """ + :param pulumi.Input[Sequence[pulumi.Input['DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs']]] default_durations: Used by default for any SLOs connected to this data source. + :param pulumi.Input[Sequence[pulumi.Input['DirectDynatraceHistoricalDataRetrievalMaxDurationArgs']]] max_durations: Defines the maximum period for which data can be retrieved. + """ + pulumi.set(__self__, "default_durations", default_durations) + pulumi.set(__self__, "max_durations", max_durations) + + @property + @pulumi.getter(name="defaultDurations") + def default_durations(self) -> pulumi.Input[Sequence[pulumi.Input['DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs']]]: + """ + Used by default for any SLOs connected to this data source. + """ + return pulumi.get(self, "default_durations") + + @default_durations.setter + def default_durations(self, value: pulumi.Input[Sequence[pulumi.Input['DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs']]]): + pulumi.set(self, "default_durations", value) + + @property + @pulumi.getter(name="maxDurations") + def max_durations(self) -> pulumi.Input[Sequence[pulumi.Input['DirectDynatraceHistoricalDataRetrievalMaxDurationArgs']]]: + """ + Defines the maximum period for which data can be retrieved. + """ + return pulumi.get(self, "max_durations") + + @max_durations.setter + def max_durations(self, value: pulumi.Input[Sequence[pulumi.Input['DirectDynatraceHistoricalDataRetrievalMaxDurationArgs']]]): + pulumi.set(self, "max_durations", value) + + +@pulumi.input_type +class DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectDynatraceHistoricalDataRetrievalMaxDurationArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectDynatraceQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectGcmQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectInfluxdbQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectInstanaQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectLightstepHistoricalDataRetrievalArgs: + def __init__(__self__, *, + default_durations: pulumi.Input[Sequence[pulumi.Input['DirectLightstepHistoricalDataRetrievalDefaultDurationArgs']]], + max_durations: pulumi.Input[Sequence[pulumi.Input['DirectLightstepHistoricalDataRetrievalMaxDurationArgs']]]): + """ + :param pulumi.Input[Sequence[pulumi.Input['DirectLightstepHistoricalDataRetrievalDefaultDurationArgs']]] default_durations: Used by default for any SLOs connected to this data source. + :param pulumi.Input[Sequence[pulumi.Input['DirectLightstepHistoricalDataRetrievalMaxDurationArgs']]] max_durations: Defines the maximum period for which data can be retrieved. + """ + pulumi.set(__self__, "default_durations", default_durations) + pulumi.set(__self__, "max_durations", max_durations) + + @property + @pulumi.getter(name="defaultDurations") + def default_durations(self) -> pulumi.Input[Sequence[pulumi.Input['DirectLightstepHistoricalDataRetrievalDefaultDurationArgs']]]: + """ + Used by default for any SLOs connected to this data source. + """ + return pulumi.get(self, "default_durations") + + @default_durations.setter + def default_durations(self, value: pulumi.Input[Sequence[pulumi.Input['DirectLightstepHistoricalDataRetrievalDefaultDurationArgs']]]): + pulumi.set(self, "default_durations", value) + + @property + @pulumi.getter(name="maxDurations") + def max_durations(self) -> pulumi.Input[Sequence[pulumi.Input['DirectLightstepHistoricalDataRetrievalMaxDurationArgs']]]: + """ + Defines the maximum period for which data can be retrieved. + """ + return pulumi.get(self, "max_durations") + + @max_durations.setter + def max_durations(self, value: pulumi.Input[Sequence[pulumi.Input['DirectLightstepHistoricalDataRetrievalMaxDurationArgs']]]): + pulumi.set(self, "max_durations", value) + + +@pulumi.input_type +class DirectLightstepHistoricalDataRetrievalDefaultDurationArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectLightstepHistoricalDataRetrievalMaxDurationArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectLightstepQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectNewrelicHistoricalDataRetrievalArgs: + def __init__(__self__, *, + default_durations: pulumi.Input[Sequence[pulumi.Input['DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs']]], + max_durations: pulumi.Input[Sequence[pulumi.Input['DirectNewrelicHistoricalDataRetrievalMaxDurationArgs']]]): + """ + :param pulumi.Input[Sequence[pulumi.Input['DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs']]] default_durations: Used by default for any SLOs connected to this data source. + :param pulumi.Input[Sequence[pulumi.Input['DirectNewrelicHistoricalDataRetrievalMaxDurationArgs']]] max_durations: Defines the maximum period for which data can be retrieved. + """ + pulumi.set(__self__, "default_durations", default_durations) + pulumi.set(__self__, "max_durations", max_durations) + + @property + @pulumi.getter(name="defaultDurations") + def default_durations(self) -> pulumi.Input[Sequence[pulumi.Input['DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs']]]: + """ + Used by default for any SLOs connected to this data source. + """ + return pulumi.get(self, "default_durations") + + @default_durations.setter + def default_durations(self, value: pulumi.Input[Sequence[pulumi.Input['DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs']]]): + pulumi.set(self, "default_durations", value) + + @property + @pulumi.getter(name="maxDurations") + def max_durations(self) -> pulumi.Input[Sequence[pulumi.Input['DirectNewrelicHistoricalDataRetrievalMaxDurationArgs']]]: + """ + Defines the maximum period for which data can be retrieved. + """ + return pulumi.get(self, "max_durations") + + @max_durations.setter + def max_durations(self, value: pulumi.Input[Sequence[pulumi.Input['DirectNewrelicHistoricalDataRetrievalMaxDurationArgs']]]): + pulumi.set(self, "max_durations", value) + + +@pulumi.input_type +class DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectNewrelicHistoricalDataRetrievalMaxDurationArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectNewrelicQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectPingdomQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectRedshiftQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectSplunkHistoricalDataRetrievalArgs: + def __init__(__self__, *, + default_durations: pulumi.Input[Sequence[pulumi.Input['DirectSplunkHistoricalDataRetrievalDefaultDurationArgs']]], + max_durations: pulumi.Input[Sequence[pulumi.Input['DirectSplunkHistoricalDataRetrievalMaxDurationArgs']]]): + """ + :param pulumi.Input[Sequence[pulumi.Input['DirectSplunkHistoricalDataRetrievalDefaultDurationArgs']]] default_durations: Used by default for any SLOs connected to this data source. + :param pulumi.Input[Sequence[pulumi.Input['DirectSplunkHistoricalDataRetrievalMaxDurationArgs']]] max_durations: Defines the maximum period for which data can be retrieved. + """ + pulumi.set(__self__, "default_durations", default_durations) + pulumi.set(__self__, "max_durations", max_durations) + + @property + @pulumi.getter(name="defaultDurations") + def default_durations(self) -> pulumi.Input[Sequence[pulumi.Input['DirectSplunkHistoricalDataRetrievalDefaultDurationArgs']]]: + """ + Used by default for any SLOs connected to this data source. + """ + return pulumi.get(self, "default_durations") + + @default_durations.setter + def default_durations(self, value: pulumi.Input[Sequence[pulumi.Input['DirectSplunkHistoricalDataRetrievalDefaultDurationArgs']]]): + pulumi.set(self, "default_durations", value) + + @property + @pulumi.getter(name="maxDurations") + def max_durations(self) -> pulumi.Input[Sequence[pulumi.Input['DirectSplunkHistoricalDataRetrievalMaxDurationArgs']]]: + """ + Defines the maximum period for which data can be retrieved. + """ + return pulumi.get(self, "max_durations") + + @max_durations.setter + def max_durations(self, value: pulumi.Input[Sequence[pulumi.Input['DirectSplunkHistoricalDataRetrievalMaxDurationArgs']]]): + pulumi.set(self, "max_durations", value) + + +@pulumi.input_type +class DirectSplunkHistoricalDataRetrievalDefaultDurationArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectSplunkHistoricalDataRetrievalMaxDurationArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectSplunkObservabilityQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectSplunkQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectSumologicQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class DirectThousandeyesQueryDelayArgs: + def __init__(__self__, *, + unit: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unit: Must be one of Minute or Second. + :param pulumi.Input[int] value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class ProjectLabelArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + values: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + :param pulumi.Input[str] key: A key for the label, unique within the associated resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: A list of unique values for a single key. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + A key for the label, unique within the associated resource. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + A list of unique values for a single key. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class ServiceLabelArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + values: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + :param pulumi.Input[str] key: A key for the label, unique within the associated resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: A list of unique values for a single key. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + A key for the label, unique within the associated resource. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + A list of unique values for a single key. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class SloAttachmentArgs: + def __init__(__self__, *, + url: pulumi.Input[str], + display_name: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] url: URL to the attachment + :param pulumi.Input[str] display_name: Name displayed for the attachment. Max. length: 63 characters. + """ + pulumi.set(__self__, "url", url) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + URL to the attachment + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + Name displayed for the attachment. Max. length: 63 characters. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + +@pulumi.input_type +class SloCompositeArgs: + def __init__(__self__, *, + target: pulumi.Input[float], + burn_rate_conditions: Optional[pulumi.Input[Sequence[pulumi.Input['SloCompositeBurnRateConditionArgs']]]] = None): + """ + :param pulumi.Input[float] target: Designated value + :param pulumi.Input[Sequence[pulumi.Input['SloCompositeBurnRateConditionArgs']]] burn_rate_conditions: Condition when the Composite SLO’s error budget is burning. + """ + pulumi.set(__self__, "target", target) + if burn_rate_conditions is not None: + pulumi.set(__self__, "burn_rate_conditions", burn_rate_conditions) + + @property + @pulumi.getter + def target(self) -> pulumi.Input[float]: + """ + Designated value + """ + return pulumi.get(self, "target") + + @target.setter + def target(self, value: pulumi.Input[float]): + pulumi.set(self, "target", value) + + @property + @pulumi.getter(name="burnRateConditions") + def burn_rate_conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloCompositeBurnRateConditionArgs']]]]: + """ + Condition when the Composite SLO’s error budget is burning. + """ + return pulumi.get(self, "burn_rate_conditions") + + @burn_rate_conditions.setter + def burn_rate_conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloCompositeBurnRateConditionArgs']]]]): + pulumi.set(self, "burn_rate_conditions", value) + + +@pulumi.input_type +class SloCompositeBurnRateConditionArgs: + def __init__(__self__, *, + op: pulumi.Input[str], + value: pulumi.Input[float]): + pulumi.set(__self__, "op", op) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def op(self) -> pulumi.Input[str]: + return pulumi.get(self, "op") + + @op.setter + def op(self, value: pulumi.Input[str]): + pulumi.set(self, "op", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[float]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[float]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class SloIndicatorArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + kind: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] name: Name of the metric source (agent). + :param pulumi.Input[str] kind: Kind of the metric source. One of {Agent, Direct}. + :param pulumi.Input[str] project: Name of the metric source project. + """ + pulumi.set(__self__, "name", name) + if kind is not None: + pulumi.set(__self__, "kind", kind) + if project is not None: + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name of the metric source (agent). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def kind(self) -> Optional[pulumi.Input[str]]: + """ + Kind of the metric source. One of {Agent, Direct}. + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kind", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the metric source project. + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + +@pulumi.input_type +class SloLabelArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + values: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + :param pulumi.Input[str] key: A key for the label, unique within the associated resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: A list of unique values for a single key. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + A key for the label, unique within the associated resource. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + A list of unique values for a single key. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class SloObjectiveArgs: + def __init__(__self__, *, + display_name: pulumi.Input[str], + target: pulumi.Input[float], + value: pulumi.Input[float], + count_metrics: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + op: Optional[pulumi.Input[str]] = None, + raw_metrics: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricArgs']]]] = None, + time_slice_target: Optional[pulumi.Input[float]] = None): + """ + :param pulumi.Input[str] display_name: Name to be displayed + :param pulumi.Input[float] target: Designated value + :param pulumi.Input[float] value: Value + :param pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricArgs']]] count_metrics: Compares two time series, indicating the ratio of the count of good values to total values. + :param pulumi.Input[str] name: Objective's name. This field is computed if not provided. + :param pulumi.Input[str] op: Type of logical operation + :param pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricArgs']]] raw_metrics: Raw data is used to compare objective values. + :param pulumi.Input[float] time_slice_target: Designated value for slice + """ + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "target", target) + pulumi.set(__self__, "value", value) + if count_metrics is not None: + pulumi.set(__self__, "count_metrics", count_metrics) + if name is not None: + pulumi.set(__self__, "name", name) + if op is not None: + pulumi.set(__self__, "op", op) + if raw_metrics is not None: + pulumi.set(__self__, "raw_metrics", raw_metrics) + if time_slice_target is not None: + pulumi.set(__self__, "time_slice_target", time_slice_target) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[str]: + """ + Name to be displayed + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: pulumi.Input[str]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def target(self) -> pulumi.Input[float]: + """ + Designated value + """ + return pulumi.get(self, "target") + + @target.setter + def target(self, value: pulumi.Input[float]): + pulumi.set(self, "target", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[float]: + """ + Value + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[float]): + pulumi.set(self, "value", value) + + @property + @pulumi.getter(name="countMetrics") + def count_metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricArgs']]]]: + """ + Compares two time series, indicating the ratio of the count of good values to total values. + """ + return pulumi.get(self, "count_metrics") + + @count_metrics.setter + def count_metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricArgs']]]]): + pulumi.set(self, "count_metrics", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Objective's name. This field is computed if not provided. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def op(self) -> Optional[pulumi.Input[str]]: + """ + Type of logical operation + """ + return pulumi.get(self, "op") + + @op.setter + def op(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "op", value) + + @property + @pulumi.getter(name="rawMetrics") + def raw_metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricArgs']]]]: + """ + Raw data is used to compare objective values. + """ + return pulumi.get(self, "raw_metrics") + + @raw_metrics.setter + def raw_metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricArgs']]]]): + pulumi.set(self, "raw_metrics", value) + + @property + @pulumi.getter(name="timeSliceTarget") + def time_slice_target(self) -> Optional[pulumi.Input[float]]: + """ + Designated value for slice + """ + return pulumi.get(self, "time_slice_target") + + @time_slice_target.setter + def time_slice_target(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "time_slice_target", value) + + +@pulumi.input_type +class SloObjectiveCountMetricArgs: + def __init__(__self__, *, + incremental: pulumi.Input[bool], + goods: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodArgs']]]] = None, + totals: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalArgs']]]] = None): + pulumi.set(__self__, "incremental", incremental) + if goods is not None: + pulumi.set(__self__, "goods", goods) + if totals is not None: + pulumi.set(__self__, "totals", totals) + + @property + @pulumi.getter + def incremental(self) -> pulumi.Input[bool]: + return pulumi.get(self, "incremental") + + @incremental.setter + def incremental(self, value: pulumi.Input[bool]): + pulumi.set(self, "incremental", value) + + @property + @pulumi.getter + def goods(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodArgs']]]]: + return pulumi.get(self, "goods") + + @goods.setter + def goods(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodArgs']]]]): + pulumi.set(self, "goods", value) + + @property + @pulumi.getter + def totals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalArgs']]]]: + return pulumi.get(self, "totals") + + @totals.setter + def totals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalArgs']]]]): + pulumi.set(self, "totals", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodArgs: + def __init__(__self__, *, + amazon_prometheuses: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodAmazonPrometheusArgs']]]] = None, + appdynamics: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodAppdynamicArgs']]]] = None, + bigqueries: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodBigqueryArgs']]]] = None, + cloudwatches: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodCloudwatchArgs']]]] = None, + datadogs: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodDatadogArgs']]]] = None, + dynatraces: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodDynatraceArgs']]]] = None, + elasticsearches: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodElasticsearchArgs']]]] = None, + gcms: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodGcmArgs']]]] = None, + grafana_lokis: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodGrafanaLokiArgs']]]] = None, + graphites: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodGraphiteArgs']]]] = None, + influxdbs: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodInfluxdbArgs']]]] = None, + instanas: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodInstanaArgs']]]] = None, + lightsteps: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodLightstepArgs']]]] = None, + newrelics: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodNewrelicArgs']]]] = None, + opentsdbs: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodOpentsdbArgs']]]] = None, + pingdoms: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodPingdomArgs']]]] = None, + prometheuses: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodPrometheusArgs']]]] = None, + redshifts: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodRedshiftArgs']]]] = None, + splunk_observabilities: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodSplunkObservabilityArgs']]]] = None, + splunks: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodSplunkArgs']]]] = None, + sumologics: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodSumologicArgs']]]] = None, + thousandeyes: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodThousandeyeArgs']]]] = None): + if amazon_prometheuses is not None: + pulumi.set(__self__, "amazon_prometheuses", amazon_prometheuses) + if appdynamics is not None: + pulumi.set(__self__, "appdynamics", appdynamics) + if bigqueries is not None: + pulumi.set(__self__, "bigqueries", bigqueries) + if cloudwatches is not None: + pulumi.set(__self__, "cloudwatches", cloudwatches) + if datadogs is not None: + pulumi.set(__self__, "datadogs", datadogs) + if dynatraces is not None: + pulumi.set(__self__, "dynatraces", dynatraces) + if elasticsearches is not None: + pulumi.set(__self__, "elasticsearches", elasticsearches) + if gcms is not None: + pulumi.set(__self__, "gcms", gcms) + if grafana_lokis is not None: + pulumi.set(__self__, "grafana_lokis", grafana_lokis) + if graphites is not None: + pulumi.set(__self__, "graphites", graphites) + if influxdbs is not None: + pulumi.set(__self__, "influxdbs", influxdbs) + if instanas is not None: + pulumi.set(__self__, "instanas", instanas) + if lightsteps is not None: + pulumi.set(__self__, "lightsteps", lightsteps) + if newrelics is not None: + pulumi.set(__self__, "newrelics", newrelics) + if opentsdbs is not None: + pulumi.set(__self__, "opentsdbs", opentsdbs) + if pingdoms is not None: + pulumi.set(__self__, "pingdoms", pingdoms) + if prometheuses is not None: + pulumi.set(__self__, "prometheuses", prometheuses) + if redshifts is not None: + pulumi.set(__self__, "redshifts", redshifts) + if splunk_observabilities is not None: + pulumi.set(__self__, "splunk_observabilities", splunk_observabilities) + if splunks is not None: + pulumi.set(__self__, "splunks", splunks) + if sumologics is not None: + pulumi.set(__self__, "sumologics", sumologics) + if thousandeyes is not None: + pulumi.set(__self__, "thousandeyes", thousandeyes) + + @property + @pulumi.getter(name="amazonPrometheuses") + def amazon_prometheuses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodAmazonPrometheusArgs']]]]: + return pulumi.get(self, "amazon_prometheuses") + + @amazon_prometheuses.setter + def amazon_prometheuses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodAmazonPrometheusArgs']]]]): + pulumi.set(self, "amazon_prometheuses", value) + + @property + @pulumi.getter + def appdynamics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodAppdynamicArgs']]]]: + return pulumi.get(self, "appdynamics") + + @appdynamics.setter + def appdynamics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodAppdynamicArgs']]]]): + pulumi.set(self, "appdynamics", value) + + @property + @pulumi.getter + def bigqueries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodBigqueryArgs']]]]: + return pulumi.get(self, "bigqueries") + + @bigqueries.setter + def bigqueries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodBigqueryArgs']]]]): + pulumi.set(self, "bigqueries", value) + + @property + @pulumi.getter + def cloudwatches(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodCloudwatchArgs']]]]: + return pulumi.get(self, "cloudwatches") + + @cloudwatches.setter + def cloudwatches(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodCloudwatchArgs']]]]): + pulumi.set(self, "cloudwatches", value) + + @property + @pulumi.getter + def datadogs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodDatadogArgs']]]]: + return pulumi.get(self, "datadogs") + + @datadogs.setter + def datadogs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodDatadogArgs']]]]): + pulumi.set(self, "datadogs", value) + + @property + @pulumi.getter + def dynatraces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodDynatraceArgs']]]]: + return pulumi.get(self, "dynatraces") + + @dynatraces.setter + def dynatraces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodDynatraceArgs']]]]): + pulumi.set(self, "dynatraces", value) + + @property + @pulumi.getter + def elasticsearches(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodElasticsearchArgs']]]]: + return pulumi.get(self, "elasticsearches") + + @elasticsearches.setter + def elasticsearches(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodElasticsearchArgs']]]]): + pulumi.set(self, "elasticsearches", value) + + @property + @pulumi.getter + def gcms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodGcmArgs']]]]: + return pulumi.get(self, "gcms") + + @gcms.setter + def gcms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodGcmArgs']]]]): + pulumi.set(self, "gcms", value) + + @property + @pulumi.getter(name="grafanaLokis") + def grafana_lokis(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodGrafanaLokiArgs']]]]: + return pulumi.get(self, "grafana_lokis") + + @grafana_lokis.setter + def grafana_lokis(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodGrafanaLokiArgs']]]]): + pulumi.set(self, "grafana_lokis", value) + + @property + @pulumi.getter + def graphites(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodGraphiteArgs']]]]: + return pulumi.get(self, "graphites") + + @graphites.setter + def graphites(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodGraphiteArgs']]]]): + pulumi.set(self, "graphites", value) + + @property + @pulumi.getter + def influxdbs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodInfluxdbArgs']]]]: + return pulumi.get(self, "influxdbs") + + @influxdbs.setter + def influxdbs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodInfluxdbArgs']]]]): + pulumi.set(self, "influxdbs", value) + + @property + @pulumi.getter + def instanas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodInstanaArgs']]]]: + return pulumi.get(self, "instanas") + + @instanas.setter + def instanas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodInstanaArgs']]]]): + pulumi.set(self, "instanas", value) + + @property + @pulumi.getter + def lightsteps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodLightstepArgs']]]]: + return pulumi.get(self, "lightsteps") + + @lightsteps.setter + def lightsteps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodLightstepArgs']]]]): + pulumi.set(self, "lightsteps", value) + + @property + @pulumi.getter + def newrelics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodNewrelicArgs']]]]: + return pulumi.get(self, "newrelics") + + @newrelics.setter + def newrelics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodNewrelicArgs']]]]): + pulumi.set(self, "newrelics", value) + + @property + @pulumi.getter + def opentsdbs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodOpentsdbArgs']]]]: + return pulumi.get(self, "opentsdbs") + + @opentsdbs.setter + def opentsdbs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodOpentsdbArgs']]]]): + pulumi.set(self, "opentsdbs", value) + + @property + @pulumi.getter + def pingdoms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodPingdomArgs']]]]: + return pulumi.get(self, "pingdoms") + + @pingdoms.setter + def pingdoms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodPingdomArgs']]]]): + pulumi.set(self, "pingdoms", value) + + @property + @pulumi.getter + def prometheuses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodPrometheusArgs']]]]: + return pulumi.get(self, "prometheuses") + + @prometheuses.setter + def prometheuses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodPrometheusArgs']]]]): + pulumi.set(self, "prometheuses", value) + + @property + @pulumi.getter + def redshifts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodRedshiftArgs']]]]: + return pulumi.get(self, "redshifts") + + @redshifts.setter + def redshifts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodRedshiftArgs']]]]): + pulumi.set(self, "redshifts", value) + + @property + @pulumi.getter(name="splunkObservabilities") + def splunk_observabilities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodSplunkObservabilityArgs']]]]: + return pulumi.get(self, "splunk_observabilities") + + @splunk_observabilities.setter + def splunk_observabilities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodSplunkObservabilityArgs']]]]): + pulumi.set(self, "splunk_observabilities", value) + + @property + @pulumi.getter + def splunks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodSplunkArgs']]]]: + return pulumi.get(self, "splunks") + + @splunks.setter + def splunks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodSplunkArgs']]]]): + pulumi.set(self, "splunks", value) + + @property + @pulumi.getter + def sumologics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodSumologicArgs']]]]: + return pulumi.get(self, "sumologics") + + @sumologics.setter + def sumologics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodSumologicArgs']]]]): + pulumi.set(self, "sumologics", value) + + @property + @pulumi.getter + def thousandeyes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodThousandeyeArgs']]]]: + return pulumi.get(self, "thousandeyes") + + @thousandeyes.setter + def thousandeyes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodThousandeyeArgs']]]]): + pulumi.set(self, "thousandeyes", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodAmazonPrometheusArgs: + def __init__(__self__, *, + promql: pulumi.Input[str]): + pulumi.set(__self__, "promql", promql) + + @property + @pulumi.getter + def promql(self) -> pulumi.Input[str]: + return pulumi.get(self, "promql") + + @promql.setter + def promql(self, value: pulumi.Input[str]): + pulumi.set(self, "promql", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodAppdynamicArgs: + def __init__(__self__, *, + application_name: pulumi.Input[str], + metric_path: pulumi.Input[str]): + pulumi.set(__self__, "application_name", application_name) + pulumi.set(__self__, "metric_path", metric_path) + + @property + @pulumi.getter(name="applicationName") + def application_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "application_name") + + @application_name.setter + def application_name(self, value: pulumi.Input[str]): + pulumi.set(self, "application_name", value) + + @property + @pulumi.getter(name="metricPath") + def metric_path(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_path") + + @metric_path.setter + def metric_path(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_path", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodBigqueryArgs: + def __init__(__self__, *, + location: pulumi.Input[str], + project_id: pulumi.Input[str], + query: pulumi.Input[str]): + pulumi.set(__self__, "location", location) + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def location(self) -> pulumi.Input[str]: + return pulumi.get(self, "location") + + @location.setter + def location(self, value: pulumi.Input[str]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodCloudwatchArgs: + def __init__(__self__, *, + region: pulumi.Input[str], + dimensions: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodCloudwatchDimensionArgs']]]] = None, + json: Optional[pulumi.Input[str]] = None, + metric_name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + sql: Optional[pulumi.Input[str]] = None, + stat: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "region", region) + if dimensions is not None: + pulumi.set(__self__, "dimensions", dimensions) + if json is not None: + pulumi.set(__self__, "json", json) + if metric_name is not None: + pulumi.set(__self__, "metric_name", metric_name) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if sql is not None: + pulumi.set(__self__, "sql", sql) + if stat is not None: + pulumi.set(__self__, "stat", stat) + + @property + @pulumi.getter + def region(self) -> pulumi.Input[str]: + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[str]): + pulumi.set(self, "region", value) + + @property + @pulumi.getter + def dimensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodCloudwatchDimensionArgs']]]]: + return pulumi.get(self, "dimensions") + + @dimensions.setter + def dimensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodCloudwatchDimensionArgs']]]]): + pulumi.set(self, "dimensions", value) + + @property + @pulumi.getter + def json(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "json") + + @json.setter + def json(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "json", value) + + @property + @pulumi.getter(name="metricName") + def metric_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "metric_name") + + @metric_name.setter + def metric_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metric_name", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter + def sql(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "sql") + + @sql.setter + def sql(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sql", value) + + @property + @pulumi.getter + def stat(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "stat") + + @stat.setter + def stat(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "stat", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodCloudwatchDimensionArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + value: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodDatadogArgs: + def __init__(__self__, *, + query: pulumi.Input[str]): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodDynatraceArgs: + def __init__(__self__, *, + metric_selector: pulumi.Input[str]): + pulumi.set(__self__, "metric_selector", metric_selector) + + @property + @pulumi.getter(name="metricSelector") + def metric_selector(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_selector") + + @metric_selector.setter + def metric_selector(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_selector", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodElasticsearchArgs: + def __init__(__self__, *, + index: pulumi.Input[str], + query: pulumi.Input[str]): + pulumi.set(__self__, "index", index) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def index(self) -> pulumi.Input[str]: + return pulumi.get(self, "index") + + @index.setter + def index(self, value: pulumi.Input[str]): + pulumi.set(self, "index", value) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodGcmArgs: + def __init__(__self__, *, + project_id: pulumi.Input[str], + query: pulumi.Input[str]): + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodGrafanaLokiArgs: + def __init__(__self__, *, + logql: pulumi.Input[str]): + pulumi.set(__self__, "logql", logql) + + @property + @pulumi.getter + def logql(self) -> pulumi.Input[str]: + return pulumi.get(self, "logql") + + @logql.setter + def logql(self, value: pulumi.Input[str]): + pulumi.set(self, "logql", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodGraphiteArgs: + def __init__(__self__, *, + metric_path: pulumi.Input[str]): + pulumi.set(__self__, "metric_path", metric_path) + + @property + @pulumi.getter(name="metricPath") + def metric_path(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_path") + + @metric_path.setter + def metric_path(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_path", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodInfluxdbArgs: + def __init__(__self__, *, + query: pulumi.Input[str]): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodInstanaArgs: + def __init__(__self__, *, + metric_type: pulumi.Input[str], + applications: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodInstanaApplicationArgs']]]] = None, + infrastructures: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodInstanaInfrastructureArgs']]]] = None): + pulumi.set(__self__, "metric_type", metric_type) + if applications is not None: + pulumi.set(__self__, "applications", applications) + if infrastructures is not None: + pulumi.set(__self__, "infrastructures", infrastructures) + + @property + @pulumi.getter(name="metricType") + def metric_type(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_type") + + @metric_type.setter + def metric_type(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_type", value) + + @property + @pulumi.getter + def applications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodInstanaApplicationArgs']]]]: + return pulumi.get(self, "applications") + + @applications.setter + def applications(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodInstanaApplicationArgs']]]]): + pulumi.set(self, "applications", value) + + @property + @pulumi.getter + def infrastructures(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodInstanaInfrastructureArgs']]]]: + return pulumi.get(self, "infrastructures") + + @infrastructures.setter + def infrastructures(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodInstanaInfrastructureArgs']]]]): + pulumi.set(self, "infrastructures", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodInstanaApplicationArgs: + def __init__(__self__, *, + aggregation: pulumi.Input[str], + api_query: pulumi.Input[str], + group_bies: pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs']]], + metric_id: pulumi.Input[str], + include_internal: Optional[pulumi.Input[bool]] = None, + include_synthetic: Optional[pulumi.Input[bool]] = None): + pulumi.set(__self__, "aggregation", aggregation) + pulumi.set(__self__, "api_query", api_query) + pulumi.set(__self__, "group_bies", group_bies) + pulumi.set(__self__, "metric_id", metric_id) + if include_internal is not None: + pulumi.set(__self__, "include_internal", include_internal) + if include_synthetic is not None: + pulumi.set(__self__, "include_synthetic", include_synthetic) + + @property + @pulumi.getter + def aggregation(self) -> pulumi.Input[str]: + return pulumi.get(self, "aggregation") + + @aggregation.setter + def aggregation(self, value: pulumi.Input[str]): + pulumi.set(self, "aggregation", value) + + @property + @pulumi.getter(name="apiQuery") + def api_query(self) -> pulumi.Input[str]: + return pulumi.get(self, "api_query") + + @api_query.setter + def api_query(self, value: pulumi.Input[str]): + pulumi.set(self, "api_query", value) + + @property + @pulumi.getter(name="groupBies") + def group_bies(self) -> pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs']]]: + return pulumi.get(self, "group_bies") + + @group_bies.setter + def group_bies(self, value: pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs']]]): + pulumi.set(self, "group_bies", value) + + @property + @pulumi.getter(name="metricId") + def metric_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_id") + + @metric_id.setter + def metric_id(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_id", value) + + @property + @pulumi.getter(name="includeInternal") + def include_internal(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "include_internal") + + @include_internal.setter + def include_internal(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "include_internal", value) + + @property + @pulumi.getter(name="includeSynthetic") + def include_synthetic(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "include_synthetic") + + @include_synthetic.setter + def include_synthetic(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "include_synthetic", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodInstanaApplicationGroupByArgs: + def __init__(__self__, *, + tag: pulumi.Input[str], + tag_entity: pulumi.Input[str], + tag_second_level_key: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "tag", tag) + pulumi.set(__self__, "tag_entity", tag_entity) + if tag_second_level_key is not None: + pulumi.set(__self__, "tag_second_level_key", tag_second_level_key) + + @property + @pulumi.getter + def tag(self) -> pulumi.Input[str]: + return pulumi.get(self, "tag") + + @tag.setter + def tag(self, value: pulumi.Input[str]): + pulumi.set(self, "tag", value) + + @property + @pulumi.getter(name="tagEntity") + def tag_entity(self) -> pulumi.Input[str]: + return pulumi.get(self, "tag_entity") + + @tag_entity.setter + def tag_entity(self, value: pulumi.Input[str]): + pulumi.set(self, "tag_entity", value) + + @property + @pulumi.getter(name="tagSecondLevelKey") + def tag_second_level_key(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "tag_second_level_key") + + @tag_second_level_key.setter + def tag_second_level_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tag_second_level_key", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodInstanaInfrastructureArgs: + def __init__(__self__, *, + metric_id: pulumi.Input[str], + metric_retrieval_method: pulumi.Input[str], + plugin_id: pulumi.Input[str], + query: Optional[pulumi.Input[str]] = None, + snapshot_id: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "metric_id", metric_id) + pulumi.set(__self__, "metric_retrieval_method", metric_retrieval_method) + pulumi.set(__self__, "plugin_id", plugin_id) + if query is not None: + pulumi.set(__self__, "query", query) + if snapshot_id is not None: + pulumi.set(__self__, "snapshot_id", snapshot_id) + + @property + @pulumi.getter(name="metricId") + def metric_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_id") + + @metric_id.setter + def metric_id(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_id", value) + + @property + @pulumi.getter(name="metricRetrievalMethod") + def metric_retrieval_method(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_retrieval_method") + + @metric_retrieval_method.setter + def metric_retrieval_method(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_retrieval_method", value) + + @property + @pulumi.getter(name="pluginId") + def plugin_id(self) -> pulumi.Input[str]: + 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 + def query(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "query", value) + + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "snapshot_id") + + @snapshot_id.setter + def snapshot_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "snapshot_id", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodLightstepArgs: + def __init__(__self__, *, + type_of_data: pulumi.Input[str], + percentile: Optional[pulumi.Input[float]] = None, + stream_id: Optional[pulumi.Input[str]] = None, + uql: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "type_of_data", type_of_data) + if percentile is not None: + pulumi.set(__self__, "percentile", percentile) + if stream_id is not None: + pulumi.set(__self__, "stream_id", stream_id) + if uql is not None: + pulumi.set(__self__, "uql", uql) + + @property + @pulumi.getter(name="typeOfData") + def type_of_data(self) -> pulumi.Input[str]: + return pulumi.get(self, "type_of_data") + + @type_of_data.setter + def type_of_data(self, value: pulumi.Input[str]): + pulumi.set(self, "type_of_data", value) + + @property + @pulumi.getter + def percentile(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "percentile") + + @percentile.setter + def percentile(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "percentile", value) + + @property + @pulumi.getter(name="streamId") + def stream_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "stream_id") + + @stream_id.setter + def stream_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "stream_id", value) + + @property + @pulumi.getter + def uql(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "uql") + + @uql.setter + def uql(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "uql", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodNewrelicArgs: + def __init__(__self__, *, + nrql: pulumi.Input[str]): + pulumi.set(__self__, "nrql", nrql) + + @property + @pulumi.getter + def nrql(self) -> pulumi.Input[str]: + return pulumi.get(self, "nrql") + + @nrql.setter + def nrql(self, value: pulumi.Input[str]): + pulumi.set(self, "nrql", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodOpentsdbArgs: + def __init__(__self__, *, + query: pulumi.Input[str]): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodPingdomArgs: + def __init__(__self__, *, + check_id: pulumi.Input[str], + check_type: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "check_id", check_id) + if check_type is not None: + pulumi.set(__self__, "check_type", check_type) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="checkId") + def check_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "check_id") + + @check_id.setter + def check_id(self, value: pulumi.Input[str]): + pulumi.set(self, "check_id", value) + + @property + @pulumi.getter(name="checkType") + def check_type(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "check_type") + + @check_type.setter + def check_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "check_type", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodPrometheusArgs: + def __init__(__self__, *, + promql: pulumi.Input[str]): + pulumi.set(__self__, "promql", promql) + + @property + @pulumi.getter + def promql(self) -> pulumi.Input[str]: + return pulumi.get(self, "promql") + + @promql.setter + def promql(self, value: pulumi.Input[str]): + pulumi.set(self, "promql", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodRedshiftArgs: + def __init__(__self__, *, + cluster_id: pulumi.Input[str], + database_name: pulumi.Input[str], + query: pulumi.Input[str], + region: pulumi.Input[str]): + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "database_name", database_name) + pulumi.set(__self__, "query", query) + pulumi.set(__self__, "region", region) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_id", value) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "database_name") + + @database_name.setter + def database_name(self, value: pulumi.Input[str]): + pulumi.set(self, "database_name", value) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + @property + @pulumi.getter + def region(self) -> pulumi.Input[str]: + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[str]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodSplunkArgs: + def __init__(__self__, *, + query: pulumi.Input[str]): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodSplunkObservabilityArgs: + def __init__(__self__, *, + program: pulumi.Input[str]): + pulumi.set(__self__, "program", program) + + @property + @pulumi.getter + def program(self) -> pulumi.Input[str]: + return pulumi.get(self, "program") + + @program.setter + def program(self, value: pulumi.Input[str]): + pulumi.set(self, "program", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodSumologicArgs: + def __init__(__self__, *, + query: pulumi.Input[str], + type: pulumi.Input[str], + quantization: Optional[pulumi.Input[str]] = None, + rollup: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "query", query) + pulumi.set(__self__, "type", type) + if quantization is not None: + pulumi.set(__self__, "quantization", quantization) + if rollup is not None: + pulumi.set(__self__, "rollup", rollup) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def quantization(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "quantization") + + @quantization.setter + def quantization(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "quantization", value) + + @property + @pulumi.getter + def rollup(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "rollup") + + @rollup.setter + def rollup(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rollup", value) + + +@pulumi.input_type +class SloObjectiveCountMetricGoodThousandeyeArgs: + def __init__(__self__, *, + test_id: pulumi.Input[int]): + pulumi.set(__self__, "test_id", test_id) + + @property + @pulumi.getter(name="testId") + def test_id(self) -> pulumi.Input[int]: + return pulumi.get(self, "test_id") + + @test_id.setter + def test_id(self, value: pulumi.Input[int]): + pulumi.set(self, "test_id", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalArgs: + def __init__(__self__, *, + amazon_prometheuses: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalAmazonPrometheusArgs']]]] = None, + appdynamics: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalAppdynamicArgs']]]] = None, + bigqueries: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalBigqueryArgs']]]] = None, + cloudwatches: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalCloudwatchArgs']]]] = None, + datadogs: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalDatadogArgs']]]] = None, + dynatraces: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalDynatraceArgs']]]] = None, + elasticsearches: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalElasticsearchArgs']]]] = None, + gcms: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalGcmArgs']]]] = None, + grafana_lokis: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalGrafanaLokiArgs']]]] = None, + graphites: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalGraphiteArgs']]]] = None, + influxdbs: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalInfluxdbArgs']]]] = None, + instanas: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalInstanaArgs']]]] = None, + lightsteps: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalLightstepArgs']]]] = None, + newrelics: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalNewrelicArgs']]]] = None, + opentsdbs: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalOpentsdbArgs']]]] = None, + pingdoms: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalPingdomArgs']]]] = None, + prometheuses: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalPrometheusArgs']]]] = None, + redshifts: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalRedshiftArgs']]]] = None, + splunk_observabilities: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalSplunkObservabilityArgs']]]] = None, + splunks: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalSplunkArgs']]]] = None, + sumologics: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalSumologicArgs']]]] = None, + thousandeyes: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalThousandeyeArgs']]]] = None): + if amazon_prometheuses is not None: + pulumi.set(__self__, "amazon_prometheuses", amazon_prometheuses) + if appdynamics is not None: + pulumi.set(__self__, "appdynamics", appdynamics) + if bigqueries is not None: + pulumi.set(__self__, "bigqueries", bigqueries) + if cloudwatches is not None: + pulumi.set(__self__, "cloudwatches", cloudwatches) + if datadogs is not None: + pulumi.set(__self__, "datadogs", datadogs) + if dynatraces is not None: + pulumi.set(__self__, "dynatraces", dynatraces) + if elasticsearches is not None: + pulumi.set(__self__, "elasticsearches", elasticsearches) + if gcms is not None: + pulumi.set(__self__, "gcms", gcms) + if grafana_lokis is not None: + pulumi.set(__self__, "grafana_lokis", grafana_lokis) + if graphites is not None: + pulumi.set(__self__, "graphites", graphites) + if influxdbs is not None: + pulumi.set(__self__, "influxdbs", influxdbs) + if instanas is not None: + pulumi.set(__self__, "instanas", instanas) + if lightsteps is not None: + pulumi.set(__self__, "lightsteps", lightsteps) + if newrelics is not None: + pulumi.set(__self__, "newrelics", newrelics) + if opentsdbs is not None: + pulumi.set(__self__, "opentsdbs", opentsdbs) + if pingdoms is not None: + pulumi.set(__self__, "pingdoms", pingdoms) + if prometheuses is not None: + pulumi.set(__self__, "prometheuses", prometheuses) + if redshifts is not None: + pulumi.set(__self__, "redshifts", redshifts) + if splunk_observabilities is not None: + pulumi.set(__self__, "splunk_observabilities", splunk_observabilities) + if splunks is not None: + pulumi.set(__self__, "splunks", splunks) + if sumologics is not None: + pulumi.set(__self__, "sumologics", sumologics) + if thousandeyes is not None: + pulumi.set(__self__, "thousandeyes", thousandeyes) + + @property + @pulumi.getter(name="amazonPrometheuses") + def amazon_prometheuses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalAmazonPrometheusArgs']]]]: + return pulumi.get(self, "amazon_prometheuses") + + @amazon_prometheuses.setter + def amazon_prometheuses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalAmazonPrometheusArgs']]]]): + pulumi.set(self, "amazon_prometheuses", value) + + @property + @pulumi.getter + def appdynamics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalAppdynamicArgs']]]]: + return pulumi.get(self, "appdynamics") + + @appdynamics.setter + def appdynamics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalAppdynamicArgs']]]]): + pulumi.set(self, "appdynamics", value) + + @property + @pulumi.getter + def bigqueries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalBigqueryArgs']]]]: + return pulumi.get(self, "bigqueries") + + @bigqueries.setter + def bigqueries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalBigqueryArgs']]]]): + pulumi.set(self, "bigqueries", value) + + @property + @pulumi.getter + def cloudwatches(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalCloudwatchArgs']]]]: + return pulumi.get(self, "cloudwatches") + + @cloudwatches.setter + def cloudwatches(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalCloudwatchArgs']]]]): + pulumi.set(self, "cloudwatches", value) + + @property + @pulumi.getter + def datadogs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalDatadogArgs']]]]: + return pulumi.get(self, "datadogs") + + @datadogs.setter + def datadogs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalDatadogArgs']]]]): + pulumi.set(self, "datadogs", value) + + @property + @pulumi.getter + def dynatraces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalDynatraceArgs']]]]: + return pulumi.get(self, "dynatraces") + + @dynatraces.setter + def dynatraces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalDynatraceArgs']]]]): + pulumi.set(self, "dynatraces", value) + + @property + @pulumi.getter + def elasticsearches(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalElasticsearchArgs']]]]: + return pulumi.get(self, "elasticsearches") + + @elasticsearches.setter + def elasticsearches(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalElasticsearchArgs']]]]): + pulumi.set(self, "elasticsearches", value) + + @property + @pulumi.getter + def gcms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalGcmArgs']]]]: + return pulumi.get(self, "gcms") + + @gcms.setter + def gcms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalGcmArgs']]]]): + pulumi.set(self, "gcms", value) + + @property + @pulumi.getter(name="grafanaLokis") + def grafana_lokis(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalGrafanaLokiArgs']]]]: + return pulumi.get(self, "grafana_lokis") + + @grafana_lokis.setter + def grafana_lokis(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalGrafanaLokiArgs']]]]): + pulumi.set(self, "grafana_lokis", value) + + @property + @pulumi.getter + def graphites(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalGraphiteArgs']]]]: + return pulumi.get(self, "graphites") + + @graphites.setter + def graphites(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalGraphiteArgs']]]]): + pulumi.set(self, "graphites", value) + + @property + @pulumi.getter + def influxdbs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalInfluxdbArgs']]]]: + return pulumi.get(self, "influxdbs") + + @influxdbs.setter + def influxdbs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalInfluxdbArgs']]]]): + pulumi.set(self, "influxdbs", value) + + @property + @pulumi.getter + def instanas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalInstanaArgs']]]]: + return pulumi.get(self, "instanas") + + @instanas.setter + def instanas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalInstanaArgs']]]]): + pulumi.set(self, "instanas", value) + + @property + @pulumi.getter + def lightsteps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalLightstepArgs']]]]: + return pulumi.get(self, "lightsteps") + + @lightsteps.setter + def lightsteps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalLightstepArgs']]]]): + pulumi.set(self, "lightsteps", value) + + @property + @pulumi.getter + def newrelics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalNewrelicArgs']]]]: + return pulumi.get(self, "newrelics") + + @newrelics.setter + def newrelics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalNewrelicArgs']]]]): + pulumi.set(self, "newrelics", value) + + @property + @pulumi.getter + def opentsdbs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalOpentsdbArgs']]]]: + return pulumi.get(self, "opentsdbs") + + @opentsdbs.setter + def opentsdbs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalOpentsdbArgs']]]]): + pulumi.set(self, "opentsdbs", value) + + @property + @pulumi.getter + def pingdoms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalPingdomArgs']]]]: + return pulumi.get(self, "pingdoms") + + @pingdoms.setter + def pingdoms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalPingdomArgs']]]]): + pulumi.set(self, "pingdoms", value) + + @property + @pulumi.getter + def prometheuses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalPrometheusArgs']]]]: + return pulumi.get(self, "prometheuses") + + @prometheuses.setter + def prometheuses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalPrometheusArgs']]]]): + pulumi.set(self, "prometheuses", value) + + @property + @pulumi.getter + def redshifts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalRedshiftArgs']]]]: + return pulumi.get(self, "redshifts") + + @redshifts.setter + def redshifts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalRedshiftArgs']]]]): + pulumi.set(self, "redshifts", value) + + @property + @pulumi.getter(name="splunkObservabilities") + def splunk_observabilities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalSplunkObservabilityArgs']]]]: + return pulumi.get(self, "splunk_observabilities") + + @splunk_observabilities.setter + def splunk_observabilities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalSplunkObservabilityArgs']]]]): + pulumi.set(self, "splunk_observabilities", value) + + @property + @pulumi.getter + def splunks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalSplunkArgs']]]]: + return pulumi.get(self, "splunks") + + @splunks.setter + def splunks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalSplunkArgs']]]]): + pulumi.set(self, "splunks", value) + + @property + @pulumi.getter + def sumologics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalSumologicArgs']]]]: + return pulumi.get(self, "sumologics") + + @sumologics.setter + def sumologics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalSumologicArgs']]]]): + pulumi.set(self, "sumologics", value) + + @property + @pulumi.getter + def thousandeyes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalThousandeyeArgs']]]]: + return pulumi.get(self, "thousandeyes") + + @thousandeyes.setter + def thousandeyes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalThousandeyeArgs']]]]): + pulumi.set(self, "thousandeyes", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalAmazonPrometheusArgs: + def __init__(__self__, *, + promql: pulumi.Input[str]): + pulumi.set(__self__, "promql", promql) + + @property + @pulumi.getter + def promql(self) -> pulumi.Input[str]: + return pulumi.get(self, "promql") + + @promql.setter + def promql(self, value: pulumi.Input[str]): + pulumi.set(self, "promql", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalAppdynamicArgs: + def __init__(__self__, *, + application_name: pulumi.Input[str], + metric_path: pulumi.Input[str]): + pulumi.set(__self__, "application_name", application_name) + pulumi.set(__self__, "metric_path", metric_path) + + @property + @pulumi.getter(name="applicationName") + def application_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "application_name") + + @application_name.setter + def application_name(self, value: pulumi.Input[str]): + pulumi.set(self, "application_name", value) + + @property + @pulumi.getter(name="metricPath") + def metric_path(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_path") + + @metric_path.setter + def metric_path(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_path", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalBigqueryArgs: + def __init__(__self__, *, + location: pulumi.Input[str], + project_id: pulumi.Input[str], + query: pulumi.Input[str]): + pulumi.set(__self__, "location", location) + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def location(self) -> pulumi.Input[str]: + return pulumi.get(self, "location") + + @location.setter + def location(self, value: pulumi.Input[str]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalCloudwatchArgs: + def __init__(__self__, *, + region: pulumi.Input[str], + dimensions: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalCloudwatchDimensionArgs']]]] = None, + json: Optional[pulumi.Input[str]] = None, + metric_name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + sql: Optional[pulumi.Input[str]] = None, + stat: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "region", region) + if dimensions is not None: + pulumi.set(__self__, "dimensions", dimensions) + if json is not None: + pulumi.set(__self__, "json", json) + if metric_name is not None: + pulumi.set(__self__, "metric_name", metric_name) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if sql is not None: + pulumi.set(__self__, "sql", sql) + if stat is not None: + pulumi.set(__self__, "stat", stat) + + @property + @pulumi.getter + def region(self) -> pulumi.Input[str]: + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[str]): + pulumi.set(self, "region", value) + + @property + @pulumi.getter + def dimensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalCloudwatchDimensionArgs']]]]: + return pulumi.get(self, "dimensions") + + @dimensions.setter + def dimensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalCloudwatchDimensionArgs']]]]): + pulumi.set(self, "dimensions", value) + + @property + @pulumi.getter + def json(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "json") + + @json.setter + def json(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "json", value) + + @property + @pulumi.getter(name="metricName") + def metric_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "metric_name") + + @metric_name.setter + def metric_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metric_name", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter + def sql(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "sql") + + @sql.setter + def sql(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sql", value) + + @property + @pulumi.getter + def stat(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "stat") + + @stat.setter + def stat(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "stat", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalCloudwatchDimensionArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + value: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalDatadogArgs: + def __init__(__self__, *, + query: pulumi.Input[str]): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalDynatraceArgs: + def __init__(__self__, *, + metric_selector: pulumi.Input[str]): + pulumi.set(__self__, "metric_selector", metric_selector) + + @property + @pulumi.getter(name="metricSelector") + def metric_selector(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_selector") + + @metric_selector.setter + def metric_selector(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_selector", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalElasticsearchArgs: + def __init__(__self__, *, + index: pulumi.Input[str], + query: pulumi.Input[str]): + pulumi.set(__self__, "index", index) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def index(self) -> pulumi.Input[str]: + return pulumi.get(self, "index") + + @index.setter + def index(self, value: pulumi.Input[str]): + pulumi.set(self, "index", value) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalGcmArgs: + def __init__(__self__, *, + project_id: pulumi.Input[str], + query: pulumi.Input[str]): + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalGrafanaLokiArgs: + def __init__(__self__, *, + logql: pulumi.Input[str]): + pulumi.set(__self__, "logql", logql) + + @property + @pulumi.getter + def logql(self) -> pulumi.Input[str]: + return pulumi.get(self, "logql") + + @logql.setter + def logql(self, value: pulumi.Input[str]): + pulumi.set(self, "logql", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalGraphiteArgs: + def __init__(__self__, *, + metric_path: pulumi.Input[str]): + pulumi.set(__self__, "metric_path", metric_path) + + @property + @pulumi.getter(name="metricPath") + def metric_path(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_path") + + @metric_path.setter + def metric_path(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_path", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalInfluxdbArgs: + def __init__(__self__, *, + query: pulumi.Input[str]): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalInstanaArgs: + def __init__(__self__, *, + metric_type: pulumi.Input[str], + applications: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalInstanaApplicationArgs']]]] = None, + infrastructures: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalInstanaInfrastructureArgs']]]] = None): + pulumi.set(__self__, "metric_type", metric_type) + if applications is not None: + pulumi.set(__self__, "applications", applications) + if infrastructures is not None: + pulumi.set(__self__, "infrastructures", infrastructures) + + @property + @pulumi.getter(name="metricType") + def metric_type(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_type") + + @metric_type.setter + def metric_type(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_type", value) + + @property + @pulumi.getter + def applications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalInstanaApplicationArgs']]]]: + return pulumi.get(self, "applications") + + @applications.setter + def applications(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalInstanaApplicationArgs']]]]): + pulumi.set(self, "applications", value) + + @property + @pulumi.getter + def infrastructures(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalInstanaInfrastructureArgs']]]]: + return pulumi.get(self, "infrastructures") + + @infrastructures.setter + def infrastructures(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalInstanaInfrastructureArgs']]]]): + pulumi.set(self, "infrastructures", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalInstanaApplicationArgs: + def __init__(__self__, *, + aggregation: pulumi.Input[str], + api_query: pulumi.Input[str], + group_bies: pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs']]], + metric_id: pulumi.Input[str], + include_internal: Optional[pulumi.Input[bool]] = None, + include_synthetic: Optional[pulumi.Input[bool]] = None): + pulumi.set(__self__, "aggregation", aggregation) + pulumi.set(__self__, "api_query", api_query) + pulumi.set(__self__, "group_bies", group_bies) + pulumi.set(__self__, "metric_id", metric_id) + if include_internal is not None: + pulumi.set(__self__, "include_internal", include_internal) + if include_synthetic is not None: + pulumi.set(__self__, "include_synthetic", include_synthetic) + + @property + @pulumi.getter + def aggregation(self) -> pulumi.Input[str]: + return pulumi.get(self, "aggregation") + + @aggregation.setter + def aggregation(self, value: pulumi.Input[str]): + pulumi.set(self, "aggregation", value) + + @property + @pulumi.getter(name="apiQuery") + def api_query(self) -> pulumi.Input[str]: + return pulumi.get(self, "api_query") + + @api_query.setter + def api_query(self, value: pulumi.Input[str]): + pulumi.set(self, "api_query", value) + + @property + @pulumi.getter(name="groupBies") + def group_bies(self) -> pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs']]]: + return pulumi.get(self, "group_bies") + + @group_bies.setter + def group_bies(self, value: pulumi.Input[Sequence[pulumi.Input['SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs']]]): + pulumi.set(self, "group_bies", value) + + @property + @pulumi.getter(name="metricId") + def metric_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_id") + + @metric_id.setter + def metric_id(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_id", value) + + @property + @pulumi.getter(name="includeInternal") + def include_internal(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "include_internal") + + @include_internal.setter + def include_internal(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "include_internal", value) + + @property + @pulumi.getter(name="includeSynthetic") + def include_synthetic(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "include_synthetic") + + @include_synthetic.setter + def include_synthetic(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "include_synthetic", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalInstanaApplicationGroupByArgs: + def __init__(__self__, *, + tag: pulumi.Input[str], + tag_entity: pulumi.Input[str], + tag_second_level_key: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "tag", tag) + pulumi.set(__self__, "tag_entity", tag_entity) + if tag_second_level_key is not None: + pulumi.set(__self__, "tag_second_level_key", tag_second_level_key) + + @property + @pulumi.getter + def tag(self) -> pulumi.Input[str]: + return pulumi.get(self, "tag") + + @tag.setter + def tag(self, value: pulumi.Input[str]): + pulumi.set(self, "tag", value) + + @property + @pulumi.getter(name="tagEntity") + def tag_entity(self) -> pulumi.Input[str]: + return pulumi.get(self, "tag_entity") + + @tag_entity.setter + def tag_entity(self, value: pulumi.Input[str]): + pulumi.set(self, "tag_entity", value) + + @property + @pulumi.getter(name="tagSecondLevelKey") + def tag_second_level_key(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "tag_second_level_key") + + @tag_second_level_key.setter + def tag_second_level_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tag_second_level_key", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalInstanaInfrastructureArgs: + def __init__(__self__, *, + metric_id: pulumi.Input[str], + metric_retrieval_method: pulumi.Input[str], + plugin_id: pulumi.Input[str], + query: Optional[pulumi.Input[str]] = None, + snapshot_id: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "metric_id", metric_id) + pulumi.set(__self__, "metric_retrieval_method", metric_retrieval_method) + pulumi.set(__self__, "plugin_id", plugin_id) + if query is not None: + pulumi.set(__self__, "query", query) + if snapshot_id is not None: + pulumi.set(__self__, "snapshot_id", snapshot_id) + + @property + @pulumi.getter(name="metricId") + def metric_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_id") + + @metric_id.setter + def metric_id(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_id", value) + + @property + @pulumi.getter(name="metricRetrievalMethod") + def metric_retrieval_method(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_retrieval_method") + + @metric_retrieval_method.setter + def metric_retrieval_method(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_retrieval_method", value) + + @property + @pulumi.getter(name="pluginId") + def plugin_id(self) -> pulumi.Input[str]: + 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 + def query(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "query", value) + + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "snapshot_id") + + @snapshot_id.setter + def snapshot_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "snapshot_id", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalLightstepArgs: + def __init__(__self__, *, + type_of_data: pulumi.Input[str], + percentile: Optional[pulumi.Input[float]] = None, + stream_id: Optional[pulumi.Input[str]] = None, + uql: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "type_of_data", type_of_data) + if percentile is not None: + pulumi.set(__self__, "percentile", percentile) + if stream_id is not None: + pulumi.set(__self__, "stream_id", stream_id) + if uql is not None: + pulumi.set(__self__, "uql", uql) + + @property + @pulumi.getter(name="typeOfData") + def type_of_data(self) -> pulumi.Input[str]: + return pulumi.get(self, "type_of_data") + + @type_of_data.setter + def type_of_data(self, value: pulumi.Input[str]): + pulumi.set(self, "type_of_data", value) + + @property + @pulumi.getter + def percentile(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "percentile") + + @percentile.setter + def percentile(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "percentile", value) + + @property + @pulumi.getter(name="streamId") + def stream_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "stream_id") + + @stream_id.setter + def stream_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "stream_id", value) + + @property + @pulumi.getter + def uql(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "uql") + + @uql.setter + def uql(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "uql", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalNewrelicArgs: + def __init__(__self__, *, + nrql: pulumi.Input[str]): + pulumi.set(__self__, "nrql", nrql) + + @property + @pulumi.getter + def nrql(self) -> pulumi.Input[str]: + return pulumi.get(self, "nrql") + + @nrql.setter + def nrql(self, value: pulumi.Input[str]): + pulumi.set(self, "nrql", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalOpentsdbArgs: + def __init__(__self__, *, + query: pulumi.Input[str]): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalPingdomArgs: + def __init__(__self__, *, + check_id: pulumi.Input[str], + check_type: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "check_id", check_id) + if check_type is not None: + pulumi.set(__self__, "check_type", check_type) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="checkId") + def check_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "check_id") + + @check_id.setter + def check_id(self, value: pulumi.Input[str]): + pulumi.set(self, "check_id", value) + + @property + @pulumi.getter(name="checkType") + def check_type(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "check_type") + + @check_type.setter + def check_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "check_type", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalPrometheusArgs: + def __init__(__self__, *, + promql: pulumi.Input[str]): + pulumi.set(__self__, "promql", promql) + + @property + @pulumi.getter + def promql(self) -> pulumi.Input[str]: + return pulumi.get(self, "promql") + + @promql.setter + def promql(self, value: pulumi.Input[str]): + pulumi.set(self, "promql", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalRedshiftArgs: + def __init__(__self__, *, + cluster_id: pulumi.Input[str], + database_name: pulumi.Input[str], + query: pulumi.Input[str], + region: pulumi.Input[str]): + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "database_name", database_name) + pulumi.set(__self__, "query", query) + pulumi.set(__self__, "region", region) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_id", value) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "database_name") + + @database_name.setter + def database_name(self, value: pulumi.Input[str]): + pulumi.set(self, "database_name", value) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + @property + @pulumi.getter + def region(self) -> pulumi.Input[str]: + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[str]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalSplunkArgs: + def __init__(__self__, *, + query: pulumi.Input[str]): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalSplunkObservabilityArgs: + def __init__(__self__, *, + program: pulumi.Input[str]): + pulumi.set(__self__, "program", program) + + @property + @pulumi.getter + def program(self) -> pulumi.Input[str]: + return pulumi.get(self, "program") + + @program.setter + def program(self, value: pulumi.Input[str]): + pulumi.set(self, "program", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalSumologicArgs: + def __init__(__self__, *, + query: pulumi.Input[str], + type: pulumi.Input[str], + quantization: Optional[pulumi.Input[str]] = None, + rollup: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "query", query) + pulumi.set(__self__, "type", type) + if quantization is not None: + pulumi.set(__self__, "quantization", quantization) + if rollup is not None: + pulumi.set(__self__, "rollup", rollup) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def quantization(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "quantization") + + @quantization.setter + def quantization(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "quantization", value) + + @property + @pulumi.getter + def rollup(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "rollup") + + @rollup.setter + def rollup(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rollup", value) + + +@pulumi.input_type +class SloObjectiveCountMetricTotalThousandeyeArgs: + def __init__(__self__, *, + test_id: pulumi.Input[int]): + pulumi.set(__self__, "test_id", test_id) + + @property + @pulumi.getter(name="testId") + def test_id(self) -> pulumi.Input[int]: + return pulumi.get(self, "test_id") + + @test_id.setter + def test_id(self, value: pulumi.Input[int]): + pulumi.set(self, "test_id", value) + + +@pulumi.input_type +class SloObjectiveRawMetricArgs: + def __init__(__self__, *, + queries: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryArgs']]]] = None): + if queries is not None: + pulumi.set(__self__, "queries", queries) + + @property + @pulumi.getter + def queries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryArgs']]]]: + return pulumi.get(self, "queries") + + @queries.setter + def queries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryArgs']]]]): + pulumi.set(self, "queries", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryArgs: + def __init__(__self__, *, + amazon_prometheuses: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryAmazonPrometheusArgs']]]] = None, + appdynamics: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryAppdynamicArgs']]]] = None, + bigqueries: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryBigqueryArgs']]]] = None, + cloudwatches: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryCloudwatchArgs']]]] = None, + datadogs: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryDatadogArgs']]]] = None, + dynatraces: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryDynatraceArgs']]]] = None, + elasticsearches: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryElasticsearchArgs']]]] = None, + gcms: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryGcmArgs']]]] = None, + grafana_lokis: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryGrafanaLokiArgs']]]] = None, + graphites: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryGraphiteArgs']]]] = None, + influxdbs: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryInfluxdbArgs']]]] = None, + instanas: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryInstanaArgs']]]] = None, + lightsteps: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryLightstepArgs']]]] = None, + newrelics: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryNewrelicArgs']]]] = None, + opentsdbs: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryOpentsdbArgs']]]] = None, + pingdoms: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryPingdomArgs']]]] = None, + prometheuses: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryPrometheusArgs']]]] = None, + redshifts: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryRedshiftArgs']]]] = None, + splunk_observabilities: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQuerySplunkObservabilityArgs']]]] = None, + splunks: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQuerySplunkArgs']]]] = None, + sumologics: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQuerySumologicArgs']]]] = None, + thousandeyes: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryThousandeyeArgs']]]] = None): + if amazon_prometheuses is not None: + pulumi.set(__self__, "amazon_prometheuses", amazon_prometheuses) + if appdynamics is not None: + pulumi.set(__self__, "appdynamics", appdynamics) + if bigqueries is not None: + pulumi.set(__self__, "bigqueries", bigqueries) + if cloudwatches is not None: + pulumi.set(__self__, "cloudwatches", cloudwatches) + if datadogs is not None: + pulumi.set(__self__, "datadogs", datadogs) + if dynatraces is not None: + pulumi.set(__self__, "dynatraces", dynatraces) + if elasticsearches is not None: + pulumi.set(__self__, "elasticsearches", elasticsearches) + if gcms is not None: + pulumi.set(__self__, "gcms", gcms) + if grafana_lokis is not None: + pulumi.set(__self__, "grafana_lokis", grafana_lokis) + if graphites is not None: + pulumi.set(__self__, "graphites", graphites) + if influxdbs is not None: + pulumi.set(__self__, "influxdbs", influxdbs) + if instanas is not None: + pulumi.set(__self__, "instanas", instanas) + if lightsteps is not None: + pulumi.set(__self__, "lightsteps", lightsteps) + if newrelics is not None: + pulumi.set(__self__, "newrelics", newrelics) + if opentsdbs is not None: + pulumi.set(__self__, "opentsdbs", opentsdbs) + if pingdoms is not None: + pulumi.set(__self__, "pingdoms", pingdoms) + if prometheuses is not None: + pulumi.set(__self__, "prometheuses", prometheuses) + if redshifts is not None: + pulumi.set(__self__, "redshifts", redshifts) + if splunk_observabilities is not None: + pulumi.set(__self__, "splunk_observabilities", splunk_observabilities) + if splunks is not None: + pulumi.set(__self__, "splunks", splunks) + if sumologics is not None: + pulumi.set(__self__, "sumologics", sumologics) + if thousandeyes is not None: + pulumi.set(__self__, "thousandeyes", thousandeyes) + + @property + @pulumi.getter(name="amazonPrometheuses") + def amazon_prometheuses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryAmazonPrometheusArgs']]]]: + return pulumi.get(self, "amazon_prometheuses") + + @amazon_prometheuses.setter + def amazon_prometheuses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryAmazonPrometheusArgs']]]]): + pulumi.set(self, "amazon_prometheuses", value) + + @property + @pulumi.getter + def appdynamics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryAppdynamicArgs']]]]: + return pulumi.get(self, "appdynamics") + + @appdynamics.setter + def appdynamics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryAppdynamicArgs']]]]): + pulumi.set(self, "appdynamics", value) + + @property + @pulumi.getter + def bigqueries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryBigqueryArgs']]]]: + return pulumi.get(self, "bigqueries") + + @bigqueries.setter + def bigqueries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryBigqueryArgs']]]]): + pulumi.set(self, "bigqueries", value) + + @property + @pulumi.getter + def cloudwatches(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryCloudwatchArgs']]]]: + return pulumi.get(self, "cloudwatches") + + @cloudwatches.setter + def cloudwatches(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryCloudwatchArgs']]]]): + pulumi.set(self, "cloudwatches", value) + + @property + @pulumi.getter + def datadogs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryDatadogArgs']]]]: + return pulumi.get(self, "datadogs") + + @datadogs.setter + def datadogs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryDatadogArgs']]]]): + pulumi.set(self, "datadogs", value) + + @property + @pulumi.getter + def dynatraces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryDynatraceArgs']]]]: + return pulumi.get(self, "dynatraces") + + @dynatraces.setter + def dynatraces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryDynatraceArgs']]]]): + pulumi.set(self, "dynatraces", value) + + @property + @pulumi.getter + def elasticsearches(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryElasticsearchArgs']]]]: + return pulumi.get(self, "elasticsearches") + + @elasticsearches.setter + def elasticsearches(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryElasticsearchArgs']]]]): + pulumi.set(self, "elasticsearches", value) + + @property + @pulumi.getter + def gcms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryGcmArgs']]]]: + return pulumi.get(self, "gcms") + + @gcms.setter + def gcms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryGcmArgs']]]]): + pulumi.set(self, "gcms", value) + + @property + @pulumi.getter(name="grafanaLokis") + def grafana_lokis(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryGrafanaLokiArgs']]]]: + return pulumi.get(self, "grafana_lokis") + + @grafana_lokis.setter + def grafana_lokis(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryGrafanaLokiArgs']]]]): + pulumi.set(self, "grafana_lokis", value) + + @property + @pulumi.getter + def graphites(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryGraphiteArgs']]]]: + return pulumi.get(self, "graphites") + + @graphites.setter + def graphites(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryGraphiteArgs']]]]): + pulumi.set(self, "graphites", value) + + @property + @pulumi.getter + def influxdbs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryInfluxdbArgs']]]]: + return pulumi.get(self, "influxdbs") + + @influxdbs.setter + def influxdbs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryInfluxdbArgs']]]]): + pulumi.set(self, "influxdbs", value) + + @property + @pulumi.getter + def instanas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryInstanaArgs']]]]: + return pulumi.get(self, "instanas") + + @instanas.setter + def instanas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryInstanaArgs']]]]): + pulumi.set(self, "instanas", value) + + @property + @pulumi.getter + def lightsteps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryLightstepArgs']]]]: + return pulumi.get(self, "lightsteps") + + @lightsteps.setter + def lightsteps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryLightstepArgs']]]]): + pulumi.set(self, "lightsteps", value) + + @property + @pulumi.getter + def newrelics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryNewrelicArgs']]]]: + return pulumi.get(self, "newrelics") + + @newrelics.setter + def newrelics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryNewrelicArgs']]]]): + pulumi.set(self, "newrelics", value) + + @property + @pulumi.getter + def opentsdbs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryOpentsdbArgs']]]]: + return pulumi.get(self, "opentsdbs") + + @opentsdbs.setter + def opentsdbs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryOpentsdbArgs']]]]): + pulumi.set(self, "opentsdbs", value) + + @property + @pulumi.getter + def pingdoms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryPingdomArgs']]]]: + return pulumi.get(self, "pingdoms") + + @pingdoms.setter + def pingdoms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryPingdomArgs']]]]): + pulumi.set(self, "pingdoms", value) + + @property + @pulumi.getter + def prometheuses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryPrometheusArgs']]]]: + return pulumi.get(self, "prometheuses") + + @prometheuses.setter + def prometheuses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryPrometheusArgs']]]]): + pulumi.set(self, "prometheuses", value) + + @property + @pulumi.getter + def redshifts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryRedshiftArgs']]]]: + return pulumi.get(self, "redshifts") + + @redshifts.setter + def redshifts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryRedshiftArgs']]]]): + pulumi.set(self, "redshifts", value) + + @property + @pulumi.getter(name="splunkObservabilities") + def splunk_observabilities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQuerySplunkObservabilityArgs']]]]: + return pulumi.get(self, "splunk_observabilities") + + @splunk_observabilities.setter + def splunk_observabilities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQuerySplunkObservabilityArgs']]]]): + pulumi.set(self, "splunk_observabilities", value) + + @property + @pulumi.getter + def splunks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQuerySplunkArgs']]]]: + return pulumi.get(self, "splunks") + + @splunks.setter + def splunks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQuerySplunkArgs']]]]): + pulumi.set(self, "splunks", value) + + @property + @pulumi.getter + def sumologics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQuerySumologicArgs']]]]: + return pulumi.get(self, "sumologics") + + @sumologics.setter + def sumologics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQuerySumologicArgs']]]]): + pulumi.set(self, "sumologics", value) + + @property + @pulumi.getter + def thousandeyes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryThousandeyeArgs']]]]: + return pulumi.get(self, "thousandeyes") + + @thousandeyes.setter + def thousandeyes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryThousandeyeArgs']]]]): + pulumi.set(self, "thousandeyes", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryAmazonPrometheusArgs: + def __init__(__self__, *, + promql: pulumi.Input[str]): + pulumi.set(__self__, "promql", promql) + + @property + @pulumi.getter + def promql(self) -> pulumi.Input[str]: + return pulumi.get(self, "promql") + + @promql.setter + def promql(self, value: pulumi.Input[str]): + pulumi.set(self, "promql", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryAppdynamicArgs: + def __init__(__self__, *, + application_name: pulumi.Input[str], + metric_path: pulumi.Input[str]): + pulumi.set(__self__, "application_name", application_name) + pulumi.set(__self__, "metric_path", metric_path) + + @property + @pulumi.getter(name="applicationName") + def application_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "application_name") + + @application_name.setter + def application_name(self, value: pulumi.Input[str]): + pulumi.set(self, "application_name", value) + + @property + @pulumi.getter(name="metricPath") + def metric_path(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_path") + + @metric_path.setter + def metric_path(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_path", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryBigqueryArgs: + def __init__(__self__, *, + location: pulumi.Input[str], + project_id: pulumi.Input[str], + query: pulumi.Input[str]): + pulumi.set(__self__, "location", location) + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def location(self) -> pulumi.Input[str]: + return pulumi.get(self, "location") + + @location.setter + def location(self, value: pulumi.Input[str]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryCloudwatchArgs: + def __init__(__self__, *, + region: pulumi.Input[str], + dimensions: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryCloudwatchDimensionArgs']]]] = None, + json: Optional[pulumi.Input[str]] = None, + metric_name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + sql: Optional[pulumi.Input[str]] = None, + stat: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "region", region) + if dimensions is not None: + pulumi.set(__self__, "dimensions", dimensions) + if json is not None: + pulumi.set(__self__, "json", json) + if metric_name is not None: + pulumi.set(__self__, "metric_name", metric_name) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if sql is not None: + pulumi.set(__self__, "sql", sql) + if stat is not None: + pulumi.set(__self__, "stat", stat) + + @property + @pulumi.getter + def region(self) -> pulumi.Input[str]: + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[str]): + pulumi.set(self, "region", value) + + @property + @pulumi.getter + def dimensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryCloudwatchDimensionArgs']]]]: + return pulumi.get(self, "dimensions") + + @dimensions.setter + def dimensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryCloudwatchDimensionArgs']]]]): + pulumi.set(self, "dimensions", value) + + @property + @pulumi.getter + def json(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "json") + + @json.setter + def json(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "json", value) + + @property + @pulumi.getter(name="metricName") + def metric_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "metric_name") + + @metric_name.setter + def metric_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metric_name", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter + def sql(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "sql") + + @sql.setter + def sql(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sql", value) + + @property + @pulumi.getter + def stat(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "stat") + + @stat.setter + def stat(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "stat", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryCloudwatchDimensionArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + value: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryDatadogArgs: + def __init__(__self__, *, + query: pulumi.Input[str]): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryDynatraceArgs: + def __init__(__self__, *, + metric_selector: pulumi.Input[str]): + pulumi.set(__self__, "metric_selector", metric_selector) + + @property + @pulumi.getter(name="metricSelector") + def metric_selector(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_selector") + + @metric_selector.setter + def metric_selector(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_selector", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryElasticsearchArgs: + def __init__(__self__, *, + index: pulumi.Input[str], + query: pulumi.Input[str]): + pulumi.set(__self__, "index", index) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def index(self) -> pulumi.Input[str]: + return pulumi.get(self, "index") + + @index.setter + def index(self, value: pulumi.Input[str]): + pulumi.set(self, "index", value) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryGcmArgs: + def __init__(__self__, *, + project_id: pulumi.Input[str], + query: pulumi.Input[str]): + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryGrafanaLokiArgs: + def __init__(__self__, *, + logql: pulumi.Input[str]): + pulumi.set(__self__, "logql", logql) + + @property + @pulumi.getter + def logql(self) -> pulumi.Input[str]: + return pulumi.get(self, "logql") + + @logql.setter + def logql(self, value: pulumi.Input[str]): + pulumi.set(self, "logql", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryGraphiteArgs: + def __init__(__self__, *, + metric_path: pulumi.Input[str]): + pulumi.set(__self__, "metric_path", metric_path) + + @property + @pulumi.getter(name="metricPath") + def metric_path(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_path") + + @metric_path.setter + def metric_path(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_path", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryInfluxdbArgs: + def __init__(__self__, *, + query: pulumi.Input[str]): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryInstanaArgs: + def __init__(__self__, *, + metric_type: pulumi.Input[str], + applications: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryInstanaApplicationArgs']]]] = None, + infrastructures: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryInstanaInfrastructureArgs']]]] = None): + pulumi.set(__self__, "metric_type", metric_type) + if applications is not None: + pulumi.set(__self__, "applications", applications) + if infrastructures is not None: + pulumi.set(__self__, "infrastructures", infrastructures) + + @property + @pulumi.getter(name="metricType") + def metric_type(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_type") + + @metric_type.setter + def metric_type(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_type", value) + + @property + @pulumi.getter + def applications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryInstanaApplicationArgs']]]]: + return pulumi.get(self, "applications") + + @applications.setter + def applications(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryInstanaApplicationArgs']]]]): + pulumi.set(self, "applications", value) + + @property + @pulumi.getter + def infrastructures(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryInstanaInfrastructureArgs']]]]: + return pulumi.get(self, "infrastructures") + + @infrastructures.setter + def infrastructures(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryInstanaInfrastructureArgs']]]]): + pulumi.set(self, "infrastructures", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryInstanaApplicationArgs: + def __init__(__self__, *, + aggregation: pulumi.Input[str], + api_query: pulumi.Input[str], + group_bies: pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs']]], + metric_id: pulumi.Input[str], + include_internal: Optional[pulumi.Input[bool]] = None, + include_synthetic: Optional[pulumi.Input[bool]] = None): + pulumi.set(__self__, "aggregation", aggregation) + pulumi.set(__self__, "api_query", api_query) + pulumi.set(__self__, "group_bies", group_bies) + pulumi.set(__self__, "metric_id", metric_id) + if include_internal is not None: + pulumi.set(__self__, "include_internal", include_internal) + if include_synthetic is not None: + pulumi.set(__self__, "include_synthetic", include_synthetic) + + @property + @pulumi.getter + def aggregation(self) -> pulumi.Input[str]: + return pulumi.get(self, "aggregation") + + @aggregation.setter + def aggregation(self, value: pulumi.Input[str]): + pulumi.set(self, "aggregation", value) + + @property + @pulumi.getter(name="apiQuery") + def api_query(self) -> pulumi.Input[str]: + return pulumi.get(self, "api_query") + + @api_query.setter + def api_query(self, value: pulumi.Input[str]): + pulumi.set(self, "api_query", value) + + @property + @pulumi.getter(name="groupBies") + def group_bies(self) -> pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs']]]: + return pulumi.get(self, "group_bies") + + @group_bies.setter + def group_bies(self, value: pulumi.Input[Sequence[pulumi.Input['SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs']]]): + pulumi.set(self, "group_bies", value) + + @property + @pulumi.getter(name="metricId") + def metric_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_id") + + @metric_id.setter + def metric_id(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_id", value) + + @property + @pulumi.getter(name="includeInternal") + def include_internal(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "include_internal") + + @include_internal.setter + def include_internal(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "include_internal", value) + + @property + @pulumi.getter(name="includeSynthetic") + def include_synthetic(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "include_synthetic") + + @include_synthetic.setter + def include_synthetic(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "include_synthetic", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryInstanaApplicationGroupByArgs: + def __init__(__self__, *, + tag: pulumi.Input[str], + tag_entity: pulumi.Input[str], + tag_second_level_key: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "tag", tag) + pulumi.set(__self__, "tag_entity", tag_entity) + if tag_second_level_key is not None: + pulumi.set(__self__, "tag_second_level_key", tag_second_level_key) + + @property + @pulumi.getter + def tag(self) -> pulumi.Input[str]: + return pulumi.get(self, "tag") + + @tag.setter + def tag(self, value: pulumi.Input[str]): + pulumi.set(self, "tag", value) + + @property + @pulumi.getter(name="tagEntity") + def tag_entity(self) -> pulumi.Input[str]: + return pulumi.get(self, "tag_entity") + + @tag_entity.setter + def tag_entity(self, value: pulumi.Input[str]): + pulumi.set(self, "tag_entity", value) + + @property + @pulumi.getter(name="tagSecondLevelKey") + def tag_second_level_key(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "tag_second_level_key") + + @tag_second_level_key.setter + def tag_second_level_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tag_second_level_key", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryInstanaInfrastructureArgs: + def __init__(__self__, *, + metric_id: pulumi.Input[str], + metric_retrieval_method: pulumi.Input[str], + plugin_id: pulumi.Input[str], + query: Optional[pulumi.Input[str]] = None, + snapshot_id: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "metric_id", metric_id) + pulumi.set(__self__, "metric_retrieval_method", metric_retrieval_method) + pulumi.set(__self__, "plugin_id", plugin_id) + if query is not None: + pulumi.set(__self__, "query", query) + if snapshot_id is not None: + pulumi.set(__self__, "snapshot_id", snapshot_id) + + @property + @pulumi.getter(name="metricId") + def metric_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_id") + + @metric_id.setter + def metric_id(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_id", value) + + @property + @pulumi.getter(name="metricRetrievalMethod") + def metric_retrieval_method(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_retrieval_method") + + @metric_retrieval_method.setter + def metric_retrieval_method(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_retrieval_method", value) + + @property + @pulumi.getter(name="pluginId") + def plugin_id(self) -> pulumi.Input[str]: + 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 + def query(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "query", value) + + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "snapshot_id") + + @snapshot_id.setter + def snapshot_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "snapshot_id", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryLightstepArgs: + def __init__(__self__, *, + type_of_data: pulumi.Input[str], + percentile: Optional[pulumi.Input[float]] = None, + stream_id: Optional[pulumi.Input[str]] = None, + uql: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "type_of_data", type_of_data) + if percentile is not None: + pulumi.set(__self__, "percentile", percentile) + if stream_id is not None: + pulumi.set(__self__, "stream_id", stream_id) + if uql is not None: + pulumi.set(__self__, "uql", uql) + + @property + @pulumi.getter(name="typeOfData") + def type_of_data(self) -> pulumi.Input[str]: + return pulumi.get(self, "type_of_data") + + @type_of_data.setter + def type_of_data(self, value: pulumi.Input[str]): + pulumi.set(self, "type_of_data", value) + + @property + @pulumi.getter + def percentile(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "percentile") + + @percentile.setter + def percentile(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "percentile", value) + + @property + @pulumi.getter(name="streamId") + def stream_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "stream_id") + + @stream_id.setter + def stream_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "stream_id", value) + + @property + @pulumi.getter + def uql(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "uql") + + @uql.setter + def uql(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "uql", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryNewrelicArgs: + def __init__(__self__, *, + nrql: pulumi.Input[str]): + pulumi.set(__self__, "nrql", nrql) + + @property + @pulumi.getter + def nrql(self) -> pulumi.Input[str]: + return pulumi.get(self, "nrql") + + @nrql.setter + def nrql(self, value: pulumi.Input[str]): + pulumi.set(self, "nrql", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryOpentsdbArgs: + def __init__(__self__, *, + query: pulumi.Input[str]): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryPingdomArgs: + def __init__(__self__, *, + check_id: pulumi.Input[str], + check_type: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "check_id", check_id) + if check_type is not None: + pulumi.set(__self__, "check_type", check_type) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="checkId") + def check_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "check_id") + + @check_id.setter + def check_id(self, value: pulumi.Input[str]): + pulumi.set(self, "check_id", value) + + @property + @pulumi.getter(name="checkType") + def check_type(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "check_type") + + @check_type.setter + def check_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "check_type", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryPrometheusArgs: + def __init__(__self__, *, + promql: pulumi.Input[str]): + pulumi.set(__self__, "promql", promql) + + @property + @pulumi.getter + def promql(self) -> pulumi.Input[str]: + return pulumi.get(self, "promql") + + @promql.setter + def promql(self, value: pulumi.Input[str]): + pulumi.set(self, "promql", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryRedshiftArgs: + def __init__(__self__, *, + cluster_id: pulumi.Input[str], + database_name: pulumi.Input[str], + query: pulumi.Input[str], + region: pulumi.Input[str]): + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "database_name", database_name) + pulumi.set(__self__, "query", query) + pulumi.set(__self__, "region", region) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_id", value) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "database_name") + + @database_name.setter + def database_name(self, value: pulumi.Input[str]): + pulumi.set(self, "database_name", value) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + @property + @pulumi.getter + def region(self) -> pulumi.Input[str]: + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[str]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQuerySplunkArgs: + def __init__(__self__, *, + query: pulumi.Input[str]): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQuerySplunkObservabilityArgs: + def __init__(__self__, *, + program: pulumi.Input[str]): + pulumi.set(__self__, "program", program) + + @property + @pulumi.getter + def program(self) -> pulumi.Input[str]: + return pulumi.get(self, "program") + + @program.setter + def program(self, value: pulumi.Input[str]): + pulumi.set(self, "program", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQuerySumologicArgs: + def __init__(__self__, *, + query: pulumi.Input[str], + type: pulumi.Input[str], + quantization: Optional[pulumi.Input[str]] = None, + rollup: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "query", query) + pulumi.set(__self__, "type", type) + if quantization is not None: + pulumi.set(__self__, "quantization", quantization) + if rollup is not None: + pulumi.set(__self__, "rollup", rollup) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def quantization(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "quantization") + + @quantization.setter + def quantization(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "quantization", value) + + @property + @pulumi.getter + def rollup(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "rollup") + + @rollup.setter + def rollup(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rollup", value) + + +@pulumi.input_type +class SloObjectiveRawMetricQueryThousandeyeArgs: + def __init__(__self__, *, + test_id: pulumi.Input[int]): + pulumi.set(__self__, "test_id", test_id) + + @property + @pulumi.getter(name="testId") + def test_id(self) -> pulumi.Input[int]: + return pulumi.get(self, "test_id") + + @test_id.setter + def test_id(self, value: pulumi.Input[int]): + pulumi.set(self, "test_id", value) + + +@pulumi.input_type +class SloTimeWindowArgs: + def __init__(__self__, *, + count: pulumi.Input[int], + unit: pulumi.Input[str], + calendars: Optional[pulumi.Input[Sequence[pulumi.Input['SloTimeWindowCalendarArgs']]]] = None, + is_rolling: Optional[pulumi.Input[bool]] = None, + period: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[int] count: Count of the time unit + :param pulumi.Input[str] unit: Unit of time + :param pulumi.Input[Sequence[pulumi.Input['SloTimeWindowCalendarArgs']]] calendars: Alert Policies attached to SLO + :param pulumi.Input[bool] is_rolling: Is the window moving or not + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] period: Period between start time and added count + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "unit", unit) + if calendars is not None: + pulumi.set(__self__, "calendars", calendars) + if is_rolling is not None: + pulumi.set(__self__, "is_rolling", is_rolling) + if period is not None: + pulumi.set(__self__, "period", period) + + @property + @pulumi.getter + def count(self) -> pulumi.Input[int]: + """ + Count of the time unit + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: pulumi.Input[int]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input[str]: + """ + Unit of time + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def calendars(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloTimeWindowCalendarArgs']]]]: + """ + Alert Policies attached to SLO + """ + return pulumi.get(self, "calendars") + + @calendars.setter + def calendars(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloTimeWindowCalendarArgs']]]]): + pulumi.set(self, "calendars", value) + + @property + @pulumi.getter(name="isRolling") + def is_rolling(self) -> Optional[pulumi.Input[bool]]: + """ + Is the window moving or not + """ + return pulumi.get(self, "is_rolling") + + @is_rolling.setter + def is_rolling(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_rolling", value) + + @property + @pulumi.getter + def period(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Period between start time and added count + """ + return pulumi.get(self, "period") + + @period.setter + def period(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "period", value) + + +@pulumi.input_type +class SloTimeWindowCalendarArgs: + def __init__(__self__, *, + start_time: pulumi.Input[str], + time_zone: pulumi.Input[str]): + pulumi.set(__self__, "start_time", start_time) + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> pulumi.Input[str]: + return pulumi.get(self, "start_time") + + @start_time.setter + def start_time(self, value: pulumi.Input[str]): + pulumi.set(self, "start_time", value) + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> pulumi.Input[str]: + return pulumi.get(self, "time_zone") + + @time_zone.setter + def time_zone(self, value: pulumi.Input[str]): + pulumi.set(self, "time_zone", value) + + diff --git a/sdk/python/pulumi_nobl9/_utilities.py b/sdk/python/pulumi_nobl9/_utilities.py new file mode 100644 index 0000000..7be1b7a --- /dev/null +++ b/sdk/python/pulumi_nobl9/_utilities.py @@ -0,0 +1,250 @@ +# 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 importlib.util +import inspect +import json +import os +import pkg_resources +import sys +import typing + +import pulumi +import pulumi.runtime + +from semver import VersionInfo as SemverVersion +from parver import Version as PEP440Version + + +def get_env(*args): + for v in args: + value = os.getenv(v) + if value is not None: + return value + return None + + +def get_env_bool(*args): + str = get_env(*args) + if str is not None: + # NOTE: these values are taken from https://golang.org/src/strconv/atob.go?s=351:391#L1, which is what + # Terraform uses internally when parsing boolean values. + if str in ["1", "t", "T", "true", "TRUE", "True"]: + return True + if str in ["0", "f", "F", "false", "FALSE", "False"]: + return False + return None + + +def get_env_int(*args): + str = get_env(*args) + if str is not None: + try: + return int(str) + except: + return None + return None + + +def get_env_float(*args): + str = get_env(*args) + if str is not None: + try: + return float(str) + except: + return None + return None + + +def _get_semver_version(): + # __name__ is set to the fully-qualified name of the current module, In our case, it will be + # ._utilities. is the module we want to query the version for. + root_package, *rest = __name__.split('.') + + # pkg_resources uses setuptools to inspect the set of installed packages. We use it here to ask + # for the currently installed version of the root package (i.e. us) and get its version. + + # Unfortunately, PEP440 and semver differ slightly in incompatible ways. The Pulumi engine expects + # to receive a valid semver string when receiving requests from the language host, so it's our + # responsibility as the library to convert our own PEP440 version into a valid semver string. + + pep440_version_string = pkg_resources.require(root_package)[0].version + pep440_version = PEP440Version.parse(pep440_version_string) + (major, minor, patch) = pep440_version.release + prerelease = None + if pep440_version.pre_tag == 'a': + prerelease = f"alpha.{pep440_version.pre}" + elif pep440_version.pre_tag == 'b': + prerelease = f"beta.{pep440_version.pre}" + elif pep440_version.pre_tag == 'rc': + prerelease = f"rc.{pep440_version.pre}" + elif pep440_version.dev is not None: + prerelease = f"dev.{pep440_version.dev}" + + # The only significant difference between PEP440 and semver as it pertains to us is that PEP440 has explicit support + # for dev builds, while semver encodes them as "prerelease" versions. In order to bridge between the two, we convert + # our dev build version into a prerelease tag. This matches what all of our other packages do when constructing + # their own semver string. + return SemverVersion(major=major, minor=minor, patch=patch, prerelease=prerelease) + + +# Determine the version once and cache the value, which measurably improves program performance. +_version = _get_semver_version() +_version_str = str(_version) + + +def get_version(): + return _version_str + +def get_resource_opts_defaults() -> pulumi.ResourceOptions: + return pulumi.ResourceOptions( + version=get_version(), + plugin_download_url=get_plugin_download_url(), + ) + +def get_invoke_opts_defaults() -> pulumi.InvokeOptions: + return pulumi.InvokeOptions( + version=get_version(), + plugin_download_url=get_plugin_download_url(), + ) + +def get_resource_args_opts(resource_args_type, resource_options_type, *args, **kwargs): + """ + Return the resource args and options given the *args and **kwargs of a resource's + __init__ method. + """ + + resource_args, opts = None, None + + # If the first item is the resource args type, save it and remove it from the args list. + if args and isinstance(args[0], resource_args_type): + resource_args, args = args[0], args[1:] + + # Now look at the first item in the args list again. + # If the first item is the resource options class, save it. + if args and isinstance(args[0], resource_options_type): + opts = args[0] + + # If resource_args is None, see if "args" is in kwargs, and, if so, if it's typed as the + # the resource args type. + if resource_args is None: + a = kwargs.get("args") + if isinstance(a, resource_args_type): + resource_args = a + + # If opts is None, look it up in kwargs. + if opts is None: + opts = kwargs.get("opts") + + return resource_args, opts + + +# Temporary: just use pulumi._utils.lazy_import once everyone upgrades. +def lazy_import(fullname): + + import pulumi._utils as u + f = getattr(u, 'lazy_import', None) + if f is None: + f = _lazy_import_temp + + return f(fullname) + + +# Copied from pulumi._utils.lazy_import, see comments there. +def _lazy_import_temp(fullname): + m = sys.modules.get(fullname, None) + if m is not None: + return m + + spec = importlib.util.find_spec(fullname) + + m = sys.modules.get(fullname, None) + if m is not None: + return m + + loader = importlib.util.LazyLoader(spec.loader) + spec.loader = loader + module = importlib.util.module_from_spec(spec) + + m = sys.modules.get(fullname, None) + if m is not None: + return m + + sys.modules[fullname] = module + loader.exec_module(module) + return module + + +class Package(pulumi.runtime.ResourcePackage): + def __init__(self, pkg_info): + super().__init__() + self.pkg_info = pkg_info + + def version(self): + return _version + + def construct_provider(self, name: str, typ: str, urn: str) -> pulumi.ProviderResource: + if typ != self.pkg_info['token']: + raise Exception(f"unknown provider type {typ}") + Provider = getattr(lazy_import(self.pkg_info['fqn']), self.pkg_info['class']) + return Provider(name, pulumi.ResourceOptions(urn=urn)) + + +class Module(pulumi.runtime.ResourceModule): + def __init__(self, mod_info): + super().__init__() + self.mod_info = mod_info + + def version(self): + return _version + + def construct(self, name: str, typ: str, urn: str) -> pulumi.Resource: + class_name = self.mod_info['classes'].get(typ, None) + + if class_name is None: + raise Exception(f"unknown resource type {typ}") + + TheClass = getattr(lazy_import(self.mod_info['fqn']), class_name) + return TheClass(name, pulumi.ResourceOptions(urn=urn)) + + +def register(resource_modules, resource_packages): + resource_modules = json.loads(resource_modules) + resource_packages = json.loads(resource_packages) + + for pkg_info in resource_packages: + pulumi.runtime.register_resource_package(pkg_info['pkg'], Package(pkg_info)) + + for mod_info in resource_modules: + pulumi.runtime.register_resource_module( + mod_info['pkg'], + mod_info['mod'], + Module(mod_info)) + + +_F = typing.TypeVar('_F', bound=typing.Callable[..., typing.Any]) + + +def lift_output_func(func: typing.Any) -> typing.Callable[[_F], _F]: + """Decorator internally used on {fn}_output lifted function versions + to implement them automatically from the un-lifted function.""" + + func_sig = inspect.signature(func) + + def lifted_func(*args, opts=None, **kwargs): + bound_args = func_sig.bind(*args, **kwargs) + # Convert tuple to list, see pulumi/pulumi#8172 + args_list = list(bound_args.args) + return pulumi.Output.from_input({ + 'args': args_list, + 'kwargs': bound_args.kwargs + }).apply(lambda resolved_args: func(*resolved_args['args'], + opts=opts, + **resolved_args['kwargs'])) + + return (lambda _: lifted_func) + +def get_plugin_download_url(): + return "https://github.com/piclemx/pulumi-nobl9/releases/" diff --git a/sdk/python/pulumi_nobl9/agent.py b/sdk/python/pulumi_nobl9/agent.py new file mode 100644 index 0000000..3df9b6b --- /dev/null +++ b/sdk/python/pulumi_nobl9/agent.py @@ -0,0 +1,1606 @@ +# 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__ = ['AgentArgs', 'Agent'] + +@pulumi.input_type +class AgentArgs: + def __init__(__self__, *, + agent_type: pulumi.Input[str], + project: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + amazon_prometheus_config: Optional[pulumi.Input['AgentAmazonPrometheusConfigArgs']] = None, + appdynamics_config: Optional[pulumi.Input['AgentAppdynamicsConfigArgs']] = None, + bigquery_config: Optional[pulumi.Input['AgentBigqueryConfigArgs']] = None, + cloudwatch_config: Optional[pulumi.Input['AgentCloudwatchConfigArgs']] = None, + datadog_config: Optional[pulumi.Input['AgentDatadogConfigArgs']] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + dynatrace_config: Optional[pulumi.Input['AgentDynatraceConfigArgs']] = None, + elasticsearch_config: Optional[pulumi.Input['AgentElasticsearchConfigArgs']] = None, + gcm_config: Optional[pulumi.Input['AgentGcmConfigArgs']] = None, + grafana_loki_config: Optional[pulumi.Input['AgentGrafanaLokiConfigArgs']] = None, + graphite_config: Optional[pulumi.Input['AgentGraphiteConfigArgs']] = None, + influxdb_config: Optional[pulumi.Input['AgentInfluxdbConfigArgs']] = None, + instana_config: Optional[pulumi.Input['AgentInstanaConfigArgs']] = None, + lightstep_config: Optional[pulumi.Input['AgentLightstepConfigArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + newrelic_config: Optional[pulumi.Input['AgentNewrelicConfigArgs']] = None, + opentsdb_config: Optional[pulumi.Input['AgentOpentsdbConfigArgs']] = None, + pingdom_config: Optional[pulumi.Input['AgentPingdomConfigArgs']] = None, + prometheus_config: Optional[pulumi.Input['AgentPrometheusConfigArgs']] = None, + query_delay: Optional[pulumi.Input['AgentQueryDelayArgs']] = None, + redshift_config: Optional[pulumi.Input['AgentRedshiftConfigArgs']] = None, + splunk_config: Optional[pulumi.Input['AgentSplunkConfigArgs']] = None, + splunk_observability_config: Optional[pulumi.Input['AgentSplunkObservabilityConfigArgs']] = None, + sumologic_config: Optional[pulumi.Input['AgentSumologicConfigArgs']] = None, + thousandeyes_config: Optional[pulumi.Input['AgentThousandeyesConfigArgs']] = None): + """ + The set of arguments for constructing a Agent resource. + :param pulumi.Input[str] agent_type: The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input['AgentAmazonPrometheusConfigArgs'] amazon_prometheus_config: [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + :param pulumi.Input['AgentAppdynamicsConfigArgs'] appdynamics_config: [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + :param pulumi.Input['AgentBigqueryConfigArgs'] bigquery_config: [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + :param pulumi.Input['AgentCloudwatchConfigArgs'] cloudwatch_config: [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + :param pulumi.Input['AgentDatadogConfigArgs'] datadog_config: [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input['AgentDynatraceConfigArgs'] dynatrace_config: [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + :param pulumi.Input['AgentElasticsearchConfigArgs'] elasticsearch_config: [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + :param pulumi.Input['AgentGcmConfigArgs'] gcm_config: [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + :param pulumi.Input['AgentGrafanaLokiConfigArgs'] grafana_loki_config: [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + :param pulumi.Input['AgentGraphiteConfigArgs'] graphite_config: [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + :param pulumi.Input['AgentInfluxdbConfigArgs'] influxdb_config: [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + :param pulumi.Input['AgentInstanaConfigArgs'] instana_config: [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + :param pulumi.Input['AgentLightstepConfigArgs'] lightstep_config: [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['AgentNewrelicConfigArgs'] newrelic_config: [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + :param pulumi.Input['AgentOpentsdbConfigArgs'] opentsdb_config: [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + :param pulumi.Input['AgentPingdomConfigArgs'] pingdom_config: [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + :param pulumi.Input['AgentPrometheusConfigArgs'] prometheus_config: [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + :param pulumi.Input['AgentQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input['AgentRedshiftConfigArgs'] redshift_config: [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + :param pulumi.Input['AgentSplunkConfigArgs'] splunk_config: [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + :param pulumi.Input['AgentSplunkObservabilityConfigArgs'] splunk_observability_config: [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + :param pulumi.Input['AgentSumologicConfigArgs'] sumologic_config: [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + :param pulumi.Input['AgentThousandeyesConfigArgs'] thousandeyes_config: [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + """ + pulumi.set(__self__, "agent_type", agent_type) + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "source_ofs", source_ofs) + if amazon_prometheus_config is not None: + pulumi.set(__self__, "amazon_prometheus_config", amazon_prometheus_config) + if appdynamics_config is not None: + pulumi.set(__self__, "appdynamics_config", appdynamics_config) + if bigquery_config is not None: + pulumi.set(__self__, "bigquery_config", bigquery_config) + if cloudwatch_config is not None: + pulumi.set(__self__, "cloudwatch_config", cloudwatch_config) + if datadog_config is not None: + pulumi.set(__self__, "datadog_config", datadog_config) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if dynatrace_config is not None: + pulumi.set(__self__, "dynatrace_config", dynatrace_config) + if elasticsearch_config is not None: + pulumi.set(__self__, "elasticsearch_config", elasticsearch_config) + if gcm_config is not None: + pulumi.set(__self__, "gcm_config", gcm_config) + if grafana_loki_config is not None: + pulumi.set(__self__, "grafana_loki_config", grafana_loki_config) + if graphite_config is not None: + pulumi.set(__self__, "graphite_config", graphite_config) + if influxdb_config is not None: + pulumi.set(__self__, "influxdb_config", influxdb_config) + if instana_config is not None: + pulumi.set(__self__, "instana_config", instana_config) + if lightstep_config is not None: + pulumi.set(__self__, "lightstep_config", lightstep_config) + if name is not None: + pulumi.set(__self__, "name", name) + if newrelic_config is not None: + pulumi.set(__self__, "newrelic_config", newrelic_config) + if opentsdb_config is not None: + pulumi.set(__self__, "opentsdb_config", opentsdb_config) + if pingdom_config is not None: + pulumi.set(__self__, "pingdom_config", pingdom_config) + if prometheus_config is not None: + pulumi.set(__self__, "prometheus_config", prometheus_config) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if redshift_config is not None: + pulumi.set(__self__, "redshift_config", redshift_config) + if splunk_config is not None: + pulumi.set(__self__, "splunk_config", splunk_config) + if splunk_observability_config is not None: + pulumi.set(__self__, "splunk_observability_config", splunk_observability_config) + if sumologic_config is not None: + pulumi.set(__self__, "sumologic_config", sumologic_config) + if thousandeyes_config is not None: + pulumi.set(__self__, "thousandeyes_config", thousandeyes_config) + + @property + @pulumi.getter(name="agentType") + def agent_type(self) -> pulumi.Input[str]: + """ + The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + """ + return pulumi.get(self, "agent_type") + + @agent_type.setter + def agent_type(self, value: pulumi.Input[str]): + pulumi.set(self, "agent_type", value) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter(name="amazonPrometheusConfig") + def amazon_prometheus_config(self) -> Optional[pulumi.Input['AgentAmazonPrometheusConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + """ + return pulumi.get(self, "amazon_prometheus_config") + + @amazon_prometheus_config.setter + def amazon_prometheus_config(self, value: Optional[pulumi.Input['AgentAmazonPrometheusConfigArgs']]): + pulumi.set(self, "amazon_prometheus_config", value) + + @property + @pulumi.getter(name="appdynamicsConfig") + def appdynamics_config(self) -> Optional[pulumi.Input['AgentAppdynamicsConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + """ + return pulumi.get(self, "appdynamics_config") + + @appdynamics_config.setter + def appdynamics_config(self, value: Optional[pulumi.Input['AgentAppdynamicsConfigArgs']]): + pulumi.set(self, "appdynamics_config", value) + + @property + @pulumi.getter(name="bigqueryConfig") + def bigquery_config(self) -> Optional[pulumi.Input['AgentBigqueryConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + """ + return pulumi.get(self, "bigquery_config") + + @bigquery_config.setter + def bigquery_config(self, value: Optional[pulumi.Input['AgentBigqueryConfigArgs']]): + pulumi.set(self, "bigquery_config", value) + + @property + @pulumi.getter(name="cloudwatchConfig") + def cloudwatch_config(self) -> Optional[pulumi.Input['AgentCloudwatchConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + """ + return pulumi.get(self, "cloudwatch_config") + + @cloudwatch_config.setter + def cloudwatch_config(self, value: Optional[pulumi.Input['AgentCloudwatchConfigArgs']]): + pulumi.set(self, "cloudwatch_config", value) + + @property + @pulumi.getter(name="datadogConfig") + def datadog_config(self) -> Optional[pulumi.Input['AgentDatadogConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + """ + return pulumi.get(self, "datadog_config") + + @datadog_config.setter + def datadog_config(self, value: Optional[pulumi.Input['AgentDatadogConfigArgs']]): + pulumi.set(self, "datadog_config", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="dynatraceConfig") + def dynatrace_config(self) -> Optional[pulumi.Input['AgentDynatraceConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + """ + return pulumi.get(self, "dynatrace_config") + + @dynatrace_config.setter + def dynatrace_config(self, value: Optional[pulumi.Input['AgentDynatraceConfigArgs']]): + pulumi.set(self, "dynatrace_config", value) + + @property + @pulumi.getter(name="elasticsearchConfig") + def elasticsearch_config(self) -> Optional[pulumi.Input['AgentElasticsearchConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + """ + return pulumi.get(self, "elasticsearch_config") + + @elasticsearch_config.setter + def elasticsearch_config(self, value: Optional[pulumi.Input['AgentElasticsearchConfigArgs']]): + pulumi.set(self, "elasticsearch_config", value) + + @property + @pulumi.getter(name="gcmConfig") + def gcm_config(self) -> Optional[pulumi.Input['AgentGcmConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + """ + return pulumi.get(self, "gcm_config") + + @gcm_config.setter + def gcm_config(self, value: Optional[pulumi.Input['AgentGcmConfigArgs']]): + pulumi.set(self, "gcm_config", value) + + @property + @pulumi.getter(name="grafanaLokiConfig") + def grafana_loki_config(self) -> Optional[pulumi.Input['AgentGrafanaLokiConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + """ + return pulumi.get(self, "grafana_loki_config") + + @grafana_loki_config.setter + def grafana_loki_config(self, value: Optional[pulumi.Input['AgentGrafanaLokiConfigArgs']]): + pulumi.set(self, "grafana_loki_config", value) + + @property + @pulumi.getter(name="graphiteConfig") + def graphite_config(self) -> Optional[pulumi.Input['AgentGraphiteConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + """ + return pulumi.get(self, "graphite_config") + + @graphite_config.setter + def graphite_config(self, value: Optional[pulumi.Input['AgentGraphiteConfigArgs']]): + pulumi.set(self, "graphite_config", value) + + @property + @pulumi.getter(name="influxdbConfig") + def influxdb_config(self) -> Optional[pulumi.Input['AgentInfluxdbConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + """ + return pulumi.get(self, "influxdb_config") + + @influxdb_config.setter + def influxdb_config(self, value: Optional[pulumi.Input['AgentInfluxdbConfigArgs']]): + pulumi.set(self, "influxdb_config", value) + + @property + @pulumi.getter(name="instanaConfig") + def instana_config(self) -> Optional[pulumi.Input['AgentInstanaConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + """ + return pulumi.get(self, "instana_config") + + @instana_config.setter + def instana_config(self, value: Optional[pulumi.Input['AgentInstanaConfigArgs']]): + pulumi.set(self, "instana_config", value) + + @property + @pulumi.getter(name="lightstepConfig") + def lightstep_config(self) -> Optional[pulumi.Input['AgentLightstepConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + """ + return pulumi.get(self, "lightstep_config") + + @lightstep_config.setter + def lightstep_config(self, value: Optional[pulumi.Input['AgentLightstepConfigArgs']]): + pulumi.set(self, "lightstep_config", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="newrelicConfig") + def newrelic_config(self) -> Optional[pulumi.Input['AgentNewrelicConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + """ + return pulumi.get(self, "newrelic_config") + + @newrelic_config.setter + def newrelic_config(self, value: Optional[pulumi.Input['AgentNewrelicConfigArgs']]): + pulumi.set(self, "newrelic_config", value) + + @property + @pulumi.getter(name="opentsdbConfig") + def opentsdb_config(self) -> Optional[pulumi.Input['AgentOpentsdbConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + """ + return pulumi.get(self, "opentsdb_config") + + @opentsdb_config.setter + def opentsdb_config(self, value: Optional[pulumi.Input['AgentOpentsdbConfigArgs']]): + pulumi.set(self, "opentsdb_config", value) + + @property + @pulumi.getter(name="pingdomConfig") + def pingdom_config(self) -> Optional[pulumi.Input['AgentPingdomConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + """ + return pulumi.get(self, "pingdom_config") + + @pingdom_config.setter + def pingdom_config(self, value: Optional[pulumi.Input['AgentPingdomConfigArgs']]): + pulumi.set(self, "pingdom_config", value) + + @property + @pulumi.getter(name="prometheusConfig") + def prometheus_config(self) -> Optional[pulumi.Input['AgentPrometheusConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + """ + return pulumi.get(self, "prometheus_config") + + @prometheus_config.setter + def prometheus_config(self, value: Optional[pulumi.Input['AgentPrometheusConfigArgs']]): + pulumi.set(self, "prometheus_config", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['AgentQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['AgentQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="redshiftConfig") + def redshift_config(self) -> Optional[pulumi.Input['AgentRedshiftConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + """ + return pulumi.get(self, "redshift_config") + + @redshift_config.setter + def redshift_config(self, value: Optional[pulumi.Input['AgentRedshiftConfigArgs']]): + pulumi.set(self, "redshift_config", value) + + @property + @pulumi.getter(name="splunkConfig") + def splunk_config(self) -> Optional[pulumi.Input['AgentSplunkConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + """ + return pulumi.get(self, "splunk_config") + + @splunk_config.setter + def splunk_config(self, value: Optional[pulumi.Input['AgentSplunkConfigArgs']]): + pulumi.set(self, "splunk_config", value) + + @property + @pulumi.getter(name="splunkObservabilityConfig") + def splunk_observability_config(self) -> Optional[pulumi.Input['AgentSplunkObservabilityConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + """ + return pulumi.get(self, "splunk_observability_config") + + @splunk_observability_config.setter + def splunk_observability_config(self, value: Optional[pulumi.Input['AgentSplunkObservabilityConfigArgs']]): + pulumi.set(self, "splunk_observability_config", value) + + @property + @pulumi.getter(name="sumologicConfig") + def sumologic_config(self) -> Optional[pulumi.Input['AgentSumologicConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + """ + return pulumi.get(self, "sumologic_config") + + @sumologic_config.setter + def sumologic_config(self, value: Optional[pulumi.Input['AgentSumologicConfigArgs']]): + pulumi.set(self, "sumologic_config", value) + + @property + @pulumi.getter(name="thousandeyesConfig") + def thousandeyes_config(self) -> Optional[pulumi.Input['AgentThousandeyesConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + """ + return pulumi.get(self, "thousandeyes_config") + + @thousandeyes_config.setter + def thousandeyes_config(self, value: Optional[pulumi.Input['AgentThousandeyesConfigArgs']]): + pulumi.set(self, "thousandeyes_config", value) + + +@pulumi.input_type +class _AgentState: + def __init__(__self__, *, + agent_type: Optional[pulumi.Input[str]] = None, + amazon_prometheus_config: Optional[pulumi.Input['AgentAmazonPrometheusConfigArgs']] = None, + appdynamics_config: Optional[pulumi.Input['AgentAppdynamicsConfigArgs']] = None, + bigquery_config: Optional[pulumi.Input['AgentBigqueryConfigArgs']] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + cloudwatch_config: Optional[pulumi.Input['AgentCloudwatchConfigArgs']] = None, + datadog_config: Optional[pulumi.Input['AgentDatadogConfigArgs']] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + dynatrace_config: Optional[pulumi.Input['AgentDynatraceConfigArgs']] = None, + elasticsearch_config: Optional[pulumi.Input['AgentElasticsearchConfigArgs']] = None, + gcm_config: Optional[pulumi.Input['AgentGcmConfigArgs']] = None, + grafana_loki_config: Optional[pulumi.Input['AgentGrafanaLokiConfigArgs']] = None, + graphite_config: Optional[pulumi.Input['AgentGraphiteConfigArgs']] = None, + influxdb_config: Optional[pulumi.Input['AgentInfluxdbConfigArgs']] = None, + instana_config: Optional[pulumi.Input['AgentInstanaConfigArgs']] = None, + lightstep_config: Optional[pulumi.Input['AgentLightstepConfigArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + newrelic_config: Optional[pulumi.Input['AgentNewrelicConfigArgs']] = None, + opentsdb_config: Optional[pulumi.Input['AgentOpentsdbConfigArgs']] = None, + pingdom_config: Optional[pulumi.Input['AgentPingdomConfigArgs']] = None, + project: Optional[pulumi.Input[str]] = None, + prometheus_config: Optional[pulumi.Input['AgentPrometheusConfigArgs']] = None, + query_delay: Optional[pulumi.Input['AgentQueryDelayArgs']] = None, + redshift_config: Optional[pulumi.Input['AgentRedshiftConfigArgs']] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + splunk_config: Optional[pulumi.Input['AgentSplunkConfigArgs']] = None, + splunk_observability_config: Optional[pulumi.Input['AgentSplunkObservabilityConfigArgs']] = None, + status: Optional[pulumi.Input[Mapping[str, Any]]] = None, + sumologic_config: Optional[pulumi.Input['AgentSumologicConfigArgs']] = None, + thousandeyes_config: Optional[pulumi.Input['AgentThousandeyesConfigArgs']] = None): + """ + Input properties used for looking up and filtering Agent resources. + :param pulumi.Input[str] agent_type: The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + :param pulumi.Input['AgentAmazonPrometheusConfigArgs'] amazon_prometheus_config: [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + :param pulumi.Input['AgentAppdynamicsConfigArgs'] appdynamics_config: [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + :param pulumi.Input['AgentBigqueryConfigArgs'] bigquery_config: [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + :param pulumi.Input[str] client_id: client_id of created agent. + :param pulumi.Input[str] client_secret: client_secret of created agent. + :param pulumi.Input['AgentCloudwatchConfigArgs'] cloudwatch_config: [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + :param pulumi.Input['AgentDatadogConfigArgs'] datadog_config: [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input['AgentDynatraceConfigArgs'] dynatrace_config: [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + :param pulumi.Input['AgentElasticsearchConfigArgs'] elasticsearch_config: [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + :param pulumi.Input['AgentGcmConfigArgs'] gcm_config: [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + :param pulumi.Input['AgentGrafanaLokiConfigArgs'] grafana_loki_config: [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + :param pulumi.Input['AgentGraphiteConfigArgs'] graphite_config: [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + :param pulumi.Input['AgentInfluxdbConfigArgs'] influxdb_config: [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + :param pulumi.Input['AgentInstanaConfigArgs'] instana_config: [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + :param pulumi.Input['AgentLightstepConfigArgs'] lightstep_config: [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['AgentNewrelicConfigArgs'] newrelic_config: [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + :param pulumi.Input['AgentOpentsdbConfigArgs'] opentsdb_config: [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + :param pulumi.Input['AgentPingdomConfigArgs'] pingdom_config: [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['AgentPrometheusConfigArgs'] prometheus_config: [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + :param pulumi.Input['AgentQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input['AgentRedshiftConfigArgs'] redshift_config: [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input['AgentSplunkConfigArgs'] splunk_config: [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + :param pulumi.Input['AgentSplunkObservabilityConfigArgs'] splunk_observability_config: [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + :param pulumi.Input[Mapping[str, Any]] status: Status of the created agent. + :param pulumi.Input['AgentSumologicConfigArgs'] sumologic_config: [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + :param pulumi.Input['AgentThousandeyesConfigArgs'] thousandeyes_config: [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + """ + if agent_type is not None: + pulumi.set(__self__, "agent_type", agent_type) + if amazon_prometheus_config is not None: + pulumi.set(__self__, "amazon_prometheus_config", amazon_prometheus_config) + if appdynamics_config is not None: + pulumi.set(__self__, "appdynamics_config", appdynamics_config) + if bigquery_config is not None: + pulumi.set(__self__, "bigquery_config", bigquery_config) + if client_id is not None: + pulumi.set(__self__, "client_id", client_id) + if client_secret is not None: + pulumi.set(__self__, "client_secret", client_secret) + if cloudwatch_config is not None: + pulumi.set(__self__, "cloudwatch_config", cloudwatch_config) + if datadog_config is not None: + pulumi.set(__self__, "datadog_config", datadog_config) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if dynatrace_config is not None: + pulumi.set(__self__, "dynatrace_config", dynatrace_config) + if elasticsearch_config is not None: + pulumi.set(__self__, "elasticsearch_config", elasticsearch_config) + if gcm_config is not None: + pulumi.set(__self__, "gcm_config", gcm_config) + if grafana_loki_config is not None: + pulumi.set(__self__, "grafana_loki_config", grafana_loki_config) + if graphite_config is not None: + pulumi.set(__self__, "graphite_config", graphite_config) + if influxdb_config is not None: + pulumi.set(__self__, "influxdb_config", influxdb_config) + if instana_config is not None: + pulumi.set(__self__, "instana_config", instana_config) + if lightstep_config is not None: + pulumi.set(__self__, "lightstep_config", lightstep_config) + if name is not None: + pulumi.set(__self__, "name", name) + if newrelic_config is not None: + pulumi.set(__self__, "newrelic_config", newrelic_config) + if opentsdb_config is not None: + pulumi.set(__self__, "opentsdb_config", opentsdb_config) + if pingdom_config is not None: + pulumi.set(__self__, "pingdom_config", pingdom_config) + if project is not None: + pulumi.set(__self__, "project", project) + if prometheus_config is not None: + pulumi.set(__self__, "prometheus_config", prometheus_config) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if redshift_config is not None: + pulumi.set(__self__, "redshift_config", redshift_config) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if splunk_config is not None: + pulumi.set(__self__, "splunk_config", splunk_config) + if splunk_observability_config is not None: + pulumi.set(__self__, "splunk_observability_config", splunk_observability_config) + if status is not None: + pulumi.set(__self__, "status", status) + if sumologic_config is not None: + pulumi.set(__self__, "sumologic_config", sumologic_config) + if thousandeyes_config is not None: + pulumi.set(__self__, "thousandeyes_config", thousandeyes_config) + + @property + @pulumi.getter(name="agentType") + def agent_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + """ + return pulumi.get(self, "agent_type") + + @agent_type.setter + def agent_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "agent_type", value) + + @property + @pulumi.getter(name="amazonPrometheusConfig") + def amazon_prometheus_config(self) -> Optional[pulumi.Input['AgentAmazonPrometheusConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + """ + return pulumi.get(self, "amazon_prometheus_config") + + @amazon_prometheus_config.setter + def amazon_prometheus_config(self, value: Optional[pulumi.Input['AgentAmazonPrometheusConfigArgs']]): + pulumi.set(self, "amazon_prometheus_config", value) + + @property + @pulumi.getter(name="appdynamicsConfig") + def appdynamics_config(self) -> Optional[pulumi.Input['AgentAppdynamicsConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + """ + return pulumi.get(self, "appdynamics_config") + + @appdynamics_config.setter + def appdynamics_config(self, value: Optional[pulumi.Input['AgentAppdynamicsConfigArgs']]): + pulumi.set(self, "appdynamics_config", value) + + @property + @pulumi.getter(name="bigqueryConfig") + def bigquery_config(self) -> Optional[pulumi.Input['AgentBigqueryConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + """ + return pulumi.get(self, "bigquery_config") + + @bigquery_config.setter + def bigquery_config(self, value: Optional[pulumi.Input['AgentBigqueryConfigArgs']]): + pulumi.set(self, "bigquery_config", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + client_id of created agent. + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + client_secret of created agent. + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="cloudwatchConfig") + def cloudwatch_config(self) -> Optional[pulumi.Input['AgentCloudwatchConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + """ + return pulumi.get(self, "cloudwatch_config") + + @cloudwatch_config.setter + def cloudwatch_config(self, value: Optional[pulumi.Input['AgentCloudwatchConfigArgs']]): + pulumi.set(self, "cloudwatch_config", value) + + @property + @pulumi.getter(name="datadogConfig") + def datadog_config(self) -> Optional[pulumi.Input['AgentDatadogConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + """ + return pulumi.get(self, "datadog_config") + + @datadog_config.setter + def datadog_config(self, value: Optional[pulumi.Input['AgentDatadogConfigArgs']]): + pulumi.set(self, "datadog_config", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="dynatraceConfig") + def dynatrace_config(self) -> Optional[pulumi.Input['AgentDynatraceConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + """ + return pulumi.get(self, "dynatrace_config") + + @dynatrace_config.setter + def dynatrace_config(self, value: Optional[pulumi.Input['AgentDynatraceConfigArgs']]): + pulumi.set(self, "dynatrace_config", value) + + @property + @pulumi.getter(name="elasticsearchConfig") + def elasticsearch_config(self) -> Optional[pulumi.Input['AgentElasticsearchConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + """ + return pulumi.get(self, "elasticsearch_config") + + @elasticsearch_config.setter + def elasticsearch_config(self, value: Optional[pulumi.Input['AgentElasticsearchConfigArgs']]): + pulumi.set(self, "elasticsearch_config", value) + + @property + @pulumi.getter(name="gcmConfig") + def gcm_config(self) -> Optional[pulumi.Input['AgentGcmConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + """ + return pulumi.get(self, "gcm_config") + + @gcm_config.setter + def gcm_config(self, value: Optional[pulumi.Input['AgentGcmConfigArgs']]): + pulumi.set(self, "gcm_config", value) + + @property + @pulumi.getter(name="grafanaLokiConfig") + def grafana_loki_config(self) -> Optional[pulumi.Input['AgentGrafanaLokiConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + """ + return pulumi.get(self, "grafana_loki_config") + + @grafana_loki_config.setter + def grafana_loki_config(self, value: Optional[pulumi.Input['AgentGrafanaLokiConfigArgs']]): + pulumi.set(self, "grafana_loki_config", value) + + @property + @pulumi.getter(name="graphiteConfig") + def graphite_config(self) -> Optional[pulumi.Input['AgentGraphiteConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + """ + return pulumi.get(self, "graphite_config") + + @graphite_config.setter + def graphite_config(self, value: Optional[pulumi.Input['AgentGraphiteConfigArgs']]): + pulumi.set(self, "graphite_config", value) + + @property + @pulumi.getter(name="influxdbConfig") + def influxdb_config(self) -> Optional[pulumi.Input['AgentInfluxdbConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + """ + return pulumi.get(self, "influxdb_config") + + @influxdb_config.setter + def influxdb_config(self, value: Optional[pulumi.Input['AgentInfluxdbConfigArgs']]): + pulumi.set(self, "influxdb_config", value) + + @property + @pulumi.getter(name="instanaConfig") + def instana_config(self) -> Optional[pulumi.Input['AgentInstanaConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + """ + return pulumi.get(self, "instana_config") + + @instana_config.setter + def instana_config(self, value: Optional[pulumi.Input['AgentInstanaConfigArgs']]): + pulumi.set(self, "instana_config", value) + + @property + @pulumi.getter(name="lightstepConfig") + def lightstep_config(self) -> Optional[pulumi.Input['AgentLightstepConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + """ + return pulumi.get(self, "lightstep_config") + + @lightstep_config.setter + def lightstep_config(self, value: Optional[pulumi.Input['AgentLightstepConfigArgs']]): + pulumi.set(self, "lightstep_config", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="newrelicConfig") + def newrelic_config(self) -> Optional[pulumi.Input['AgentNewrelicConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + """ + return pulumi.get(self, "newrelic_config") + + @newrelic_config.setter + def newrelic_config(self, value: Optional[pulumi.Input['AgentNewrelicConfigArgs']]): + pulumi.set(self, "newrelic_config", value) + + @property + @pulumi.getter(name="opentsdbConfig") + def opentsdb_config(self) -> Optional[pulumi.Input['AgentOpentsdbConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + """ + return pulumi.get(self, "opentsdb_config") + + @opentsdb_config.setter + def opentsdb_config(self, value: Optional[pulumi.Input['AgentOpentsdbConfigArgs']]): + pulumi.set(self, "opentsdb_config", value) + + @property + @pulumi.getter(name="pingdomConfig") + def pingdom_config(self) -> Optional[pulumi.Input['AgentPingdomConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + """ + return pulumi.get(self, "pingdom_config") + + @pingdom_config.setter + def pingdom_config(self, value: Optional[pulumi.Input['AgentPingdomConfigArgs']]): + pulumi.set(self, "pingdom_config", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="prometheusConfig") + def prometheus_config(self) -> Optional[pulumi.Input['AgentPrometheusConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + """ + return pulumi.get(self, "prometheus_config") + + @prometheus_config.setter + def prometheus_config(self, value: Optional[pulumi.Input['AgentPrometheusConfigArgs']]): + pulumi.set(self, "prometheus_config", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['AgentQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['AgentQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="redshiftConfig") + def redshift_config(self) -> Optional[pulumi.Input['AgentRedshiftConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + """ + return pulumi.get(self, "redshift_config") + + @redshift_config.setter + def redshift_config(self, value: Optional[pulumi.Input['AgentRedshiftConfigArgs']]): + pulumi.set(self, "redshift_config", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter(name="splunkConfig") + def splunk_config(self) -> Optional[pulumi.Input['AgentSplunkConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + """ + return pulumi.get(self, "splunk_config") + + @splunk_config.setter + def splunk_config(self, value: Optional[pulumi.Input['AgentSplunkConfigArgs']]): + pulumi.set(self, "splunk_config", value) + + @property + @pulumi.getter(name="splunkObservabilityConfig") + def splunk_observability_config(self) -> Optional[pulumi.Input['AgentSplunkObservabilityConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + """ + return pulumi.get(self, "splunk_observability_config") + + @splunk_observability_config.setter + def splunk_observability_config(self, value: Optional[pulumi.Input['AgentSplunkObservabilityConfigArgs']]): + pulumi.set(self, "splunk_observability_config", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + Status of the created agent. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter(name="sumologicConfig") + def sumologic_config(self) -> Optional[pulumi.Input['AgentSumologicConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + """ + return pulumi.get(self, "sumologic_config") + + @sumologic_config.setter + def sumologic_config(self, value: Optional[pulumi.Input['AgentSumologicConfigArgs']]): + pulumi.set(self, "sumologic_config", value) + + @property + @pulumi.getter(name="thousandeyesConfig") + def thousandeyes_config(self) -> Optional[pulumi.Input['AgentThousandeyesConfigArgs']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + """ + return pulumi.get(self, "thousandeyes_config") + + @thousandeyes_config.setter + def thousandeyes_config(self, value: Optional[pulumi.Input['AgentThousandeyesConfigArgs']]): + pulumi.set(self, "thousandeyes_config", value) + + +class Agent(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + agent_type: Optional[pulumi.Input[str]] = None, + amazon_prometheus_config: Optional[pulumi.Input[pulumi.InputType['AgentAmazonPrometheusConfigArgs']]] = None, + appdynamics_config: Optional[pulumi.Input[pulumi.InputType['AgentAppdynamicsConfigArgs']]] = None, + bigquery_config: Optional[pulumi.Input[pulumi.InputType['AgentBigqueryConfigArgs']]] = None, + cloudwatch_config: Optional[pulumi.Input[pulumi.InputType['AgentCloudwatchConfigArgs']]] = None, + datadog_config: Optional[pulumi.Input[pulumi.InputType['AgentDatadogConfigArgs']]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + dynatrace_config: Optional[pulumi.Input[pulumi.InputType['AgentDynatraceConfigArgs']]] = None, + elasticsearch_config: Optional[pulumi.Input[pulumi.InputType['AgentElasticsearchConfigArgs']]] = None, + gcm_config: Optional[pulumi.Input[pulumi.InputType['AgentGcmConfigArgs']]] = None, + grafana_loki_config: Optional[pulumi.Input[pulumi.InputType['AgentGrafanaLokiConfigArgs']]] = None, + graphite_config: Optional[pulumi.Input[pulumi.InputType['AgentGraphiteConfigArgs']]] = None, + influxdb_config: Optional[pulumi.Input[pulumi.InputType['AgentInfluxdbConfigArgs']]] = None, + instana_config: Optional[pulumi.Input[pulumi.InputType['AgentInstanaConfigArgs']]] = None, + lightstep_config: Optional[pulumi.Input[pulumi.InputType['AgentLightstepConfigArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + newrelic_config: Optional[pulumi.Input[pulumi.InputType['AgentNewrelicConfigArgs']]] = None, + opentsdb_config: Optional[pulumi.Input[pulumi.InputType['AgentOpentsdbConfigArgs']]] = None, + pingdom_config: Optional[pulumi.Input[pulumi.InputType['AgentPingdomConfigArgs']]] = None, + project: Optional[pulumi.Input[str]] = None, + prometheus_config: Optional[pulumi.Input[pulumi.InputType['AgentPrometheusConfigArgs']]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['AgentQueryDelayArgs']]] = None, + redshift_config: Optional[pulumi.Input[pulumi.InputType['AgentRedshiftConfigArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + splunk_config: Optional[pulumi.Input[pulumi.InputType['AgentSplunkConfigArgs']]] = None, + splunk_observability_config: Optional[pulumi.Input[pulumi.InputType['AgentSplunkObservabilityConfigArgs']]] = None, + sumologic_config: Optional[pulumi.Input[pulumi.InputType['AgentSumologicConfigArgs']]] = None, + thousandeyes_config: Optional[pulumi.Input[pulumi.InputType['AgentThousandeyesConfigArgs']]] = None, + __props__=None): + """ + The Agent is a lightweight application that executes the queries defined for your Nobl9 SLOs. Queries are written in the language supported by the data source in question and executed via native APIs. + + The Agent then sends your SLI metrics back to Nobl9 for processing and error budget calculation. + + For more information, refer to [Agent configuration | Nobl9 Documentation](https://docs.nobl9.com/nobl9_agent) + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + this_project = nobl9.Project("thisProject", + display_name="Test N9 Terraform", + description="An example N9 Terraform project") + this_agent = nobl9.Agent("thisAgent", + project=this_project.name, + source_ofs=[ + "Metrics", + "Services", + ], + agent_type="prometheus", + prometheus_config=nobl9.AgentPrometheusConfigArgs( + url="http://web.net", + )) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] agent_type: The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + :param pulumi.Input[pulumi.InputType['AgentAmazonPrometheusConfigArgs']] amazon_prometheus_config: [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + :param pulumi.Input[pulumi.InputType['AgentAppdynamicsConfigArgs']] appdynamics_config: [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + :param pulumi.Input[pulumi.InputType['AgentBigqueryConfigArgs']] bigquery_config: [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + :param pulumi.Input[pulumi.InputType['AgentCloudwatchConfigArgs']] cloudwatch_config: [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + :param pulumi.Input[pulumi.InputType['AgentDatadogConfigArgs']] datadog_config: [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[pulumi.InputType['AgentDynatraceConfigArgs']] dynatrace_config: [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + :param pulumi.Input[pulumi.InputType['AgentElasticsearchConfigArgs']] elasticsearch_config: [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + :param pulumi.Input[pulumi.InputType['AgentGcmConfigArgs']] gcm_config: [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + :param pulumi.Input[pulumi.InputType['AgentGrafanaLokiConfigArgs']] grafana_loki_config: [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + :param pulumi.Input[pulumi.InputType['AgentGraphiteConfigArgs']] graphite_config: [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + :param pulumi.Input[pulumi.InputType['AgentInfluxdbConfigArgs']] influxdb_config: [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + :param pulumi.Input[pulumi.InputType['AgentInstanaConfigArgs']] instana_config: [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + :param pulumi.Input[pulumi.InputType['AgentLightstepConfigArgs']] lightstep_config: [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['AgentNewrelicConfigArgs']] newrelic_config: [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + :param pulumi.Input[pulumi.InputType['AgentOpentsdbConfigArgs']] opentsdb_config: [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + :param pulumi.Input[pulumi.InputType['AgentPingdomConfigArgs']] pingdom_config: [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['AgentPrometheusConfigArgs']] prometheus_config: [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + :param pulumi.Input[pulumi.InputType['AgentQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[pulumi.InputType['AgentRedshiftConfigArgs']] redshift_config: [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[pulumi.InputType['AgentSplunkConfigArgs']] splunk_config: [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + :param pulumi.Input[pulumi.InputType['AgentSplunkObservabilityConfigArgs']] splunk_observability_config: [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + :param pulumi.Input[pulumi.InputType['AgentSumologicConfigArgs']] sumologic_config: [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + :param pulumi.Input[pulumi.InputType['AgentThousandeyesConfigArgs']] thousandeyes_config: [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AgentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The Agent is a lightweight application that executes the queries defined for your Nobl9 SLOs. Queries are written in the language supported by the data source in question and executed via native APIs. + + The Agent then sends your SLI metrics back to Nobl9 for processing and error budget calculation. + + For more information, refer to [Agent configuration | Nobl9 Documentation](https://docs.nobl9.com/nobl9_agent) + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + this_project = nobl9.Project("thisProject", + display_name="Test N9 Terraform", + description="An example N9 Terraform project") + this_agent = nobl9.Agent("thisAgent", + project=this_project.name, + source_ofs=[ + "Metrics", + "Services", + ], + agent_type="prometheus", + prometheus_config=nobl9.AgentPrometheusConfigArgs( + url="http://web.net", + )) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param AgentArgs 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(AgentArgs, 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, + agent_type: Optional[pulumi.Input[str]] = None, + amazon_prometheus_config: Optional[pulumi.Input[pulumi.InputType['AgentAmazonPrometheusConfigArgs']]] = None, + appdynamics_config: Optional[pulumi.Input[pulumi.InputType['AgentAppdynamicsConfigArgs']]] = None, + bigquery_config: Optional[pulumi.Input[pulumi.InputType['AgentBigqueryConfigArgs']]] = None, + cloudwatch_config: Optional[pulumi.Input[pulumi.InputType['AgentCloudwatchConfigArgs']]] = None, + datadog_config: Optional[pulumi.Input[pulumi.InputType['AgentDatadogConfigArgs']]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + dynatrace_config: Optional[pulumi.Input[pulumi.InputType['AgentDynatraceConfigArgs']]] = None, + elasticsearch_config: Optional[pulumi.Input[pulumi.InputType['AgentElasticsearchConfigArgs']]] = None, + gcm_config: Optional[pulumi.Input[pulumi.InputType['AgentGcmConfigArgs']]] = None, + grafana_loki_config: Optional[pulumi.Input[pulumi.InputType['AgentGrafanaLokiConfigArgs']]] = None, + graphite_config: Optional[pulumi.Input[pulumi.InputType['AgentGraphiteConfigArgs']]] = None, + influxdb_config: Optional[pulumi.Input[pulumi.InputType['AgentInfluxdbConfigArgs']]] = None, + instana_config: Optional[pulumi.Input[pulumi.InputType['AgentInstanaConfigArgs']]] = None, + lightstep_config: Optional[pulumi.Input[pulumi.InputType['AgentLightstepConfigArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + newrelic_config: Optional[pulumi.Input[pulumi.InputType['AgentNewrelicConfigArgs']]] = None, + opentsdb_config: Optional[pulumi.Input[pulumi.InputType['AgentOpentsdbConfigArgs']]] = None, + pingdom_config: Optional[pulumi.Input[pulumi.InputType['AgentPingdomConfigArgs']]] = None, + project: Optional[pulumi.Input[str]] = None, + prometheus_config: Optional[pulumi.Input[pulumi.InputType['AgentPrometheusConfigArgs']]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['AgentQueryDelayArgs']]] = None, + redshift_config: Optional[pulumi.Input[pulumi.InputType['AgentRedshiftConfigArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + splunk_config: Optional[pulumi.Input[pulumi.InputType['AgentSplunkConfigArgs']]] = None, + splunk_observability_config: Optional[pulumi.Input[pulumi.InputType['AgentSplunkObservabilityConfigArgs']]] = None, + sumologic_config: Optional[pulumi.Input[pulumi.InputType['AgentSumologicConfigArgs']]] = None, + thousandeyes_config: Optional[pulumi.Input[pulumi.InputType['AgentThousandeyesConfigArgs']]] = 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__ = AgentArgs.__new__(AgentArgs) + + if agent_type is None and not opts.urn: + raise TypeError("Missing required property 'agent_type'") + __props__.__dict__["agent_type"] = agent_type + __props__.__dict__["amazon_prometheus_config"] = amazon_prometheus_config + __props__.__dict__["appdynamics_config"] = appdynamics_config + __props__.__dict__["bigquery_config"] = bigquery_config + __props__.__dict__["cloudwatch_config"] = cloudwatch_config + __props__.__dict__["datadog_config"] = datadog_config + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["dynatrace_config"] = dynatrace_config + __props__.__dict__["elasticsearch_config"] = elasticsearch_config + __props__.__dict__["gcm_config"] = gcm_config + __props__.__dict__["grafana_loki_config"] = grafana_loki_config + __props__.__dict__["graphite_config"] = graphite_config + __props__.__dict__["influxdb_config"] = influxdb_config + __props__.__dict__["instana_config"] = instana_config + __props__.__dict__["lightstep_config"] = lightstep_config + __props__.__dict__["name"] = name + __props__.__dict__["newrelic_config"] = newrelic_config + __props__.__dict__["opentsdb_config"] = opentsdb_config + __props__.__dict__["pingdom_config"] = pingdom_config + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["prometheus_config"] = prometheus_config + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["redshift_config"] = redshift_config + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["splunk_config"] = splunk_config + __props__.__dict__["splunk_observability_config"] = splunk_observability_config + __props__.__dict__["sumologic_config"] = sumologic_config + __props__.__dict__["thousandeyes_config"] = thousandeyes_config + __props__.__dict__["client_id"] = None + __props__.__dict__["client_secret"] = None + __props__.__dict__["status"] = None + super(Agent, __self__).__init__( + 'nobl9:index/agent:Agent', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + agent_type: Optional[pulumi.Input[str]] = None, + amazon_prometheus_config: Optional[pulumi.Input[pulumi.InputType['AgentAmazonPrometheusConfigArgs']]] = None, + appdynamics_config: Optional[pulumi.Input[pulumi.InputType['AgentAppdynamicsConfigArgs']]] = None, + bigquery_config: Optional[pulumi.Input[pulumi.InputType['AgentBigqueryConfigArgs']]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + cloudwatch_config: Optional[pulumi.Input[pulumi.InputType['AgentCloudwatchConfigArgs']]] = None, + datadog_config: Optional[pulumi.Input[pulumi.InputType['AgentDatadogConfigArgs']]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + dynatrace_config: Optional[pulumi.Input[pulumi.InputType['AgentDynatraceConfigArgs']]] = None, + elasticsearch_config: Optional[pulumi.Input[pulumi.InputType['AgentElasticsearchConfigArgs']]] = None, + gcm_config: Optional[pulumi.Input[pulumi.InputType['AgentGcmConfigArgs']]] = None, + grafana_loki_config: Optional[pulumi.Input[pulumi.InputType['AgentGrafanaLokiConfigArgs']]] = None, + graphite_config: Optional[pulumi.Input[pulumi.InputType['AgentGraphiteConfigArgs']]] = None, + influxdb_config: Optional[pulumi.Input[pulumi.InputType['AgentInfluxdbConfigArgs']]] = None, + instana_config: Optional[pulumi.Input[pulumi.InputType['AgentInstanaConfigArgs']]] = None, + lightstep_config: Optional[pulumi.Input[pulumi.InputType['AgentLightstepConfigArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + newrelic_config: Optional[pulumi.Input[pulumi.InputType['AgentNewrelicConfigArgs']]] = None, + opentsdb_config: Optional[pulumi.Input[pulumi.InputType['AgentOpentsdbConfigArgs']]] = None, + pingdom_config: Optional[pulumi.Input[pulumi.InputType['AgentPingdomConfigArgs']]] = None, + project: Optional[pulumi.Input[str]] = None, + prometheus_config: Optional[pulumi.Input[pulumi.InputType['AgentPrometheusConfigArgs']]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['AgentQueryDelayArgs']]] = None, + redshift_config: Optional[pulumi.Input[pulumi.InputType['AgentRedshiftConfigArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + splunk_config: Optional[pulumi.Input[pulumi.InputType['AgentSplunkConfigArgs']]] = None, + splunk_observability_config: Optional[pulumi.Input[pulumi.InputType['AgentSplunkObservabilityConfigArgs']]] = None, + status: Optional[pulumi.Input[Mapping[str, Any]]] = None, + sumologic_config: Optional[pulumi.Input[pulumi.InputType['AgentSumologicConfigArgs']]] = None, + thousandeyes_config: Optional[pulumi.Input[pulumi.InputType['AgentThousandeyesConfigArgs']]] = None) -> 'Agent': + """ + Get an existing Agent 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] agent_type: The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + :param pulumi.Input[pulumi.InputType['AgentAmazonPrometheusConfigArgs']] amazon_prometheus_config: [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + :param pulumi.Input[pulumi.InputType['AgentAppdynamicsConfigArgs']] appdynamics_config: [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + :param pulumi.Input[pulumi.InputType['AgentBigqueryConfigArgs']] bigquery_config: [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + :param pulumi.Input[str] client_id: client_id of created agent. + :param pulumi.Input[str] client_secret: client_secret of created agent. + :param pulumi.Input[pulumi.InputType['AgentCloudwatchConfigArgs']] cloudwatch_config: [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + :param pulumi.Input[pulumi.InputType['AgentDatadogConfigArgs']] datadog_config: [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[pulumi.InputType['AgentDynatraceConfigArgs']] dynatrace_config: [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + :param pulumi.Input[pulumi.InputType['AgentElasticsearchConfigArgs']] elasticsearch_config: [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + :param pulumi.Input[pulumi.InputType['AgentGcmConfigArgs']] gcm_config: [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + :param pulumi.Input[pulumi.InputType['AgentGrafanaLokiConfigArgs']] grafana_loki_config: [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + :param pulumi.Input[pulumi.InputType['AgentGraphiteConfigArgs']] graphite_config: [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + :param pulumi.Input[pulumi.InputType['AgentInfluxdbConfigArgs']] influxdb_config: [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + :param pulumi.Input[pulumi.InputType['AgentInstanaConfigArgs']] instana_config: [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + :param pulumi.Input[pulumi.InputType['AgentLightstepConfigArgs']] lightstep_config: [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['AgentNewrelicConfigArgs']] newrelic_config: [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + :param pulumi.Input[pulumi.InputType['AgentOpentsdbConfigArgs']] opentsdb_config: [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + :param pulumi.Input[pulumi.InputType['AgentPingdomConfigArgs']] pingdom_config: [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['AgentPrometheusConfigArgs']] prometheus_config: [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + :param pulumi.Input[pulumi.InputType['AgentQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[pulumi.InputType['AgentRedshiftConfigArgs']] redshift_config: [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[pulumi.InputType['AgentSplunkConfigArgs']] splunk_config: [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + :param pulumi.Input[pulumi.InputType['AgentSplunkObservabilityConfigArgs']] splunk_observability_config: [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + :param pulumi.Input[Mapping[str, Any]] status: Status of the created agent. + :param pulumi.Input[pulumi.InputType['AgentSumologicConfigArgs']] sumologic_config: [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + :param pulumi.Input[pulumi.InputType['AgentThousandeyesConfigArgs']] thousandeyes_config: [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AgentState.__new__(_AgentState) + + __props__.__dict__["agent_type"] = agent_type + __props__.__dict__["amazon_prometheus_config"] = amazon_prometheus_config + __props__.__dict__["appdynamics_config"] = appdynamics_config + __props__.__dict__["bigquery_config"] = bigquery_config + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["cloudwatch_config"] = cloudwatch_config + __props__.__dict__["datadog_config"] = datadog_config + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["dynatrace_config"] = dynatrace_config + __props__.__dict__["elasticsearch_config"] = elasticsearch_config + __props__.__dict__["gcm_config"] = gcm_config + __props__.__dict__["grafana_loki_config"] = grafana_loki_config + __props__.__dict__["graphite_config"] = graphite_config + __props__.__dict__["influxdb_config"] = influxdb_config + __props__.__dict__["instana_config"] = instana_config + __props__.__dict__["lightstep_config"] = lightstep_config + __props__.__dict__["name"] = name + __props__.__dict__["newrelic_config"] = newrelic_config + __props__.__dict__["opentsdb_config"] = opentsdb_config + __props__.__dict__["pingdom_config"] = pingdom_config + __props__.__dict__["project"] = project + __props__.__dict__["prometheus_config"] = prometheus_config + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["redshift_config"] = redshift_config + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["splunk_config"] = splunk_config + __props__.__dict__["splunk_observability_config"] = splunk_observability_config + __props__.__dict__["status"] = status + __props__.__dict__["sumologic_config"] = sumologic_config + __props__.__dict__["thousandeyes_config"] = thousandeyes_config + return Agent(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="agentType") + def agent_type(self) -> pulumi.Output[str]: + """ + The type of the Agent. Check [Supported Agent types | Nobl9 Documentation](https://docs.nobl9.com/Sources/) + """ + return pulumi.get(self, "agent_type") + + @property + @pulumi.getter(name="amazonPrometheusConfig") + def amazon_prometheus_config(self) -> pulumi.Output[Optional['outputs.AgentAmazonPrometheusConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Prometheus/#ams-prometheus-agent) + """ + return pulumi.get(self, "amazon_prometheus_config") + + @property + @pulumi.getter(name="appdynamicsConfig") + def appdynamics_config(self) -> pulumi.Output[Optional['outputs.AgentAppdynamicsConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-agent) + """ + return pulumi.get(self, "appdynamics_config") + + @property + @pulumi.getter(name="bigqueryConfig") + def bigquery_config(self) -> pulumi.Output[Optional['outputs.AgentBigqueryConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-agent) + """ + return pulumi.get(self, "bigquery_config") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + client_id of created agent. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + client_secret of created agent. + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="cloudwatchConfig") + def cloudwatch_config(self) -> pulumi.Output[Optional['outputs.AgentCloudwatchConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-agent) + """ + return pulumi.get(self, "cloudwatch_config") + + @property + @pulumi.getter(name="datadogConfig") + def datadog_config(self) -> pulumi.Output[Optional['outputs.AgentDatadogConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/datadog#datadog-agent) + """ + return pulumi.get(self, "datadog_config") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="dynatraceConfig") + def dynatrace_config(self) -> pulumi.Output[Optional['outputs.AgentDynatraceConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-agent) + """ + return pulumi.get(self, "dynatrace_config") + + @property + @pulumi.getter(name="elasticsearchConfig") + def elasticsearch_config(self) -> pulumi.Output[Optional['outputs.AgentElasticsearchConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/elasticsearch#elasticsearch-agent) + """ + return pulumi.get(self, "elasticsearch_config") + + @property + @pulumi.getter(name="gcmConfig") + def gcm_config(self) -> pulumi.Output[Optional['outputs.AgentGcmConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-agent) + """ + return pulumi.get(self, "gcm_config") + + @property + @pulumi.getter(name="grafanaLokiConfig") + def grafana_loki_config(self) -> pulumi.Output[Optional['outputs.AgentGrafanaLokiConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/grafana-loki#grafana-loki-agent) + """ + return pulumi.get(self, "grafana_loki_config") + + @property + @pulumi.getter(name="graphiteConfig") + def graphite_config(self) -> pulumi.Output[Optional['outputs.AgentGraphiteConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/graphite#graphite-agent) + """ + return pulumi.get(self, "graphite_config") + + @property + @pulumi.getter(name="influxdbConfig") + def influxdb_config(self) -> pulumi.Output[Optional['outputs.AgentInfluxdbConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-agent) + """ + return pulumi.get(self, "influxdb_config") + + @property + @pulumi.getter(name="instanaConfig") + def instana_config(self) -> pulumi.Output[Optional['outputs.AgentInstanaConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/instana#instana-agent) + """ + return pulumi.get(self, "instana_config") + + @property + @pulumi.getter(name="lightstepConfig") + def lightstep_config(self) -> pulumi.Output[Optional['outputs.AgentLightstepConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-agent) + """ + return pulumi.get(self, "lightstep_config") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="newrelicConfig") + def newrelic_config(self) -> pulumi.Output[Optional['outputs.AgentNewrelicConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-agent) + """ + return pulumi.get(self, "newrelic_config") + + @property + @pulumi.getter(name="opentsdbConfig") + def opentsdb_config(self) -> pulumi.Output[Optional['outputs.AgentOpentsdbConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/opentsdb#opentsdb-agent) + """ + return pulumi.get(self, "opentsdb_config") + + @property + @pulumi.getter(name="pingdomConfig") + def pingdom_config(self) -> pulumi.Output[Optional['outputs.AgentPingdomConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-agent) + """ + return pulumi.get(self, "pingdom_config") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="prometheusConfig") + def prometheus_config(self) -> pulumi.Output[Optional['outputs.AgentPrometheusConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/prometheus#prometheus-agent) + """ + return pulumi.get(self, "prometheus_config") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.AgentQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter(name="redshiftConfig") + def redshift_config(self) -> pulumi.Output[Optional['outputs.AgentRedshiftConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-agent) + """ + return pulumi.get(self, "redshift_config") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter(name="splunkConfig") + def splunk_config(self) -> pulumi.Output[Optional['outputs.AgentSplunkConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/splunk#splunk-agent) + """ + return pulumi.get(self, "splunk_config") + + @property + @pulumi.getter(name="splunkObservabilityConfig") + def splunk_observability_config(self) -> pulumi.Output[Optional['outputs.AgentSplunkObservabilityConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-agent) + """ + return pulumi.get(self, "splunk_observability_config") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[Mapping[str, Any]]: + """ + Status of the created agent. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="sumologicConfig") + def sumologic_config(self) -> pulumi.Output[Optional['outputs.AgentSumologicConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-agent) + """ + return pulumi.get(self, "sumologic_config") + + @property + @pulumi.getter(name="thousandeyesConfig") + def thousandeyes_config(self) -> pulumi.Output[Optional['outputs.AgentThousandeyesConfig']]: + """ + [Configuration documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-agent) + """ + return pulumi.get(self, "thousandeyes_config") + diff --git a/sdk/python/pulumi_nobl9/alert_method_discord.py b/sdk/python/pulumi_nobl9/alert_method_discord.py new file mode 100644 index 0000000..c0a02a7 --- /dev/null +++ b/sdk/python/pulumi_nobl9/alert_method_discord.py @@ -0,0 +1,332 @@ +# 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__ = ['AlertMethodDiscordArgs', 'AlertMethodDiscord'] + +@pulumi.input_type +class AlertMethodDiscordArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a AlertMethodDiscord resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + """ + pulumi.set(__self__, "project", project) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class _AlertMethodDiscordState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AlertMethodDiscord resources. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class AlertMethodDiscord(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a AlertMethodDiscord resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AlertMethodDiscordArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a AlertMethodDiscord resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param AlertMethodDiscordArgs 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(AlertMethodDiscordArgs, 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, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: 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__ = AlertMethodDiscordArgs.__new__(AlertMethodDiscordArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["url"] = url + super(AlertMethodDiscord, __self__).__init__( + 'nobl9:index/alertMethodDiscord:AlertMethodDiscord', + 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, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'AlertMethodDiscord': + """ + Get an existing AlertMethodDiscord 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: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AlertMethodDiscordState.__new__(_AlertMethodDiscordState) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["url"] = url + return AlertMethodDiscord(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + Discord webhook endpoint URL. Refer to [Intro to webhooks | Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for more details. + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumi_nobl9/alert_method_email.py b/sdk/python/pulumi_nobl9/alert_method_email.py new file mode 100644 index 0000000..aae6cf5 --- /dev/null +++ b/sdk/python/pulumi_nobl9/alert_method_email.py @@ -0,0 +1,523 @@ +# 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__ = ['AlertMethodEmailArgs', 'AlertMethodEmail'] + +@pulumi.input_type +class AlertMethodEmailArgs: + def __init__(__self__, *, + body: pulumi.Input[str], + project: pulumi.Input[str], + subject: pulumi.Input[str], + tos: pulumi.Input[Sequence[pulumi.Input[str]]], + bccs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ccs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a AlertMethodEmail resource. + :param pulumi.Input[str] body: The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] subject: The Subject of the email alert. + :param pulumi.Input[Sequence[pulumi.Input[str]]] tos: Recipients. The maximum number of recipients is 10. + :param pulumi.Input[Sequence[pulumi.Input[str]]] bccs: Blind carbon copy recipients. The maximum number of recipients is 10. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ccs: Carbon copy recipients. The maximum number of recipients is 10. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + pulumi.set(__self__, "body", body) + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "subject", subject) + pulumi.set(__self__, "tos", tos) + if bccs is not None: + pulumi.set(__self__, "bccs", bccs) + if ccs is not None: + pulumi.set(__self__, "ccs", ccs) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def body(self) -> pulumi.Input[str]: + """ + The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + """ + return pulumi.get(self, "body") + + @body.setter + def body(self, value: pulumi.Input[str]): + pulumi.set(self, "body", value) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def subject(self) -> pulumi.Input[str]: + """ + The Subject of the email alert. + """ + return pulumi.get(self, "subject") + + @subject.setter + def subject(self, value: pulumi.Input[str]): + pulumi.set(self, "subject", value) + + @property + @pulumi.getter + def tos(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Recipients. The maximum number of recipients is 10. + """ + return pulumi.get(self, "tos") + + @tos.setter + def tos(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "tos", value) + + @property + @pulumi.getter + def bccs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Blind carbon copy recipients. The maximum number of recipients is 10. + """ + return pulumi.get(self, "bccs") + + @bccs.setter + def bccs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "bccs", value) + + @property + @pulumi.getter + def ccs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Carbon copy recipients. The maximum number of recipients is 10. + """ + return pulumi.get(self, "ccs") + + @ccs.setter + def ccs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "ccs", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _AlertMethodEmailState: + def __init__(__self__, *, + bccs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + body: Optional[pulumi.Input[str]] = None, + ccs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + subject: Optional[pulumi.Input[str]] = None, + tos: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering AlertMethodEmail resources. + :param pulumi.Input[Sequence[pulumi.Input[str]]] bccs: Blind carbon copy recipients. The maximum number of recipients is 10. + :param pulumi.Input[str] body: The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + :param pulumi.Input[Sequence[pulumi.Input[str]]] ccs: Carbon copy recipients. The maximum number of recipients is 10. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] subject: The Subject of the email alert. + :param pulumi.Input[Sequence[pulumi.Input[str]]] tos: Recipients. The maximum number of recipients is 10. + """ + if bccs is not None: + pulumi.set(__self__, "bccs", bccs) + if body is not None: + pulumi.set(__self__, "body", body) + if ccs is not None: + pulumi.set(__self__, "ccs", ccs) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if subject is not None: + pulumi.set(__self__, "subject", subject) + if tos is not None: + pulumi.set(__self__, "tos", tos) + + @property + @pulumi.getter + def bccs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Blind carbon copy recipients. The maximum number of recipients is 10. + """ + return pulumi.get(self, "bccs") + + @bccs.setter + def bccs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "bccs", value) + + @property + @pulumi.getter + def body(self) -> Optional[pulumi.Input[str]]: + """ + The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + """ + return pulumi.get(self, "body") + + @body.setter + def body(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "body", value) + + @property + @pulumi.getter + def ccs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Carbon copy recipients. The maximum number of recipients is 10. + """ + return pulumi.get(self, "ccs") + + @ccs.setter + def ccs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "ccs", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def subject(self) -> Optional[pulumi.Input[str]]: + """ + The Subject of the email alert. + """ + return pulumi.get(self, "subject") + + @subject.setter + def subject(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "subject", value) + + @property + @pulumi.getter + def tos(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Recipients. The maximum number of recipients is 10. + """ + return pulumi.get(self, "tos") + + @tos.setter + def tos(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "tos", value) + + +class AlertMethodEmail(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + bccs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + body: Optional[pulumi.Input[str]] = None, + ccs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + subject: Optional[pulumi.Input[str]] = None, + tos: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Create a AlertMethodEmail resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] bccs: Blind carbon copy recipients. The maximum number of recipients is 10. + :param pulumi.Input[str] body: The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + :param pulumi.Input[Sequence[pulumi.Input[str]]] ccs: Carbon copy recipients. The maximum number of recipients is 10. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] subject: The Subject of the email alert. + :param pulumi.Input[Sequence[pulumi.Input[str]]] tos: Recipients. The maximum number of recipients is 10. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AlertMethodEmailArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a AlertMethodEmail resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param AlertMethodEmailArgs 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(AlertMethodEmailArgs, 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, + bccs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + body: Optional[pulumi.Input[str]] = None, + ccs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + subject: Optional[pulumi.Input[str]] = None, + tos: Optional[pulumi.Input[Sequence[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__ = AlertMethodEmailArgs.__new__(AlertMethodEmailArgs) + + __props__.__dict__["bccs"] = bccs + if body is None and not opts.urn: + raise TypeError("Missing required property 'body'") + __props__.__dict__["body"] = body + __props__.__dict__["ccs"] = ccs + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + if subject is None and not opts.urn: + raise TypeError("Missing required property 'subject'") + __props__.__dict__["subject"] = subject + if tos is None and not opts.urn: + raise TypeError("Missing required property 'tos'") + __props__.__dict__["tos"] = tos + super(AlertMethodEmail, __self__).__init__( + 'nobl9:index/alertMethodEmail:AlertMethodEmail', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + bccs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + body: Optional[pulumi.Input[str]] = None, + ccs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + subject: Optional[pulumi.Input[str]] = None, + tos: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'AlertMethodEmail': + """ + Get an existing AlertMethodEmail 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[str]]] bccs: Blind carbon copy recipients. The maximum number of recipients is 10. + :param pulumi.Input[str] body: The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + :param pulumi.Input[Sequence[pulumi.Input[str]]] ccs: Carbon copy recipients. The maximum number of recipients is 10. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] subject: The Subject of the email alert. + :param pulumi.Input[Sequence[pulumi.Input[str]]] tos: Recipients. The maximum number of recipients is 10. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AlertMethodEmailState.__new__(_AlertMethodEmailState) + + __props__.__dict__["bccs"] = bccs + __props__.__dict__["body"] = body + __props__.__dict__["ccs"] = ccs + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["subject"] = subject + __props__.__dict__["tos"] = tos + return AlertMethodEmail(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def bccs(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Blind carbon copy recipients. The maximum number of recipients is 10. + """ + return pulumi.get(self, "bccs") + + @property + @pulumi.getter + def body(self) -> pulumi.Output[str]: + """ + The Body of the email alert. For the format of the body and the list of variables that you can define, refer to the [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/email-alert#yaml-configuration). + """ + return pulumi.get(self, "body") + + @property + @pulumi.getter + def ccs(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Carbon copy recipients. The maximum number of recipients is 10. + """ + return pulumi.get(self, "ccs") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter + def subject(self) -> pulumi.Output[str]: + """ + The Subject of the email alert. + """ + return pulumi.get(self, "subject") + + @property + @pulumi.getter + def tos(self) -> pulumi.Output[Sequence[str]]: + """ + Recipients. The maximum number of recipients is 10. + """ + return pulumi.get(self, "tos") + diff --git a/sdk/python/pulumi_nobl9/alert_method_jira.py b/sdk/python/pulumi_nobl9/alert_method_jira.py new file mode 100644 index 0000000..93ba8f1 --- /dev/null +++ b/sdk/python/pulumi_nobl9/alert_method_jira.py @@ -0,0 +1,476 @@ +# 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__ = ['AlertMethodJiraArgs', 'AlertMethodJira'] + +@pulumi.input_type +class AlertMethodJiraArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + project_key: pulumi.Input[str], + url: pulumi.Input[str], + username: pulumi.Input[str], + apitoken: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a AlertMethodJira resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project_key: The code of the Jira project. + :param pulumi.Input[str] url: Jira instance URL. The `https://` prefix is required. + :param pulumi.Input[str] username: Jira username for the owner of the API Token. + :param pulumi.Input[str] apitoken: [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "project_key", project_key) + pulumi.set(__self__, "url", url) + pulumi.set(__self__, "username", username) + if apitoken is not None: + pulumi.set(__self__, "apitoken", apitoken) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="projectKey") + def project_key(self) -> pulumi.Input[str]: + """ + The code of the Jira project. + """ + return pulumi.get(self, "project_key") + + @project_key.setter + def project_key(self, value: pulumi.Input[str]): + pulumi.set(self, "project_key", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Jira instance URL. The `https://` prefix is required. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def username(self) -> pulumi.Input[str]: + """ + Jira username for the owner of the API Token. + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: pulumi.Input[str]): + pulumi.set(self, "username", value) + + @property + @pulumi.getter + def apitoken(self) -> Optional[pulumi.Input[str]]: + """ + [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + """ + return pulumi.get(self, "apitoken") + + @apitoken.setter + def apitoken(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "apitoken", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _AlertMethodJiraState: + def __init__(__self__, *, + apitoken: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + project_key: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AlertMethodJira resources. + :param pulumi.Input[str] apitoken: [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project_key: The code of the Jira project. + :param pulumi.Input[str] url: Jira instance URL. The `https://` prefix is required. + :param pulumi.Input[str] username: Jira username for the owner of the API Token. + """ + if apitoken is not None: + pulumi.set(__self__, "apitoken", apitoken) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if project_key is not None: + pulumi.set(__self__, "project_key", project_key) + if url is not None: + pulumi.set(__self__, "url", url) + if username is not None: + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter + def apitoken(self) -> Optional[pulumi.Input[str]]: + """ + [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + """ + return pulumi.get(self, "apitoken") + + @apitoken.setter + def apitoken(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "apitoken", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="projectKey") + def project_key(self) -> Optional[pulumi.Input[str]]: + """ + The code of the Jira project. + """ + return pulumi.get(self, "project_key") + + @project_key.setter + def project_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_key", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + Jira instance URL. The `https://` prefix is required. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def username(self) -> Optional[pulumi.Input[str]]: + """ + Jira username for the owner of the API Token. + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "username", value) + + +class AlertMethodJira(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + apitoken: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + project_key: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a AlertMethodJira resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] apitoken: [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project_key: The code of the Jira project. + :param pulumi.Input[str] url: Jira instance URL. The `https://` prefix is required. + :param pulumi.Input[str] username: Jira username for the owner of the API Token. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AlertMethodJiraArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a AlertMethodJira resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param AlertMethodJiraArgs 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(AlertMethodJiraArgs, 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, + apitoken: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + project_key: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + username: 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__ = AlertMethodJiraArgs.__new__(AlertMethodJiraArgs) + + __props__.__dict__["apitoken"] = apitoken + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + if project_key is None and not opts.urn: + raise TypeError("Missing required property 'project_key'") + __props__.__dict__["project_key"] = project_key + if url is None and not opts.urn: + raise TypeError("Missing required property 'url'") + __props__.__dict__["url"] = url + if username is None and not opts.urn: + raise TypeError("Missing required property 'username'") + __props__.__dict__["username"] = username + super(AlertMethodJira, __self__).__init__( + 'nobl9:index/alertMethodJira:AlertMethodJira', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + apitoken: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + project_key: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None) -> 'AlertMethodJira': + """ + Get an existing AlertMethodJira 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] apitoken: [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project_key: The code of the Jira project. + :param pulumi.Input[str] url: Jira instance URL. The `https://` prefix is required. + :param pulumi.Input[str] username: Jira username for the owner of the API Token. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AlertMethodJiraState.__new__(_AlertMethodJiraState) + + __props__.__dict__["apitoken"] = apitoken + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["project_key"] = project_key + __props__.__dict__["url"] = url + __props__.__dict__["username"] = username + return AlertMethodJira(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def apitoken(self) -> pulumi.Output[str]: + """ + [API Token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) with access rights to the project. + """ + return pulumi.get(self, "apitoken") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="projectKey") + def project_key(self) -> pulumi.Output[str]: + """ + The code of the Jira project. + """ + return pulumi.get(self, "project_key") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + Jira instance URL. The `https://` prefix is required. + """ + return pulumi.get(self, "url") + + @property + @pulumi.getter + def username(self) -> pulumi.Output[str]: + """ + Jira username for the owner of the API Token. + """ + return pulumi.get(self, "username") + diff --git a/sdk/python/pulumi_nobl9/alert_method_msteams.py b/sdk/python/pulumi_nobl9/alert_method_msteams.py new file mode 100644 index 0000000..092bf07 --- /dev/null +++ b/sdk/python/pulumi_nobl9/alert_method_msteams.py @@ -0,0 +1,332 @@ +# 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__ = ['AlertMethodMsteamsArgs', 'AlertMethodMsteams'] + +@pulumi.input_type +class AlertMethodMsteamsArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a AlertMethodMsteams resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + """ + pulumi.set(__self__, "project", project) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class _AlertMethodMsteamsState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AlertMethodMsteams resources. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + """ + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class AlertMethodMsteams(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a AlertMethodMsteams resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AlertMethodMsteamsArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a AlertMethodMsteams resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param AlertMethodMsteamsArgs 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(AlertMethodMsteamsArgs, 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, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: 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__ = AlertMethodMsteamsArgs.__new__(AlertMethodMsteamsArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["url"] = url + super(AlertMethodMsteams, __self__).__init__( + 'nobl9:index/alertMethodMsteams:AlertMethodMsteams', + 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, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'AlertMethodMsteams': + """ + Get an existing AlertMethodMsteams 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: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AlertMethodMsteamsState.__new__(_AlertMethodMsteamsState) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["url"] = url + return AlertMethodMsteams(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + MS Teams [webhook endpoint URL](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumi_nobl9/alert_method_opsgenie.py b/sdk/python/pulumi_nobl9/alert_method_opsgenie.py new file mode 100644 index 0000000..9b64f28 --- /dev/null +++ b/sdk/python/pulumi_nobl9/alert_method_opsgenie.py @@ -0,0 +1,380 @@ +# 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__ = ['AlertMethodOpsgenieArgs', 'AlertMethodOpsgenie'] + +@pulumi.input_type +class AlertMethodOpsgenieArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + url: pulumi.Input[str], + auth: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a AlertMethodOpsgenie resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + :param pulumi.Input[str] auth: Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "url", url) + if auth is not None: + pulumi.set(__self__, "auth", auth) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def auth(self) -> Optional[pulumi.Input[str]]: + """ + Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + """ + return pulumi.get(self, "auth") + + @auth.setter + def auth(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "auth", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _AlertMethodOpsgenieState: + def __init__(__self__, *, + auth: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AlertMethodOpsgenie resources. + :param pulumi.Input[str] auth: Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + """ + if auth is not None: + pulumi.set(__self__, "auth", auth) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def auth(self) -> Optional[pulumi.Input[str]]: + """ + Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + """ + return pulumi.get(self, "auth") + + @auth.setter + def auth(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "auth", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class AlertMethodOpsgenie(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auth: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a AlertMethodOpsgenie resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] auth: Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AlertMethodOpsgenieArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a AlertMethodOpsgenie resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param AlertMethodOpsgenieArgs 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(AlertMethodOpsgenieArgs, 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, + auth: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: 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__ = AlertMethodOpsgenieArgs.__new__(AlertMethodOpsgenieArgs) + + __props__.__dict__["auth"] = auth + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + if url is None and not opts.urn: + raise TypeError("Missing required property 'url'") + __props__.__dict__["url"] = url + super(AlertMethodOpsgenie, __self__).__init__( + 'nobl9:index/alertMethodOpsgenie:AlertMethodOpsgenie', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + auth: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'AlertMethodOpsgenie': + """ + Get an existing AlertMethodOpsgenie 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] auth: Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AlertMethodOpsgenieState.__new__(_AlertMethodOpsgenieState) + + __props__.__dict__["auth"] = auth + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["url"] = url + return AlertMethodOpsgenie(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def auth(self) -> pulumi.Output[str]: + """ + Opsgenie authentication credentials. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#authentication) for supported formats. + """ + return pulumi.get(self, "auth") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + Opsgenie API URL. See [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/opsgenie#creating-opsgenie-api-key) for more details. + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumi_nobl9/alert_method_pagerduty.py b/sdk/python/pulumi_nobl9/alert_method_pagerduty.py new file mode 100644 index 0000000..56a306f --- /dev/null +++ b/sdk/python/pulumi_nobl9/alert_method_pagerduty.py @@ -0,0 +1,332 @@ +# 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__ = ['AlertMethodPagerdutyArgs', 'AlertMethodPagerduty'] + +@pulumi.input_type +class AlertMethodPagerdutyArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + integration_key: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a AlertMethodPagerduty resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] integration_key: PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + pulumi.set(__self__, "project", project) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if integration_key is not None: + pulumi.set(__self__, "integration_key", integration_key) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="integrationKey") + def integration_key(self) -> Optional[pulumi.Input[str]]: + """ + PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + """ + return pulumi.get(self, "integration_key") + + @integration_key.setter + def integration_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "integration_key", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _AlertMethodPagerdutyState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + integration_key: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AlertMethodPagerduty resources. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] integration_key: PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if integration_key is not None: + pulumi.set(__self__, "integration_key", integration_key) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="integrationKey") + def integration_key(self) -> Optional[pulumi.Input[str]]: + """ + PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + """ + return pulumi.get(self, "integration_key") + + @integration_key.setter + def integration_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "integration_key", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + +class AlertMethodPagerduty(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + integration_key: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a AlertMethodPagerduty resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] integration_key: PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AlertMethodPagerdutyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a AlertMethodPagerduty resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param AlertMethodPagerdutyArgs 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(AlertMethodPagerdutyArgs, 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, + display_name: Optional[pulumi.Input[str]] = None, + integration_key: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: 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__ = AlertMethodPagerdutyArgs.__new__(AlertMethodPagerdutyArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["integration_key"] = integration_key + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + super(AlertMethodPagerduty, __self__).__init__( + 'nobl9:index/alertMethodPagerduty:AlertMethodPagerduty', + 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, + display_name: Optional[pulumi.Input[str]] = None, + integration_key: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None) -> 'AlertMethodPagerduty': + """ + Get an existing AlertMethodPagerduty 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: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] integration_key: PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AlertMethodPagerdutyState.__new__(_AlertMethodPagerdutyState) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["integration_key"] = integration_key + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + return AlertMethodPagerduty(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="integrationKey") + def integration_key(self) -> pulumi.Output[str]: + """ + PagerDuty Integration Key. For more details, check [Services and integrations](https://support.pagerduty.com/docs/services-and-integrations). + """ + return pulumi.get(self, "integration_key") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + diff --git a/sdk/python/pulumi_nobl9/alert_method_servicenow.py b/sdk/python/pulumi_nobl9/alert_method_servicenow.py new file mode 100644 index 0000000..839426b --- /dev/null +++ b/sdk/python/pulumi_nobl9/alert_method_servicenow.py @@ -0,0 +1,428 @@ +# 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__ = ['AlertMethodServicenowArgs', 'AlertMethodServicenow'] + +@pulumi.input_type +class AlertMethodServicenowArgs: + def __init__(__self__, *, + instance_name: pulumi.Input[str], + project: pulumi.Input[str], + username: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a AlertMethodServicenow resource. + :param pulumi.Input[str] instance_name: ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] username: ServiceNow username. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] password: ServiceNow password. + """ + pulumi.set(__self__, "instance_name", instance_name) + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "username", username) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if password is not None: + pulumi.set(__self__, "password", password) + + @property + @pulumi.getter(name="instanceName") + def instance_name(self) -> pulumi.Input[str]: + """ + ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + """ + return pulumi.get(self, "instance_name") + + @instance_name.setter + def instance_name(self, value: pulumi.Input[str]): + pulumi.set(self, "instance_name", value) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def username(self) -> pulumi.Input[str]: + """ + ServiceNow username. + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: pulumi.Input[str]): + pulumi.set(self, "username", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + ServiceNow password. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + +@pulumi.input_type +class _AlertMethodServicenowState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + instance_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AlertMethodServicenow resources. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] instance_name: ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] password: ServiceNow password. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] username: ServiceNow username. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if instance_name is not None: + pulumi.set(__self__, "instance_name", instance_name) + if name is not None: + pulumi.set(__self__, "name", name) + if password is not None: + pulumi.set(__self__, "password", password) + if project is not None: + pulumi.set(__self__, "project", project) + if username is not None: + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="instanceName") + def instance_name(self) -> Optional[pulumi.Input[str]]: + """ + ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + """ + return pulumi.get(self, "instance_name") + + @instance_name.setter + def instance_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + ServiceNow password. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def username(self) -> Optional[pulumi.Input[str]]: + """ + ServiceNow username. + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "username", value) + + +class AlertMethodServicenow(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + instance_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a AlertMethodServicenow resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] instance_name: ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] password: ServiceNow password. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] username: ServiceNow username. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AlertMethodServicenowArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a AlertMethodServicenow resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param AlertMethodServicenowArgs 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(AlertMethodServicenowArgs, 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, + display_name: Optional[pulumi.Input[str]] = None, + instance_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + username: 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__ = AlertMethodServicenowArgs.__new__(AlertMethodServicenowArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + if instance_name is None and not opts.urn: + raise TypeError("Missing required property 'instance_name'") + __props__.__dict__["instance_name"] = instance_name + __props__.__dict__["name"] = name + __props__.__dict__["password"] = password + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + if username is None and not opts.urn: + raise TypeError("Missing required property 'username'") + __props__.__dict__["username"] = username + super(AlertMethodServicenow, __self__).__init__( + 'nobl9:index/alertMethodServicenow:AlertMethodServicenow', + 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, + display_name: Optional[pulumi.Input[str]] = None, + instance_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None) -> 'AlertMethodServicenow': + """ + Get an existing AlertMethodServicenow 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: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] instance_name: ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] password: ServiceNow password. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] username: ServiceNow username. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AlertMethodServicenowState.__new__(_AlertMethodServicenowState) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["instance_name"] = instance_name + __props__.__dict__["name"] = name + __props__.__dict__["password"] = password + __props__.__dict__["project"] = project + __props__.__dict__["username"] = username + return AlertMethodServicenow(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="instanceName") + def instance_name(self) -> pulumi.Output[str]: + """ + ServiceNow InstanceName. For details see [Nobl9 documentation](https://docs.nobl9.com/Alerting/Alert_methods/servicenow#servicenow-credentials). + """ + return pulumi.get(self, "instance_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def password(self) -> pulumi.Output[str]: + """ + ServiceNow password. + """ + return pulumi.get(self, "password") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter + def username(self) -> pulumi.Output[str]: + """ + ServiceNow username. + """ + return pulumi.get(self, "username") + diff --git a/sdk/python/pulumi_nobl9/alert_method_slack.py b/sdk/python/pulumi_nobl9/alert_method_slack.py new file mode 100644 index 0000000..1e12571 --- /dev/null +++ b/sdk/python/pulumi_nobl9/alert_method_slack.py @@ -0,0 +1,332 @@ +# 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__ = ['AlertMethodSlackArgs', 'AlertMethodSlack'] + +@pulumi.input_type +class AlertMethodSlackArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a AlertMethodSlack resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + """ + pulumi.set(__self__, "project", project) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class _AlertMethodSlackState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AlertMethodSlack resources. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + """ + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class AlertMethodSlack(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a AlertMethodSlack resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AlertMethodSlackArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a AlertMethodSlack resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param AlertMethodSlackArgs 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(AlertMethodSlackArgs, 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, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: 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__ = AlertMethodSlackArgs.__new__(AlertMethodSlackArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["url"] = url + super(AlertMethodSlack, __self__).__init__( + 'nobl9:index/alertMethodSlack:AlertMethodSlack', + 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, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'AlertMethodSlack': + """ + Get an existing AlertMethodSlack 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: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] url: Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AlertMethodSlackState.__new__(_AlertMethodSlackState) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["url"] = url + return AlertMethodSlack(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + Slack [webhook endpoint URL](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack%22). + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumi_nobl9/alert_method_webhook.py b/sdk/python/pulumi_nobl9/alert_method_webhook.py new file mode 100644 index 0000000..53f2438 --- /dev/null +++ b/sdk/python/pulumi_nobl9/alert_method_webhook.py @@ -0,0 +1,426 @@ +# 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__ = ['AlertMethodWebhookArgs', 'AlertMethodWebhook'] + +@pulumi.input_type +class AlertMethodWebhookArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + template: Optional[pulumi.Input[str]] = None, + template_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a AlertMethodWebhook resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] template: Webhook message template. See documentation for template format and samples. + :param pulumi.Input[Sequence[pulumi.Input[str]]] template_fields: Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + :param pulumi.Input[str] url: URL of the webhook endpoint. + """ + pulumi.set(__self__, "project", project) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if template is not None: + pulumi.set(__self__, "template", template) + if template_fields is not None: + pulumi.set(__self__, "template_fields", template_fields) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def template(self) -> Optional[pulumi.Input[str]]: + """ + Webhook message template. See documentation for template format and samples. + """ + return pulumi.get(self, "template") + + @template.setter + def template(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "template", value) + + @property + @pulumi.getter(name="templateFields") + def template_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + """ + return pulumi.get(self, "template_fields") + + @template_fields.setter + def template_fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "template_fields", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + URL of the webhook endpoint. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class _AlertMethodWebhookState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + template: Optional[pulumi.Input[str]] = None, + template_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AlertMethodWebhook resources. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] template: Webhook message template. See documentation for template format and samples. + :param pulumi.Input[Sequence[pulumi.Input[str]]] template_fields: Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + :param pulumi.Input[str] url: URL of the webhook endpoint. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if template is not None: + pulumi.set(__self__, "template", template) + if template_fields is not None: + pulumi.set(__self__, "template_fields", template_fields) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def template(self) -> Optional[pulumi.Input[str]]: + """ + Webhook message template. See documentation for template format and samples. + """ + return pulumi.get(self, "template") + + @template.setter + def template(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "template", value) + + @property + @pulumi.getter(name="templateFields") + def template_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + """ + return pulumi.get(self, "template_fields") + + @template_fields.setter + def template_fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "template_fields", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + URL of the webhook endpoint. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class AlertMethodWebhook(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + template: Optional[pulumi.Input[str]] = None, + template_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a AlertMethodWebhook resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] template: Webhook message template. See documentation for template format and samples. + :param pulumi.Input[Sequence[pulumi.Input[str]]] template_fields: Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + :param pulumi.Input[str] url: URL of the webhook endpoint. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AlertMethodWebhookArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a AlertMethodWebhook resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param AlertMethodWebhookArgs 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(AlertMethodWebhookArgs, 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, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + template: Optional[pulumi.Input[str]] = None, + template_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: 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__ = AlertMethodWebhookArgs.__new__(AlertMethodWebhookArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["template"] = template + __props__.__dict__["template_fields"] = template_fields + __props__.__dict__["url"] = url + super(AlertMethodWebhook, __self__).__init__( + 'nobl9:index/alertMethodWebhook:AlertMethodWebhook', + 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, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + template: Optional[pulumi.Input[str]] = None, + template_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'AlertMethodWebhook': + """ + Get an existing AlertMethodWebhook 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: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] template: Webhook message template. See documentation for template format and samples. + :param pulumi.Input[Sequence[pulumi.Input[str]]] template_fields: Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + :param pulumi.Input[str] url: URL of the webhook endpoint. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AlertMethodWebhookState.__new__(_AlertMethodWebhookState) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["template"] = template + __props__.__dict__["template_fields"] = template_fields + __props__.__dict__["url"] = url + return AlertMethodWebhook(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter + def template(self) -> pulumi.Output[Optional[str]]: + """ + Webhook message template. See documentation for template format and samples. + """ + return pulumi.get(self, "template") + + @property + @pulumi.getter(name="templateFields") + def template_fields(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Webhook message fields. The message contains JSON payload with specified fields. See documentation for allowed fields. + """ + return pulumi.get(self, "template_fields") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + URL of the webhook endpoint. + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumi_nobl9/alert_policy.py b/sdk/python/pulumi_nobl9/alert_policy.py new file mode 100644 index 0000000..e405b7f --- /dev/null +++ b/sdk/python/pulumi_nobl9/alert_policy.py @@ -0,0 +1,493 @@ +# 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__ = ['AlertPolicyArgs', 'AlertPolicy'] + +@pulumi.input_type +class AlertPolicyArgs: + def __init__(__self__, *, + conditions: pulumi.Input[Sequence[pulumi.Input['AlertPolicyConditionArgs']]], + project: pulumi.Input[str], + severity: pulumi.Input[str], + alert_methods: Optional[pulumi.Input[Sequence[pulumi.Input['AlertPolicyAlertMethodArgs']]]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a AlertPolicy resource. + :param pulumi.Input[Sequence[pulumi.Input['AlertPolicyConditionArgs']]] conditions: Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] severity: Alert severity. One of `Low` | `Medium` | `High`. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + pulumi.set(__self__, "conditions", conditions) + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "severity", severity) + if alert_methods is not None: + pulumi.set(__self__, "alert_methods", alert_methods) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def conditions(self) -> pulumi.Input[Sequence[pulumi.Input['AlertPolicyConditionArgs']]]: + """ + Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + """ + return pulumi.get(self, "conditions") + + @conditions.setter + def conditions(self, value: pulumi.Input[Sequence[pulumi.Input['AlertPolicyConditionArgs']]]): + pulumi.set(self, "conditions", value) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def severity(self) -> pulumi.Input[str]: + """ + Alert severity. One of `Low` | `Medium` | `High`. + """ + return pulumi.get(self, "severity") + + @severity.setter + def severity(self, value: pulumi.Input[str]): + pulumi.set(self, "severity", value) + + @property + @pulumi.getter(name="alertMethods") + def alert_methods(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AlertPolicyAlertMethodArgs']]]]: + return pulumi.get(self, "alert_methods") + + @alert_methods.setter + def alert_methods(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AlertPolicyAlertMethodArgs']]]]): + pulumi.set(self, "alert_methods", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _AlertPolicyState: + def __init__(__self__, *, + alert_methods: Optional[pulumi.Input[Sequence[pulumi.Input['AlertPolicyAlertMethodArgs']]]] = None, + conditions: Optional[pulumi.Input[Sequence[pulumi.Input['AlertPolicyConditionArgs']]]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + severity: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AlertPolicy resources. + :param pulumi.Input[Sequence[pulumi.Input['AlertPolicyConditionArgs']]] conditions: Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] severity: Alert severity. One of `Low` | `Medium` | `High`. + """ + if alert_methods is not None: + pulumi.set(__self__, "alert_methods", alert_methods) + if conditions is not None: + pulumi.set(__self__, "conditions", conditions) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if severity is not None: + pulumi.set(__self__, "severity", severity) + + @property + @pulumi.getter(name="alertMethods") + def alert_methods(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AlertPolicyAlertMethodArgs']]]]: + return pulumi.get(self, "alert_methods") + + @alert_methods.setter + def alert_methods(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AlertPolicyAlertMethodArgs']]]]): + pulumi.set(self, "alert_methods", value) + + @property + @pulumi.getter + def conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AlertPolicyConditionArgs']]]]: + """ + Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + """ + return pulumi.get(self, "conditions") + + @conditions.setter + def conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AlertPolicyConditionArgs']]]]): + pulumi.set(self, "conditions", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def severity(self) -> Optional[pulumi.Input[str]]: + """ + Alert severity. One of `Low` | `Medium` | `High`. + """ + return pulumi.get(self, "severity") + + @severity.setter + def severity(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "severity", value) + + +class AlertPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + alert_methods: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AlertPolicyAlertMethodArgs']]]]] = None, + conditions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AlertPolicyConditionArgs']]]]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + severity: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + An **Alert Policy** expresses a set of conditions you want to track or monitor. The conditions for an Alert Policy define what is monitored and when to activate an alert: when the performance of your service is declining, Nobl9 will send a notification to a predefined channel. + + A Nobl9 AlertPolicy accepts up to 7 conditions. All the specified conditions must be satisfied to trigger an alert. + + For more details, refer to the [Alert Policy configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#alertpolicy). + + ## Example Usage + + Here's an example of Alert Policy resource configuration: + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + this_project = nobl9.Project("thisProject", + display_name="My Project", + description="An example N9 Terraform project") + this_service = nobl9.Service("thisService", + project=this_project.name, + display_name=this_project.display_name.apply(lambda display_name: f"{display_name} Front Page"), + description="Front page service") + this_alert_policy = nobl9.AlertPolicy("thisAlertPolicy", + project=this_project.name, + display_name=this_project.display_name.apply(lambda display_name: f"{display_name} Front Page Latency"), + severity="High", + description="Alert when page latency is > 2000 and error budget would be exhausted", + conditions=[nobl9.AlertPolicyConditionArgs( + measurement="timeToBurnBudget", + value_string="72h", + lasts_for="30m", + )], + alert_methods=[nobl9.AlertPolicyAlertMethodArgs( + name="my-alert-method", + )]) + ``` + ## Useful Links + + [Alert Policy configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#alertpolicy) + + :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['AlertPolicyConditionArgs']]]] conditions: Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] severity: Alert severity. One of `Low` | `Medium` | `High`. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AlertPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + An **Alert Policy** expresses a set of conditions you want to track or monitor. The conditions for an Alert Policy define what is monitored and when to activate an alert: when the performance of your service is declining, Nobl9 will send a notification to a predefined channel. + + A Nobl9 AlertPolicy accepts up to 7 conditions. All the specified conditions must be satisfied to trigger an alert. + + For more details, refer to the [Alert Policy configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#alertpolicy). + + ## Example Usage + + Here's an example of Alert Policy resource configuration: + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + this_project = nobl9.Project("thisProject", + display_name="My Project", + description="An example N9 Terraform project") + this_service = nobl9.Service("thisService", + project=this_project.name, + display_name=this_project.display_name.apply(lambda display_name: f"{display_name} Front Page"), + description="Front page service") + this_alert_policy = nobl9.AlertPolicy("thisAlertPolicy", + project=this_project.name, + display_name=this_project.display_name.apply(lambda display_name: f"{display_name} Front Page Latency"), + severity="High", + description="Alert when page latency is > 2000 and error budget would be exhausted", + conditions=[nobl9.AlertPolicyConditionArgs( + measurement="timeToBurnBudget", + value_string="72h", + lasts_for="30m", + )], + alert_methods=[nobl9.AlertPolicyAlertMethodArgs( + name="my-alert-method", + )]) + ``` + ## Useful Links + + [Alert Policy configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#alertpolicy) + + :param str resource_name: The name of the resource. + :param AlertPolicyArgs 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(AlertPolicyArgs, 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, + alert_methods: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AlertPolicyAlertMethodArgs']]]]] = None, + conditions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AlertPolicyConditionArgs']]]]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + severity: 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__ = AlertPolicyArgs.__new__(AlertPolicyArgs) + + __props__.__dict__["alert_methods"] = alert_methods + if conditions is None and not opts.urn: + raise TypeError("Missing required property 'conditions'") + __props__.__dict__["conditions"] = conditions + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + if severity is None and not opts.urn: + raise TypeError("Missing required property 'severity'") + __props__.__dict__["severity"] = severity + super(AlertPolicy, __self__).__init__( + 'nobl9:index/alertPolicy:AlertPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + alert_methods: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AlertPolicyAlertMethodArgs']]]]] = None, + conditions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AlertPolicyConditionArgs']]]]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + severity: Optional[pulumi.Input[str]] = None) -> 'AlertPolicy': + """ + Get an existing AlertPolicy 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['AlertPolicyConditionArgs']]]] conditions: Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] severity: Alert severity. One of `Low` | `Medium` | `High`. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AlertPolicyState.__new__(_AlertPolicyState) + + __props__.__dict__["alert_methods"] = alert_methods + __props__.__dict__["conditions"] = conditions + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["severity"] = severity + return AlertPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="alertMethods") + def alert_methods(self) -> pulumi.Output[Optional[Sequence['outputs.AlertPolicyAlertMethod']]]: + return pulumi.get(self, "alert_methods") + + @property + @pulumi.getter + def conditions(self) -> pulumi.Output[Sequence['outputs.AlertPolicyCondition']]: + """ + Configuration of an [alert condition](https://docs.nobl9.com/yaml-guide/#alertpolicy). + """ + return pulumi.get(self, "conditions") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter + def severity(self) -> pulumi.Output[str]: + """ + Alert severity. One of `Low` | `Medium` | `High`. + """ + return pulumi.get(self, "severity") + diff --git a/sdk/python/pulumi_nobl9/config/__init__.py b/sdk/python/pulumi_nobl9/config/__init__.py new file mode 100644 index 0000000..18853fc --- /dev/null +++ b/sdk/python/pulumi_nobl9/config/__init__.py @@ -0,0 +1,8 @@ +# 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 sys +from .vars import _ExportableConfig + +sys.modules[__name__].__class__ = _ExportableConfig diff --git a/sdk/python/pulumi_nobl9/config/__init__.pyi b/sdk/python/pulumi_nobl9/config/__init__.pyi new file mode 100644 index 0000000..a460585 --- /dev/null +++ b/sdk/python/pulumi_nobl9/config/__init__.pyi @@ -0,0 +1,49 @@ +# 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 + +clientId: Optional[str] +""" +the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to +Nobl9. +""" + +clientSecret: Optional[str] +""" +the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect +to Nobl9. +""" + +ingestUrl: Optional[str] +""" +Nobl9 API URL. +""" + +oktaAuthServer: Optional[str] +""" +Authorization service configuration. +""" + +oktaOrgUrl: Optional[str] +""" +Authorization service URL. +""" + +organization: Optional[str] +""" +Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that +contains resources managed by the Nobl9 Terraform provider. +""" + +project: Optional[str] +""" +Nobl9 project used when importing resources. +""" + diff --git a/sdk/python/pulumi_nobl9/config/vars.py b/sdk/python/pulumi_nobl9/config/vars.py new file mode 100644 index 0000000..4d57f5d --- /dev/null +++ b/sdk/python/pulumi_nobl9/config/vars.py @@ -0,0 +1,69 @@ +# 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 + +import types + +__config__ = pulumi.Config('nobl9') + + +class _ExportableConfig(types.ModuleType): + @property + def client_id(self) -> Optional[str]: + """ + the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to + Nobl9. + """ + return __config__.get('clientId') + + @property + def client_secret(self) -> Optional[str]: + """ + the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect + to Nobl9. + """ + return __config__.get('clientSecret') + + @property + def ingest_url(self) -> Optional[str]: + """ + Nobl9 API URL. + """ + return __config__.get('ingestUrl') + + @property + def okta_auth_server(self) -> Optional[str]: + """ + Authorization service configuration. + """ + return __config__.get('oktaAuthServer') + + @property + def okta_org_url(self) -> Optional[str]: + """ + Authorization service URL. + """ + return __config__.get('oktaOrgUrl') + + @property + def organization(self) -> Optional[str]: + """ + Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that + contains resources managed by the Nobl9 Terraform provider. + """ + return __config__.get('organization') + + @property + def project(self) -> Optional[str]: + """ + Nobl9 project used when importing resources. + """ + return __config__.get('project') + diff --git a/sdk/python/pulumi_nobl9/direct_appdynamics.py b/sdk/python/pulumi_nobl9/direct_appdynamics.py new file mode 100644 index 0000000..fc51a7a --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_appdynamics.py @@ -0,0 +1,679 @@ +# 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__ = ['DirectAppdynamicsArgs', 'DirectAppdynamics'] + +@pulumi.input_type +class DirectAppdynamicsArgs: + def __init__(__self__, *, + account_name: pulumi.Input[str], + client_name: pulumi.Input[str], + project: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + url: pulumi.Input[str], + client_secret: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectAppdynamicsQueryDelayArgs']] = None): + """ + The set of arguments for constructing a DirectAppdynamics resource. + :param pulumi.Input[str] account_name: AppDynamics Account Name. + :param pulumi.Input[str] client_name: AppDynamics Client Name. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] url: Base URL to the AppDynamics Controller. + :param pulumi.Input[str] client_secret: [required] | AppDynamics Client Secret. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectAppdynamicsQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + pulumi.set(__self__, "account_name", account_name) + pulumi.set(__self__, "client_name", client_name) + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "source_ofs", source_ofs) + pulumi.set(__self__, "url", url) + if client_secret is not None: + pulumi.set(__self__, "client_secret", client_secret) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + + @property + @pulumi.getter(name="accountName") + def account_name(self) -> pulumi.Input[str]: + """ + AppDynamics Account Name. + """ + return pulumi.get(self, "account_name") + + @account_name.setter + def account_name(self, value: pulumi.Input[str]): + pulumi.set(self, "account_name", value) + + @property + @pulumi.getter(name="clientName") + def client_name(self) -> pulumi.Input[str]: + """ + AppDynamics Client Name. + """ + return pulumi.get(self, "client_name") + + @client_name.setter + def client_name(self, value: pulumi.Input[str]): + pulumi.set(self, "client_name", value) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Base URL to the AppDynamics Controller. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + [required] | AppDynamics Client Secret. + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectAppdynamicsQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectAppdynamicsQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + +@pulumi.input_type +class _DirectAppdynamicsState: + def __init__(__self__, *, + account_name: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_name: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectAppdynamicsQueryDelayArgs']] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectAppdynamics resources. + :param pulumi.Input[str] account_name: AppDynamics Account Name. + :param pulumi.Input[str] client_id: AppDynamics Client ID. + :param pulumi.Input[str] client_name: AppDynamics Client Name. + :param pulumi.Input[str] client_secret: [required] | AppDynamics Client Secret. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectAppdynamicsQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + :param pulumi.Input[str] url: Base URL to the AppDynamics Controller. + """ + if account_name is not None: + pulumi.set(__self__, "account_name", account_name) + if client_id is not None: + pulumi.set(__self__, "client_id", client_id) + if client_name is not None: + pulumi.set(__self__, "client_name", client_name) + if client_secret is not None: + pulumi.set(__self__, "client_secret", client_secret) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter(name="accountName") + def account_name(self) -> Optional[pulumi.Input[str]]: + """ + AppDynamics Account Name. + """ + return pulumi.get(self, "account_name") + + @account_name.setter + def account_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "account_name", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + AppDynamics Client ID. + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientName") + def client_name(self) -> Optional[pulumi.Input[str]]: + """ + AppDynamics Client Name. + """ + return pulumi.get(self, "client_name") + + @client_name.setter + def client_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_name", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> Optional[pulumi.Input[str]]: + """ + [required] | AppDynamics Client Secret. + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectAppdynamicsQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectAppdynamicsQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + Base URL to the AppDynamics Controller. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class DirectAppdynamics(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_name: Optional[pulumi.Input[str]] = None, + client_name: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectAppdynamicsQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + AppDynamics is a performance management program for applications. It helps users to gain a comprehensive understanding of the impact of technical difficulties on business goals, allowing IT teams to prioritize their efforts in a way that improves ROI. Nobl9 connects with AppDynamics to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [AppDynamics Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-direct) + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_appdynamics = nobl9.DirectAppdynamics("test-appdynamics", + account_name="account name", + client_name="client name", + client_secret="secret", + description="desc", + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ], + url="https://web.net") + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] account_name: AppDynamics Account Name. + :param pulumi.Input[str] client_name: AppDynamics Client Name. + :param pulumi.Input[str] client_secret: [required] | AppDynamics Client Secret. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectAppdynamicsQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] url: Base URL to the AppDynamics Controller. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectAppdynamicsArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + AppDynamics is a performance management program for applications. It helps users to gain a comprehensive understanding of the impact of technical difficulties on business goals, allowing IT teams to prioritize their efforts in a way that improves ROI. Nobl9 connects with AppDynamics to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [AppDynamics Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/appdynamics#appdynamics-direct) + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_appdynamics = nobl9.DirectAppdynamics("test-appdynamics", + account_name="account name", + client_name="client name", + client_secret="secret", + description="desc", + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ], + url="https://web.net") + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectAppdynamicsArgs 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(DirectAppdynamicsArgs, 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, + account_name: Optional[pulumi.Input[str]] = None, + client_name: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectAppdynamicsQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: 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__ = DirectAppdynamicsArgs.__new__(DirectAppdynamicsArgs) + + if account_name is None and not opts.urn: + raise TypeError("Missing required property 'account_name'") + __props__.__dict__["account_name"] = account_name + if client_name is None and not opts.urn: + raise TypeError("Missing required property 'client_name'") + __props__.__dict__["client_name"] = client_name + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + if url is None and not opts.urn: + raise TypeError("Missing required property 'url'") + __props__.__dict__["url"] = url + __props__.__dict__["client_id"] = None + __props__.__dict__["status"] = None + super(DirectAppdynamics, __self__).__init__( + 'nobl9:index/directAppdynamics:DirectAppdynamics', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + account_name: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_name: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectAppdynamicsQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'DirectAppdynamics': + """ + Get an existing DirectAppdynamics 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] account_name: AppDynamics Account Name. + :param pulumi.Input[str] client_id: AppDynamics Client ID. + :param pulumi.Input[str] client_name: AppDynamics Client Name. + :param pulumi.Input[str] client_secret: [required] | AppDynamics Client Secret. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectAppdynamicsQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + :param pulumi.Input[str] url: Base URL to the AppDynamics Controller. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectAppdynamicsState.__new__(_DirectAppdynamicsState) + + __props__.__dict__["account_name"] = account_name + __props__.__dict__["client_id"] = client_id + __props__.__dict__["client_name"] = client_name + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + __props__.__dict__["url"] = url + return DirectAppdynamics(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accountName") + def account_name(self) -> pulumi.Output[str]: + """ + AppDynamics Account Name. + """ + return pulumi.get(self, "account_name") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + AppDynamics Client ID. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientName") + def client_name(self) -> pulumi.Output[str]: + """ + AppDynamics Client Name. + """ + return pulumi.get(self, "client_name") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + [required] | AppDynamics Client Secret. + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectAppdynamicsQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + Base URL to the AppDynamics Controller. + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumi_nobl9/direct_bigquery.py b/sdk/python/pulumi_nobl9/direct_bigquery.py new file mode 100644 index 0000000..e75d1d9 --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_bigquery.py @@ -0,0 +1,501 @@ +# 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__ = ['DirectBigqueryArgs', 'DirectBigquery'] + +@pulumi.input_type +class DirectBigqueryArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectBigqueryQueryDelayArgs']] = None, + service_account_key: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a DirectBigquery resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectBigqueryQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] service_account_key: [required] | Service Account Key. + """ + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "source_ofs", source_ofs) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if service_account_key is not None: + pulumi.set(__self__, "service_account_key", service_account_key) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectBigqueryQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectBigqueryQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="serviceAccountKey") + def service_account_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Service Account Key. + """ + return pulumi.get(self, "service_account_key") + + @service_account_key.setter + def service_account_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_account_key", value) + + +@pulumi.input_type +class _DirectBigqueryState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectBigqueryQueryDelayArgs']] = None, + service_account_key: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectBigquery resources. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectBigqueryQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] service_account_key: [required] | Service Account Key. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if service_account_key is not None: + pulumi.set(__self__, "service_account_key", service_account_key) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectBigqueryQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectBigqueryQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="serviceAccountKey") + def service_account_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Service Account Key. + """ + return pulumi.get(self, "service_account_key") + + @service_account_key.setter + def service_account_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_account_key", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + +class DirectBigquery(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectBigqueryQueryDelayArgs']]] = None, + service_account_key: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Google BigQuery is a serverless data warehouse that enables scalable analysis over petabytes of data. It is a Platform as a Service that supports querying using ANSI SQL. BigQuery integration with Nobl9 enables users to turn their big data into valuable business insights. Nobl9 connects with BigQuery to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [BigQuery Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-direct) + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_bigquery = nobl9.DirectBigquery("test-bigquery", + description="desc", + project="terraform", + service_account_key="secret", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectBigqueryQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] service_account_key: [required] | Service Account Key. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectBigqueryArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Google BigQuery is a serverless data warehouse that enables scalable analysis over petabytes of data. It is a Platform as a Service that supports querying using ANSI SQL. BigQuery integration with Nobl9 enables users to turn their big data into valuable business insights. Nobl9 connects with BigQuery to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [BigQuery Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/bigquery#bigquery-direct) + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_bigquery = nobl9.DirectBigquery("test-bigquery", + description="desc", + project="terraform", + service_account_key="secret", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectBigqueryArgs 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(DirectBigqueryArgs, 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, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectBigqueryQueryDelayArgs']]] = None, + service_account_key: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[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__ = DirectBigqueryArgs.__new__(DirectBigqueryArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["service_account_key"] = service_account_key + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = None + super(DirectBigquery, __self__).__init__( + 'nobl9:index/directBigquery:DirectBigquery', + 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, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectBigqueryQueryDelayArgs']]] = None, + service_account_key: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None) -> 'DirectBigquery': + """ + Get an existing DirectBigquery 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: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectBigqueryQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] service_account_key: [required] | Service Account Key. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectBigqueryState.__new__(_DirectBigqueryState) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["service_account_key"] = service_account_key + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + return DirectBigquery(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectBigqueryQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter(name="serviceAccountKey") + def service_account_key(self) -> pulumi.Output[str]: + """ + [required] | Service Account Key. + """ + return pulumi.get(self, "service_account_key") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_nobl9/direct_cloudwatch.py b/sdk/python/pulumi_nobl9/direct_cloudwatch.py new file mode 100644 index 0000000..c9d28d9 --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_cloudwatch.py @@ -0,0 +1,617 @@ +# 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__ = ['DirectCloudwatchArgs', 'DirectCloudwatch'] + +@pulumi.input_type +class DirectCloudwatchArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + access_key_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input['DirectCloudwatchHistoricalDataRetrievalArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectCloudwatchQueryDelayArgs']] = None, + secret_access_key: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a DirectCloudwatch resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] access_key_id: [required] | AWS Access Key ID. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input['DirectCloudwatchHistoricalDataRetrievalArgs'] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectCloudwatchQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] secret_access_key: [required] | AWS Secret Access Key. + """ + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "source_ofs", source_ofs) + if access_key_id is not None: + pulumi.set(__self__, "access_key_id", access_key_id) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if historical_data_retrieval is not None: + pulumi.set(__self__, "historical_data_retrieval", historical_data_retrieval) + if name is not None: + pulumi.set(__self__, "name", name) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if secret_access_key is not None: + pulumi.set(__self__, "secret_access_key", secret_access_key) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter(name="accessKeyId") + def access_key_id(self) -> Optional[pulumi.Input[str]]: + """ + [required] | AWS Access Key ID. + """ + return pulumi.get(self, "access_key_id") + + @access_key_id.setter + def access_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_key_id", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> Optional[pulumi.Input['DirectCloudwatchHistoricalDataRetrievalArgs']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @historical_data_retrieval.setter + def historical_data_retrieval(self, value: Optional[pulumi.Input['DirectCloudwatchHistoricalDataRetrievalArgs']]): + pulumi.set(self, "historical_data_retrieval", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectCloudwatchQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectCloudwatchQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="secretAccessKey") + def secret_access_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | AWS Secret Access Key. + """ + return pulumi.get(self, "secret_access_key") + + @secret_access_key.setter + def secret_access_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_access_key", value) + + +@pulumi.input_type +class _DirectCloudwatchState: + def __init__(__self__, *, + access_key_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input['DirectCloudwatchHistoricalDataRetrievalArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectCloudwatchQueryDelayArgs']] = None, + secret_access_key: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectCloudwatch resources. + :param pulumi.Input[str] access_key_id: [required] | AWS Access Key ID. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input['DirectCloudwatchHistoricalDataRetrievalArgs'] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectCloudwatchQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] secret_access_key: [required] | AWS Secret Access Key. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + if access_key_id is not None: + pulumi.set(__self__, "access_key_id", access_key_id) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if historical_data_retrieval is not None: + pulumi.set(__self__, "historical_data_retrieval", historical_data_retrieval) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if secret_access_key is not None: + pulumi.set(__self__, "secret_access_key", secret_access_key) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="accessKeyId") + def access_key_id(self) -> Optional[pulumi.Input[str]]: + """ + [required] | AWS Access Key ID. + """ + return pulumi.get(self, "access_key_id") + + @access_key_id.setter + def access_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_key_id", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> Optional[pulumi.Input['DirectCloudwatchHistoricalDataRetrievalArgs']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @historical_data_retrieval.setter + def historical_data_retrieval(self, value: Optional[pulumi.Input['DirectCloudwatchHistoricalDataRetrievalArgs']]): + pulumi.set(self, "historical_data_retrieval", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectCloudwatchQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectCloudwatchQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="secretAccessKey") + def secret_access_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | AWS Secret Access Key. + """ + return pulumi.get(self, "secret_access_key") + + @secret_access_key.setter + def secret_access_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_access_key", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + +class DirectCloudwatch(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + access_key_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectCloudwatchHistoricalDataRetrievalArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectCloudwatchQueryDelayArgs']]] = None, + secret_access_key: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Amazon CloudWatch is a monitoring and observability service and a repository that aggregates data from more than 70 AWS data sources. CloudWatch also allows users to publish custom metrics from their services. Creating SLOs using this data is a powerful tool to monitor large portfolios of products. Nobl9 connects with Amazon CloudWatch to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Amazon CloudWatch Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-direct) + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_cloudwatch = nobl9.DirectCloudwatch("test-cloudwatch", + access_key_id="secret", + description="desc", + historical_data_retrieval=nobl9.DirectCloudwatchHistoricalDataRetrievalArgs( + default_durations=[nobl9.DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs( + unit="Day", + value=0, + )], + max_durations=[nobl9.DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs( + unit="Day", + value=15, + )], + ), + project="terraform", + secret_access_key="secret", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] access_key_id: [required] | AWS Access Key ID. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[pulumi.InputType['DirectCloudwatchHistoricalDataRetrievalArgs']] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectCloudwatchQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] secret_access_key: [required] | AWS Secret Access Key. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectCloudwatchArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Amazon CloudWatch is a monitoring and observability service and a repository that aggregates data from more than 70 AWS data sources. CloudWatch also allows users to publish custom metrics from their services. Creating SLOs using this data is a powerful tool to monitor large portfolios of products. Nobl9 connects with Amazon CloudWatch to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Amazon CloudWatch Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/Amazon_CloudWatch/#cloudwatch-direct) + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_cloudwatch = nobl9.DirectCloudwatch("test-cloudwatch", + access_key_id="secret", + description="desc", + historical_data_retrieval=nobl9.DirectCloudwatchHistoricalDataRetrievalArgs( + default_durations=[nobl9.DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs( + unit="Day", + value=0, + )], + max_durations=[nobl9.DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs( + unit="Day", + value=15, + )], + ), + project="terraform", + secret_access_key="secret", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectCloudwatchArgs 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(DirectCloudwatchArgs, 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, + access_key_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectCloudwatchHistoricalDataRetrievalArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectCloudwatchQueryDelayArgs']]] = None, + secret_access_key: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[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__ = DirectCloudwatchArgs.__new__(DirectCloudwatchArgs) + + __props__.__dict__["access_key_id"] = access_key_id + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["historical_data_retrieval"] = historical_data_retrieval + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["secret_access_key"] = secret_access_key + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = None + super(DirectCloudwatch, __self__).__init__( + 'nobl9:index/directCloudwatch:DirectCloudwatch', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + access_key_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectCloudwatchHistoricalDataRetrievalArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectCloudwatchQueryDelayArgs']]] = None, + secret_access_key: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None) -> 'DirectCloudwatch': + """ + Get an existing DirectCloudwatch 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] access_key_id: [required] | AWS Access Key ID. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[pulumi.InputType['DirectCloudwatchHistoricalDataRetrievalArgs']] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectCloudwatchQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] secret_access_key: [required] | AWS Secret Access Key. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectCloudwatchState.__new__(_DirectCloudwatchState) + + __props__.__dict__["access_key_id"] = access_key_id + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["historical_data_retrieval"] = historical_data_retrieval + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["secret_access_key"] = secret_access_key + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + return DirectCloudwatch(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accessKeyId") + def access_key_id(self) -> pulumi.Output[str]: + """ + [required] | AWS Access Key ID. + """ + return pulumi.get(self, "access_key_id") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> pulumi.Output[Optional['outputs.DirectCloudwatchHistoricalDataRetrieval']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectCloudwatchQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter(name="secretAccessKey") + def secret_access_key(self) -> pulumi.Output[str]: + """ + [required] | AWS Secret Access Key. + """ + return pulumi.get(self, "secret_access_key") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_nobl9/direct_datadog.py b/sdk/python/pulumi_nobl9/direct_datadog.py new file mode 100644 index 0000000..18fbcf5 --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_datadog.py @@ -0,0 +1,667 @@ +# 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__ = ['DirectDatadogArgs', 'DirectDatadog'] + +@pulumi.input_type +class DirectDatadogArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + site: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + api_key: Optional[pulumi.Input[str]] = None, + application_key: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input['DirectDatadogHistoricalDataRetrievalArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectDatadogQueryDelayArgs']] = None): + """ + The set of arguments for constructing a DirectDatadog resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] site: `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] api_key: [required] | Datadog API Key. + :param pulumi.Input[str] application_key: [required] | Datadog Application Key. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input['DirectDatadogHistoricalDataRetrievalArgs'] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectDatadogQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "site", site) + pulumi.set(__self__, "source_ofs", source_ofs) + if api_key is not None: + pulumi.set(__self__, "api_key", api_key) + if application_key is not None: + pulumi.set(__self__, "application_key", application_key) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if historical_data_retrieval is not None: + pulumi.set(__self__, "historical_data_retrieval", historical_data_retrieval) + if name is not None: + pulumi.set(__self__, "name", name) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def site(self) -> pulumi.Input[str]: + """ + `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + """ + return pulumi.get(self, "site") + + @site.setter + def site(self, value: pulumi.Input[str]): + pulumi.set(self, "site", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Datadog API Key. + """ + return pulumi.get(self, "api_key") + + @api_key.setter + def api_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "api_key", value) + + @property + @pulumi.getter(name="applicationKey") + def application_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Datadog Application Key. + """ + return pulumi.get(self, "application_key") + + @application_key.setter + def application_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "application_key", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> Optional[pulumi.Input['DirectDatadogHistoricalDataRetrievalArgs']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @historical_data_retrieval.setter + def historical_data_retrieval(self, value: Optional[pulumi.Input['DirectDatadogHistoricalDataRetrievalArgs']]): + pulumi.set(self, "historical_data_retrieval", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectDatadogQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectDatadogQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + +@pulumi.input_type +class _DirectDatadogState: + def __init__(__self__, *, + api_key: Optional[pulumi.Input[str]] = None, + application_key: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input['DirectDatadogHistoricalDataRetrievalArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectDatadogQueryDelayArgs']] = None, + site: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectDatadog resources. + :param pulumi.Input[str] api_key: [required] | Datadog API Key. + :param pulumi.Input[str] application_key: [required] | Datadog Application Key. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input['DirectDatadogHistoricalDataRetrievalArgs'] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectDatadogQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] site: `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + if api_key is not None: + pulumi.set(__self__, "api_key", api_key) + if application_key is not None: + pulumi.set(__self__, "application_key", application_key) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if historical_data_retrieval is not None: + pulumi.set(__self__, "historical_data_retrieval", historical_data_retrieval) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if site is not None: + pulumi.set(__self__, "site", site) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Datadog API Key. + """ + return pulumi.get(self, "api_key") + + @api_key.setter + def api_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "api_key", value) + + @property + @pulumi.getter(name="applicationKey") + def application_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Datadog Application Key. + """ + return pulumi.get(self, "application_key") + + @application_key.setter + def application_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "application_key", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> Optional[pulumi.Input['DirectDatadogHistoricalDataRetrievalArgs']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @historical_data_retrieval.setter + def historical_data_retrieval(self, value: Optional[pulumi.Input['DirectDatadogHistoricalDataRetrievalArgs']]): + pulumi.set(self, "historical_data_retrieval", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectDatadogQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectDatadogQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter + def site(self) -> Optional[pulumi.Input[str]]: + """ + `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + """ + return pulumi.get(self, "site") + + @site.setter + def site(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "site", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + +class DirectDatadog(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + api_key: Optional[pulumi.Input[str]] = None, + application_key: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectDatadogHistoricalDataRetrievalArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectDatadogQueryDelayArgs']]] = None, + site: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Datadog is a cloud-scale application observability solution that monitors servers, databases, tools, and services. Nobl9 connects with Datadog to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Datadog Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/datadog#datadog-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_datadog = nobl9.DirectDatadog("test-datadog", + api_key="secret", + application_key="secret", + description="desc", + historical_data_retrieval=nobl9.DirectDatadogHistoricalDataRetrievalArgs( + default_durations=[nobl9.DirectDatadogHistoricalDataRetrievalDefaultDurationArgs( + unit="Day", + value=0, + )], + max_durations=[nobl9.DirectDatadogHistoricalDataRetrievalMaxDurationArgs( + unit="Day", + value=30, + )], + ), + project="terraform", + site="eu", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] api_key: [required] | Datadog API Key. + :param pulumi.Input[str] application_key: [required] | Datadog Application Key. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[pulumi.InputType['DirectDatadogHistoricalDataRetrievalArgs']] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectDatadogQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] site: `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectDatadogArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Datadog is a cloud-scale application observability solution that monitors servers, databases, tools, and services. Nobl9 connects with Datadog to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Datadog Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/datadog#datadog-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_datadog = nobl9.DirectDatadog("test-datadog", + api_key="secret", + application_key="secret", + description="desc", + historical_data_retrieval=nobl9.DirectDatadogHistoricalDataRetrievalArgs( + default_durations=[nobl9.DirectDatadogHistoricalDataRetrievalDefaultDurationArgs( + unit="Day", + value=0, + )], + max_durations=[nobl9.DirectDatadogHistoricalDataRetrievalMaxDurationArgs( + unit="Day", + value=30, + )], + ), + project="terraform", + site="eu", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectDatadogArgs 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(DirectDatadogArgs, 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, + api_key: Optional[pulumi.Input[str]] = None, + application_key: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectDatadogHistoricalDataRetrievalArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectDatadogQueryDelayArgs']]] = None, + site: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[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__ = DirectDatadogArgs.__new__(DirectDatadogArgs) + + __props__.__dict__["api_key"] = api_key + __props__.__dict__["application_key"] = application_key + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["historical_data_retrieval"] = historical_data_retrieval + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + if site is None and not opts.urn: + raise TypeError("Missing required property 'site'") + __props__.__dict__["site"] = site + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = None + super(DirectDatadog, __self__).__init__( + 'nobl9:index/directDatadog:DirectDatadog', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + api_key: Optional[pulumi.Input[str]] = None, + application_key: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectDatadogHistoricalDataRetrievalArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectDatadogQueryDelayArgs']]] = None, + site: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None) -> 'DirectDatadog': + """ + Get an existing DirectDatadog 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] api_key: [required] | Datadog API Key. + :param pulumi.Input[str] application_key: [required] | Datadog Application Key. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[pulumi.InputType['DirectDatadogHistoricalDataRetrievalArgs']] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectDatadogQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] site: `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectDatadogState.__new__(_DirectDatadogState) + + __props__.__dict__["api_key"] = api_key + __props__.__dict__["application_key"] = application_key + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["historical_data_retrieval"] = historical_data_retrieval + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["site"] = site + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + return DirectDatadog(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> pulumi.Output[str]: + """ + [required] | Datadog API Key. + """ + return pulumi.get(self, "api_key") + + @property + @pulumi.getter(name="applicationKey") + def application_key(self) -> pulumi.Output[str]: + """ + [required] | Datadog Application Key. + """ + return pulumi.get(self, "application_key") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> pulumi.Output[Optional['outputs.DirectDatadogHistoricalDataRetrieval']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectDatadogQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter + def site(self) -> pulumi.Output[str]: + """ + `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union). + """ + return pulumi.get(self, "site") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_nobl9/direct_dynatrace.py b/sdk/python/pulumi_nobl9/direct_dynatrace.py new file mode 100644 index 0000000..79aff97 --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_dynatrace.py @@ -0,0 +1,618 @@ +# 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__ = ['DirectDynatraceArgs', 'DirectDynatrace'] + +@pulumi.input_type +class DirectDynatraceArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + url: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + dynatrace_token: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input['DirectDynatraceHistoricalDataRetrievalArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectDynatraceQueryDelayArgs']] = None): + """ + The set of arguments for constructing a DirectDynatrace resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] url: Dynatrace API URL. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] dynatrace_token: [required] | Dynatrace Token. + :param pulumi.Input['DirectDynatraceHistoricalDataRetrievalArgs'] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectDynatraceQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "source_ofs", source_ofs) + pulumi.set(__self__, "url", url) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if dynatrace_token is not None: + pulumi.set(__self__, "dynatrace_token", dynatrace_token) + if historical_data_retrieval is not None: + pulumi.set(__self__, "historical_data_retrieval", historical_data_retrieval) + if name is not None: + pulumi.set(__self__, "name", name) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Dynatrace API URL. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="dynatraceToken") + def dynatrace_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Dynatrace Token. + """ + return pulumi.get(self, "dynatrace_token") + + @dynatrace_token.setter + def dynatrace_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dynatrace_token", value) + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> Optional[pulumi.Input['DirectDynatraceHistoricalDataRetrievalArgs']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @historical_data_retrieval.setter + def historical_data_retrieval(self, value: Optional[pulumi.Input['DirectDynatraceHistoricalDataRetrievalArgs']]): + pulumi.set(self, "historical_data_retrieval", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectDynatraceQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectDynatraceQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + +@pulumi.input_type +class _DirectDynatraceState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + dynatrace_token: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input['DirectDynatraceHistoricalDataRetrievalArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectDynatraceQueryDelayArgs']] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectDynatrace resources. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] dynatrace_token: [required] | Dynatrace Token. + :param pulumi.Input['DirectDynatraceHistoricalDataRetrievalArgs'] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectDynatraceQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + :param pulumi.Input[str] url: Dynatrace API URL. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if dynatrace_token is not None: + pulumi.set(__self__, "dynatrace_token", dynatrace_token) + if historical_data_retrieval is not None: + pulumi.set(__self__, "historical_data_retrieval", historical_data_retrieval) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="dynatraceToken") + def dynatrace_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Dynatrace Token. + """ + return pulumi.get(self, "dynatrace_token") + + @dynatrace_token.setter + def dynatrace_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dynatrace_token", value) + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> Optional[pulumi.Input['DirectDynatraceHistoricalDataRetrievalArgs']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @historical_data_retrieval.setter + def historical_data_retrieval(self, value: Optional[pulumi.Input['DirectDynatraceHistoricalDataRetrievalArgs']]): + pulumi.set(self, "historical_data_retrieval", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectDynatraceQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectDynatraceQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + Dynatrace API URL. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class DirectDynatrace(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + dynatrace_token: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectDynatraceHistoricalDataRetrievalArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectDynatraceQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Dynatrace is a software intelligence platform that monitors and optimizes application performance, development and security, IT infrastructure, and user experience. The Dynatrace Software Intelligence Platform maps, and monitors applications, microservices, container orchestration platforms such as Kubernetes, and IT infrastructure running in multi-cloud and hybrid-cloud environments, and provides automated problem remediation. Nobl9 connects with Dynatrace to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Dynatrace Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_dynatrace = nobl9.DirectDynatrace("test-dynatrace", + description="desc", + dynatrace_token="secret", + historical_data_retrieval=nobl9.DirectDynatraceHistoricalDataRetrievalArgs( + default_durations=[nobl9.DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs( + unit="Day", + value=1, + )], + max_durations=[nobl9.DirectDynatraceHistoricalDataRetrievalMaxDurationArgs( + unit="Day", + value=10, + )], + ), + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ], + url="https://web.net") + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] dynatrace_token: [required] | Dynatrace Token. + :param pulumi.Input[pulumi.InputType['DirectDynatraceHistoricalDataRetrievalArgs']] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectDynatraceQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] url: Dynatrace API URL. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectDynatraceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Dynatrace is a software intelligence platform that monitors and optimizes application performance, development and security, IT infrastructure, and user experience. The Dynatrace Software Intelligence Platform maps, and monitors applications, microservices, container orchestration platforms such as Kubernetes, and IT infrastructure running in multi-cloud and hybrid-cloud environments, and provides automated problem remediation. Nobl9 connects with Dynatrace to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Dynatrace Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/dynatrace#dynatrace-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_dynatrace = nobl9.DirectDynatrace("test-dynatrace", + description="desc", + dynatrace_token="secret", + historical_data_retrieval=nobl9.DirectDynatraceHistoricalDataRetrievalArgs( + default_durations=[nobl9.DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs( + unit="Day", + value=1, + )], + max_durations=[nobl9.DirectDynatraceHistoricalDataRetrievalMaxDurationArgs( + unit="Day", + value=10, + )], + ), + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ], + url="https://web.net") + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectDynatraceArgs 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(DirectDynatraceArgs, 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, + display_name: Optional[pulumi.Input[str]] = None, + dynatrace_token: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectDynatraceHistoricalDataRetrievalArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectDynatraceQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: 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__ = DirectDynatraceArgs.__new__(DirectDynatraceArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["dynatrace_token"] = dynatrace_token + __props__.__dict__["historical_data_retrieval"] = historical_data_retrieval + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + if url is None and not opts.urn: + raise TypeError("Missing required property 'url'") + __props__.__dict__["url"] = url + __props__.__dict__["status"] = None + super(DirectDynatrace, __self__).__init__( + 'nobl9:index/directDynatrace:DirectDynatrace', + 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, + display_name: Optional[pulumi.Input[str]] = None, + dynatrace_token: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectDynatraceHistoricalDataRetrievalArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectDynatraceQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'DirectDynatrace': + """ + Get an existing DirectDynatrace 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: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] dynatrace_token: [required] | Dynatrace Token. + :param pulumi.Input[pulumi.InputType['DirectDynatraceHistoricalDataRetrievalArgs']] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectDynatraceQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + :param pulumi.Input[str] url: Dynatrace API URL. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectDynatraceState.__new__(_DirectDynatraceState) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["dynatrace_token"] = dynatrace_token + __props__.__dict__["historical_data_retrieval"] = historical_data_retrieval + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + __props__.__dict__["url"] = url + return DirectDynatrace(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="dynatraceToken") + def dynatrace_token(self) -> pulumi.Output[str]: + """ + [required] | Dynatrace Token. + """ + return pulumi.get(self, "dynatrace_token") + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> pulumi.Output[Optional['outputs.DirectDynatraceHistoricalDataRetrieval']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectDynatraceQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + Dynatrace API URL. + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumi_nobl9/direct_gcm.py b/sdk/python/pulumi_nobl9/direct_gcm.py new file mode 100644 index 0000000..131897b --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_gcm.py @@ -0,0 +1,501 @@ +# 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__ = ['DirectGcmArgs', 'DirectGcm'] + +@pulumi.input_type +class DirectGcmArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectGcmQueryDelayArgs']] = None, + service_account_key: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a DirectGcm resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectGcmQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] service_account_key: [required] | Service Account Key. + """ + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "source_ofs", source_ofs) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if service_account_key is not None: + pulumi.set(__self__, "service_account_key", service_account_key) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectGcmQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectGcmQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="serviceAccountKey") + def service_account_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Service Account Key. + """ + return pulumi.get(self, "service_account_key") + + @service_account_key.setter + def service_account_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_account_key", value) + + +@pulumi.input_type +class _DirectGcmState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectGcmQueryDelayArgs']] = None, + service_account_key: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectGcm resources. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectGcmQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] service_account_key: [required] | Service Account Key. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if service_account_key is not None: + pulumi.set(__self__, "service_account_key", service_account_key) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectGcmQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectGcmQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="serviceAccountKey") + def service_account_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Service Account Key. + """ + return pulumi.get(self, "service_account_key") + + @service_account_key.setter + def service_account_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_account_key", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + +class DirectGcm(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectGcmQueryDelayArgs']]] = None, + service_account_key: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Google Cloud Monitoring (GCM) provides visibility into the performance, uptime, and overall health of cloud-powered applications. It collects metrics, events, and metadata from Google Cloud, hosted uptime probes, and application instrumentation. Nobl9 connects with GCM to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Google Cloud Monitoring Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_gcm = nobl9.DirectGcm("test-gcm", + description="desc", + project="terraform", + service_account_key="secret", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectGcmQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] service_account_key: [required] | Service Account Key. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectGcmArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Google Cloud Monitoring (GCM) provides visibility into the performance, uptime, and overall health of cloud-powered applications. It collects metrics, events, and metadata from Google Cloud, hosted uptime probes, and application instrumentation. Nobl9 connects with GCM to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Google Cloud Monitoring Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/google-cloud-monitoring#google-cloud-monitoring-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_gcm = nobl9.DirectGcm("test-gcm", + description="desc", + project="terraform", + service_account_key="secret", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectGcmArgs 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(DirectGcmArgs, 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, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectGcmQueryDelayArgs']]] = None, + service_account_key: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[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__ = DirectGcmArgs.__new__(DirectGcmArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["service_account_key"] = service_account_key + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = None + super(DirectGcm, __self__).__init__( + 'nobl9:index/directGcm:DirectGcm', + 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, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectGcmQueryDelayArgs']]] = None, + service_account_key: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None) -> 'DirectGcm': + """ + Get an existing DirectGcm 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: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectGcmQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] service_account_key: [required] | Service Account Key. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectGcmState.__new__(_DirectGcmState) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["service_account_key"] = service_account_key + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + return DirectGcm(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectGcmQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter(name="serviceAccountKey") + def service_account_key(self) -> pulumi.Output[str]: + """ + [required] | Service Account Key. + """ + return pulumi.get(self, "service_account_key") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_nobl9/direct_influxdb.py b/sdk/python/pulumi_nobl9/direct_influxdb.py new file mode 100644 index 0000000..bdb25a5 --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_influxdb.py @@ -0,0 +1,600 @@ +# 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__ = ['DirectInfluxdbArgs', 'DirectInfluxdb'] + +@pulumi.input_type +class DirectInfluxdbArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + url: pulumi.Input[str], + api_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + organization_id: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectInfluxdbQueryDelayArgs']] = None): + """ + The set of arguments for constructing a DirectInfluxdb resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] url: API URL endpoint to the InfluxDB's instance. + :param pulumi.Input[str] api_token: [required] | InfluxDB API Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] organization_id: [required] | InfluxDB Organization ID. + :param pulumi.Input['DirectInfluxdbQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "source_ofs", source_ofs) + pulumi.set(__self__, "url", url) + if api_token is not None: + pulumi.set(__self__, "api_token", api_token) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if organization_id is not None: + pulumi.set(__self__, "organization_id", organization_id) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + API URL endpoint to the InfluxDB's instance. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter(name="apiToken") + def api_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | InfluxDB API Token. + """ + return pulumi.get(self, "api_token") + + @api_token.setter + def api_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "api_token", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="organizationId") + def organization_id(self) -> Optional[pulumi.Input[str]]: + """ + [required] | InfluxDB Organization ID. + """ + return pulumi.get(self, "organization_id") + + @organization_id.setter + def organization_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "organization_id", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectInfluxdbQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectInfluxdbQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + +@pulumi.input_type +class _DirectInfluxdbState: + def __init__(__self__, *, + api_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + organization_id: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectInfluxdbQueryDelayArgs']] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectInfluxdb resources. + :param pulumi.Input[str] api_token: [required] | InfluxDB API Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] organization_id: [required] | InfluxDB Organization ID. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectInfluxdbQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + :param pulumi.Input[str] url: API URL endpoint to the InfluxDB's instance. + """ + if api_token is not None: + pulumi.set(__self__, "api_token", api_token) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if organization_id is not None: + pulumi.set(__self__, "organization_id", organization_id) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter(name="apiToken") + def api_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | InfluxDB API Token. + """ + return pulumi.get(self, "api_token") + + @api_token.setter + def api_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "api_token", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="organizationId") + def organization_id(self) -> Optional[pulumi.Input[str]]: + """ + [required] | InfluxDB Organization ID. + """ + return pulumi.get(self, "organization_id") + + @organization_id.setter + def organization_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "organization_id", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectInfluxdbQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectInfluxdbQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + API URL endpoint to the InfluxDB's instance. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class DirectInfluxdb(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + api_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + organization_id: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectInfluxdbQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + InfluxDB is an open source time series database platform that enables users to collect, process, and analyze data to optimize their infrastructure. Nobl9 connects with InfluxDB to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [InfluxDB Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_influxdb = nobl9.DirectInfluxdb("test-influxdb", + api_token="secret", + description="desc", + organization_id="secret", + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ], + url="https://web.net") + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] api_token: [required] | InfluxDB API Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] organization_id: [required] | InfluxDB Organization ID. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectInfluxdbQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] url: API URL endpoint to the InfluxDB's instance. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectInfluxdbArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + InfluxDB is an open source time series database platform that enables users to collect, process, and analyze data to optimize their infrastructure. Nobl9 connects with InfluxDB to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [InfluxDB Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/influxdb#influxdb-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_influxdb = nobl9.DirectInfluxdb("test-influxdb", + api_token="secret", + description="desc", + organization_id="secret", + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ], + url="https://web.net") + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectInfluxdbArgs 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(DirectInfluxdbArgs, 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, + api_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + organization_id: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectInfluxdbQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: 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__ = DirectInfluxdbArgs.__new__(DirectInfluxdbArgs) + + __props__.__dict__["api_token"] = api_token + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["organization_id"] = organization_id + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + if url is None and not opts.urn: + raise TypeError("Missing required property 'url'") + __props__.__dict__["url"] = url + __props__.__dict__["status"] = None + super(DirectInfluxdb, __self__).__init__( + 'nobl9:index/directInfluxdb:DirectInfluxdb', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + api_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + organization_id: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectInfluxdbQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'DirectInfluxdb': + """ + Get an existing DirectInfluxdb 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] api_token: [required] | InfluxDB API Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] organization_id: [required] | InfluxDB Organization ID. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectInfluxdbQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + :param pulumi.Input[str] url: API URL endpoint to the InfluxDB's instance. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectInfluxdbState.__new__(_DirectInfluxdbState) + + __props__.__dict__["api_token"] = api_token + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["organization_id"] = organization_id + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + __props__.__dict__["url"] = url + return DirectInfluxdb(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="apiToken") + def api_token(self) -> pulumi.Output[str]: + """ + [required] | InfluxDB API Token. + """ + return pulumi.get(self, "api_token") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="organizationId") + def organization_id(self) -> pulumi.Output[str]: + """ + [required] | InfluxDB Organization ID. + """ + return pulumi.get(self, "organization_id") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectInfluxdbQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + API URL endpoint to the InfluxDB's instance. + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumi_nobl9/direct_instana.py b/sdk/python/pulumi_nobl9/direct_instana.py new file mode 100644 index 0000000..9f488b7 --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_instana.py @@ -0,0 +1,551 @@ +# 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__ = ['DirectInstanaArgs', 'DirectInstana'] + +@pulumi.input_type +class DirectInstanaArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + url: pulumi.Input[str], + api_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectInstanaQueryDelayArgs']] = None): + """ + The set of arguments for constructing a DirectInstana resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] url: Instana API URL. + :param pulumi.Input[str] api_token: [required] | Instana API Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectInstanaQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "source_ofs", source_ofs) + pulumi.set(__self__, "url", url) + if api_token is not None: + pulumi.set(__self__, "api_token", api_token) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Instana API URL. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter(name="apiToken") + def api_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Instana API Token. + """ + return pulumi.get(self, "api_token") + + @api_token.setter + def api_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "api_token", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectInstanaQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectInstanaQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + +@pulumi.input_type +class _DirectInstanaState: + def __init__(__self__, *, + api_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectInstanaQueryDelayArgs']] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectInstana resources. + :param pulumi.Input[str] api_token: [required] | Instana API Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectInstanaQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + :param pulumi.Input[str] url: Instana API URL. + """ + if api_token is not None: + pulumi.set(__self__, "api_token", api_token) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter(name="apiToken") + def api_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Instana API Token. + """ + return pulumi.get(self, "api_token") + + @api_token.setter + def api_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "api_token", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectInstanaQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectInstanaQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + Instana API URL. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class DirectInstana(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + api_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectInstanaQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Instana is an observability platform that delivers automated Application Performance Monitoring (APM), used for website, infrastructure, and application monitoring. Nobl9 connects with Instana to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Instana Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/instana#instana-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_instana = nobl9.DirectInstana("test-instana", + api_token="secret", + description="desc", + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ], + url="https://web.net") + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] api_token: [required] | Instana API Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectInstanaQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] url: Instana API URL. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectInstanaArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Instana is an observability platform that delivers automated Application Performance Monitoring (APM), used for website, infrastructure, and application monitoring. Nobl9 connects with Instana to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Instana Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/instana#instana-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_instana = nobl9.DirectInstana("test-instana", + api_token="secret", + description="desc", + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ], + url="https://web.net") + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectInstanaArgs 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(DirectInstanaArgs, 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, + api_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectInstanaQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: 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__ = DirectInstanaArgs.__new__(DirectInstanaArgs) + + __props__.__dict__["api_token"] = api_token + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + if url is None and not opts.urn: + raise TypeError("Missing required property 'url'") + __props__.__dict__["url"] = url + __props__.__dict__["status"] = None + super(DirectInstana, __self__).__init__( + 'nobl9:index/directInstana:DirectInstana', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + api_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectInstanaQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'DirectInstana': + """ + Get an existing DirectInstana 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] api_token: [required] | Instana API Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectInstanaQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + :param pulumi.Input[str] url: Instana API URL. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectInstanaState.__new__(_DirectInstanaState) + + __props__.__dict__["api_token"] = api_token + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + __props__.__dict__["url"] = url + return DirectInstana(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="apiToken") + def api_token(self) -> pulumi.Output[str]: + """ + [required] | Instana API Token. + """ + return pulumi.get(self, "api_token") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectInstanaQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + Instana API URL. + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumi_nobl9/direct_lightstep.py b/sdk/python/pulumi_nobl9/direct_lightstep.py new file mode 100644 index 0000000..1b19ae3 --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_lightstep.py @@ -0,0 +1,668 @@ +# 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__ = ['DirectLightstepArgs', 'DirectLightstep'] + +@pulumi.input_type +class DirectLightstepArgs: + def __init__(__self__, *, + lightstep_organization: pulumi.Input[str], + lightstep_project: pulumi.Input[str], + project: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + app_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input['DirectLightstepHistoricalDataRetrievalArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectLightstepQueryDelayArgs']] = None): + """ + The set of arguments for constructing a DirectLightstep resource. + :param pulumi.Input[str] lightstep_organization: Organization name registered in Lightstep. + :param pulumi.Input[str] lightstep_project: Name of the Lightstep project. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] app_token: [required] | Lightstep App Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input['DirectLightstepHistoricalDataRetrievalArgs'] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectLightstepQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + pulumi.set(__self__, "lightstep_organization", lightstep_organization) + pulumi.set(__self__, "lightstep_project", lightstep_project) + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "source_ofs", source_ofs) + if app_token is not None: + pulumi.set(__self__, "app_token", app_token) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if historical_data_retrieval is not None: + pulumi.set(__self__, "historical_data_retrieval", historical_data_retrieval) + if name is not None: + pulumi.set(__self__, "name", name) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + + @property + @pulumi.getter(name="lightstepOrganization") + def lightstep_organization(self) -> pulumi.Input[str]: + """ + Organization name registered in Lightstep. + """ + return pulumi.get(self, "lightstep_organization") + + @lightstep_organization.setter + def lightstep_organization(self, value: pulumi.Input[str]): + pulumi.set(self, "lightstep_organization", value) + + @property + @pulumi.getter(name="lightstepProject") + def lightstep_project(self) -> pulumi.Input[str]: + """ + Name of the Lightstep project. + """ + return pulumi.get(self, "lightstep_project") + + @lightstep_project.setter + def lightstep_project(self, value: pulumi.Input[str]): + pulumi.set(self, "lightstep_project", value) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter(name="appToken") + def app_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Lightstep App Token. + """ + return pulumi.get(self, "app_token") + + @app_token.setter + def app_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "app_token", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> Optional[pulumi.Input['DirectLightstepHistoricalDataRetrievalArgs']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @historical_data_retrieval.setter + def historical_data_retrieval(self, value: Optional[pulumi.Input['DirectLightstepHistoricalDataRetrievalArgs']]): + pulumi.set(self, "historical_data_retrieval", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectLightstepQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectLightstepQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + +@pulumi.input_type +class _DirectLightstepState: + def __init__(__self__, *, + app_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input['DirectLightstepHistoricalDataRetrievalArgs']] = None, + lightstep_organization: Optional[pulumi.Input[str]] = None, + lightstep_project: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectLightstepQueryDelayArgs']] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectLightstep resources. + :param pulumi.Input[str] app_token: [required] | Lightstep App Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input['DirectLightstepHistoricalDataRetrievalArgs'] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] lightstep_organization: Organization name registered in Lightstep. + :param pulumi.Input[str] lightstep_project: Name of the Lightstep project. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectLightstepQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + if app_token is not None: + pulumi.set(__self__, "app_token", app_token) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if historical_data_retrieval is not None: + pulumi.set(__self__, "historical_data_retrieval", historical_data_retrieval) + if lightstep_organization is not None: + pulumi.set(__self__, "lightstep_organization", lightstep_organization) + if lightstep_project is not None: + pulumi.set(__self__, "lightstep_project", lightstep_project) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="appToken") + def app_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Lightstep App Token. + """ + return pulumi.get(self, "app_token") + + @app_token.setter + def app_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "app_token", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> Optional[pulumi.Input['DirectLightstepHistoricalDataRetrievalArgs']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @historical_data_retrieval.setter + def historical_data_retrieval(self, value: Optional[pulumi.Input['DirectLightstepHistoricalDataRetrievalArgs']]): + pulumi.set(self, "historical_data_retrieval", value) + + @property + @pulumi.getter(name="lightstepOrganization") + def lightstep_organization(self) -> Optional[pulumi.Input[str]]: + """ + Organization name registered in Lightstep. + """ + return pulumi.get(self, "lightstep_organization") + + @lightstep_organization.setter + def lightstep_organization(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "lightstep_organization", value) + + @property + @pulumi.getter(name="lightstepProject") + def lightstep_project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Lightstep project. + """ + return pulumi.get(self, "lightstep_project") + + @lightstep_project.setter + def lightstep_project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "lightstep_project", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectLightstepQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectLightstepQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + +class DirectLightstep(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + app_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectLightstepHistoricalDataRetrievalArgs']]] = None, + lightstep_organization: Optional[pulumi.Input[str]] = None, + lightstep_project: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectLightstepQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Lightstep is an observability platform that enables distributed tracing, that can be used to rapidly pinpoint the causes of failures and poor performance across the deeply complex dependencies among services, teams, and workloads in modern production systems. Nobl9 integration with Lightstep enables organizations to establish service level objectives from performance data captured through distributed traces in the Lightstep platform. Nobl9 connects with Lightstep to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Lightstep Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_lightstep = nobl9.DirectLightstep("test-lightstep", + app_token="secret", + description="desc", + historical_data_retrieval=nobl9.DirectLightstepHistoricalDataRetrievalArgs( + default_durations=[nobl9.DirectLightstepHistoricalDataRetrievalDefaultDurationArgs( + unit="Day", + value=0, + )], + max_durations=[nobl9.DirectLightstepHistoricalDataRetrievalMaxDurationArgs( + unit="Day", + value=30, + )], + ), + lightstep_organization="acme", + lightstep_project="project1", + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] app_token: [required] | Lightstep App Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[pulumi.InputType['DirectLightstepHistoricalDataRetrievalArgs']] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] lightstep_organization: Organization name registered in Lightstep. + :param pulumi.Input[str] lightstep_project: Name of the Lightstep project. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectLightstepQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectLightstepArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Lightstep is an observability platform that enables distributed tracing, that can be used to rapidly pinpoint the causes of failures and poor performance across the deeply complex dependencies among services, teams, and workloads in modern production systems. Nobl9 integration with Lightstep enables organizations to establish service level objectives from performance data captured through distributed traces in the Lightstep platform. Nobl9 connects with Lightstep to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Lightstep Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/lightstep#lightstep-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_lightstep = nobl9.DirectLightstep("test-lightstep", + app_token="secret", + description="desc", + historical_data_retrieval=nobl9.DirectLightstepHistoricalDataRetrievalArgs( + default_durations=[nobl9.DirectLightstepHistoricalDataRetrievalDefaultDurationArgs( + unit="Day", + value=0, + )], + max_durations=[nobl9.DirectLightstepHistoricalDataRetrievalMaxDurationArgs( + unit="Day", + value=30, + )], + ), + lightstep_organization="acme", + lightstep_project="project1", + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectLightstepArgs 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(DirectLightstepArgs, 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, + app_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectLightstepHistoricalDataRetrievalArgs']]] = None, + lightstep_organization: Optional[pulumi.Input[str]] = None, + lightstep_project: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectLightstepQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[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__ = DirectLightstepArgs.__new__(DirectLightstepArgs) + + __props__.__dict__["app_token"] = app_token + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["historical_data_retrieval"] = historical_data_retrieval + if lightstep_organization is None and not opts.urn: + raise TypeError("Missing required property 'lightstep_organization'") + __props__.__dict__["lightstep_organization"] = lightstep_organization + if lightstep_project is None and not opts.urn: + raise TypeError("Missing required property 'lightstep_project'") + __props__.__dict__["lightstep_project"] = lightstep_project + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = None + super(DirectLightstep, __self__).__init__( + 'nobl9:index/directLightstep:DirectLightstep', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + app_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectLightstepHistoricalDataRetrievalArgs']]] = None, + lightstep_organization: Optional[pulumi.Input[str]] = None, + lightstep_project: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectLightstepQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None) -> 'DirectLightstep': + """ + Get an existing DirectLightstep 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] app_token: [required] | Lightstep App Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[pulumi.InputType['DirectLightstepHistoricalDataRetrievalArgs']] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] lightstep_organization: Organization name registered in Lightstep. + :param pulumi.Input[str] lightstep_project: Name of the Lightstep project. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectLightstepQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectLightstepState.__new__(_DirectLightstepState) + + __props__.__dict__["app_token"] = app_token + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["historical_data_retrieval"] = historical_data_retrieval + __props__.__dict__["lightstep_organization"] = lightstep_organization + __props__.__dict__["lightstep_project"] = lightstep_project + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + return DirectLightstep(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="appToken") + def app_token(self) -> pulumi.Output[str]: + """ + [required] | Lightstep App Token. + """ + return pulumi.get(self, "app_token") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> pulumi.Output[Optional['outputs.DirectLightstepHistoricalDataRetrieval']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @property + @pulumi.getter(name="lightstepOrganization") + def lightstep_organization(self) -> pulumi.Output[str]: + """ + Organization name registered in Lightstep. + """ + return pulumi.get(self, "lightstep_organization") + + @property + @pulumi.getter(name="lightstepProject") + def lightstep_project(self) -> pulumi.Output[str]: + """ + Name of the Lightstep project. + """ + return pulumi.get(self, "lightstep_project") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectLightstepQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_nobl9/direct_newrelic.py b/sdk/python/pulumi_nobl9/direct_newrelic.py new file mode 100644 index 0000000..4a1eb62 --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_newrelic.py @@ -0,0 +1,618 @@ +# 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__ = ['DirectNewrelicArgs', 'DirectNewrelic'] + +@pulumi.input_type +class DirectNewrelicArgs: + def __init__(__self__, *, + account_id: pulumi.Input[int], + project: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input['DirectNewrelicHistoricalDataRetrievalArgs']] = None, + insights_query_key: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectNewrelicQueryDelayArgs']] = None): + """ + The set of arguments for constructing a DirectNewrelic resource. + :param pulumi.Input[int] account_id: ID number assigned to the New Relic user account. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input['DirectNewrelicHistoricalDataRetrievalArgs'] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] insights_query_key: [required] | New Relic Insights Query Key. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectNewrelicQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + pulumi.set(__self__, "account_id", account_id) + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "source_ofs", source_ofs) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if historical_data_retrieval is not None: + pulumi.set(__self__, "historical_data_retrieval", historical_data_retrieval) + if insights_query_key is not None: + pulumi.set(__self__, "insights_query_key", insights_query_key) + if name is not None: + pulumi.set(__self__, "name", name) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> pulumi.Input[int]: + """ + ID number assigned to the New Relic user account. + """ + return pulumi.get(self, "account_id") + + @account_id.setter + def account_id(self, value: pulumi.Input[int]): + pulumi.set(self, "account_id", value) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> Optional[pulumi.Input['DirectNewrelicHistoricalDataRetrievalArgs']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @historical_data_retrieval.setter + def historical_data_retrieval(self, value: Optional[pulumi.Input['DirectNewrelicHistoricalDataRetrievalArgs']]): + pulumi.set(self, "historical_data_retrieval", value) + + @property + @pulumi.getter(name="insightsQueryKey") + def insights_query_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | New Relic Insights Query Key. + """ + return pulumi.get(self, "insights_query_key") + + @insights_query_key.setter + def insights_query_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "insights_query_key", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectNewrelicQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectNewrelicQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + +@pulumi.input_type +class _DirectNewrelicState: + def __init__(__self__, *, + account_id: Optional[pulumi.Input[int]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input['DirectNewrelicHistoricalDataRetrievalArgs']] = None, + insights_query_key: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectNewrelicQueryDelayArgs']] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectNewrelic resources. + :param pulumi.Input[int] account_id: ID number assigned to the New Relic user account. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input['DirectNewrelicHistoricalDataRetrievalArgs'] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] insights_query_key: [required] | New Relic Insights Query Key. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectNewrelicQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + if account_id is not None: + pulumi.set(__self__, "account_id", account_id) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if historical_data_retrieval is not None: + pulumi.set(__self__, "historical_data_retrieval", historical_data_retrieval) + if insights_query_key is not None: + pulumi.set(__self__, "insights_query_key", insights_query_key) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> Optional[pulumi.Input[int]]: + """ + ID number assigned to the New Relic user account. + """ + return pulumi.get(self, "account_id") + + @account_id.setter + def account_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "account_id", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> Optional[pulumi.Input['DirectNewrelicHistoricalDataRetrievalArgs']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @historical_data_retrieval.setter + def historical_data_retrieval(self, value: Optional[pulumi.Input['DirectNewrelicHistoricalDataRetrievalArgs']]): + pulumi.set(self, "historical_data_retrieval", value) + + @property + @pulumi.getter(name="insightsQueryKey") + def insights_query_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | New Relic Insights Query Key. + """ + return pulumi.get(self, "insights_query_key") + + @insights_query_key.setter + def insights_query_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "insights_query_key", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectNewrelicQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectNewrelicQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + +class DirectNewrelic(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_id: Optional[pulumi.Input[int]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectNewrelicHistoricalDataRetrievalArgs']]] = None, + insights_query_key: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectNewrelicQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + New Relic is a software solution that monitors performance and availability. It sets and rates application performance across the environment using a standardized Apdex (application performance index) score. Nobl9 connects with New Relic to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [New Relic Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_newrelic = nobl9.DirectNewrelic("test-newrelic", + account_id=1234, + description="desc", + historical_data_retrieval=nobl9.DirectNewrelicHistoricalDataRetrievalArgs( + default_durations=[nobl9.DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs( + unit="Day", + value=0, + )], + max_durations=[nobl9.DirectNewrelicHistoricalDataRetrievalMaxDurationArgs( + unit="Day", + value=30, + )], + ), + insights_query_key="secret", + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] account_id: ID number assigned to the New Relic user account. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[pulumi.InputType['DirectNewrelicHistoricalDataRetrievalArgs']] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] insights_query_key: [required] | New Relic Insights Query Key. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectNewrelicQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectNewrelicArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + New Relic is a software solution that monitors performance and availability. It sets and rates application performance across the environment using a standardized Apdex (application performance index) score. Nobl9 connects with New Relic to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [New Relic Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/new-relic#new-relic-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_newrelic = nobl9.DirectNewrelic("test-newrelic", + account_id=1234, + description="desc", + historical_data_retrieval=nobl9.DirectNewrelicHistoricalDataRetrievalArgs( + default_durations=[nobl9.DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs( + unit="Day", + value=0, + )], + max_durations=[nobl9.DirectNewrelicHistoricalDataRetrievalMaxDurationArgs( + unit="Day", + value=30, + )], + ), + insights_query_key="secret", + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectNewrelicArgs 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(DirectNewrelicArgs, 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, + account_id: Optional[pulumi.Input[int]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectNewrelicHistoricalDataRetrievalArgs']]] = None, + insights_query_key: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectNewrelicQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[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__ = DirectNewrelicArgs.__new__(DirectNewrelicArgs) + + if account_id is None and not opts.urn: + raise TypeError("Missing required property 'account_id'") + __props__.__dict__["account_id"] = account_id + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["historical_data_retrieval"] = historical_data_retrieval + __props__.__dict__["insights_query_key"] = insights_query_key + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = None + super(DirectNewrelic, __self__).__init__( + 'nobl9:index/directNewrelic:DirectNewrelic', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + account_id: Optional[pulumi.Input[int]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectNewrelicHistoricalDataRetrievalArgs']]] = None, + insights_query_key: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectNewrelicQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None) -> 'DirectNewrelic': + """ + Get an existing DirectNewrelic 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[int] account_id: ID number assigned to the New Relic user account. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[pulumi.InputType['DirectNewrelicHistoricalDataRetrievalArgs']] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] insights_query_key: [required] | New Relic Insights Query Key. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectNewrelicQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectNewrelicState.__new__(_DirectNewrelicState) + + __props__.__dict__["account_id"] = account_id + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["historical_data_retrieval"] = historical_data_retrieval + __props__.__dict__["insights_query_key"] = insights_query_key + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + return DirectNewrelic(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> pulumi.Output[int]: + """ + ID number assigned to the New Relic user account. + """ + return pulumi.get(self, "account_id") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> pulumi.Output[Optional['outputs.DirectNewrelicHistoricalDataRetrieval']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @property + @pulumi.getter(name="insightsQueryKey") + def insights_query_key(self) -> pulumi.Output[str]: + """ + [required] | New Relic Insights Query Key. + """ + return pulumi.get(self, "insights_query_key") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectNewrelicQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_nobl9/direct_pingdom.py b/sdk/python/pulumi_nobl9/direct_pingdom.py new file mode 100644 index 0000000..613eb48 --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_pingdom.py @@ -0,0 +1,501 @@ +# 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__ = ['DirectPingdomArgs', 'DirectPingdom'] + +@pulumi.input_type +class DirectPingdomArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + api_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectPingdomQueryDelayArgs']] = None): + """ + The set of arguments for constructing a DirectPingdom resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] api_token: [required] | Pingdom API token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectPingdomQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "source_ofs", source_ofs) + if api_token is not None: + pulumi.set(__self__, "api_token", api_token) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter(name="apiToken") + def api_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Pingdom API token. + """ + return pulumi.get(self, "api_token") + + @api_token.setter + def api_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "api_token", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectPingdomQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectPingdomQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + +@pulumi.input_type +class _DirectPingdomState: + def __init__(__self__, *, + api_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectPingdomQueryDelayArgs']] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectPingdom resources. + :param pulumi.Input[str] api_token: [required] | Pingdom API token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectPingdomQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + if api_token is not None: + pulumi.set(__self__, "api_token", api_token) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="apiToken") + def api_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Pingdom API token. + """ + return pulumi.get(self, "api_token") + + @api_token.setter + def api_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "api_token", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectPingdomQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectPingdomQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + +class DirectPingdom(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + api_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectPingdomQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Pingdom is a website monitoring software solution that gives users real-time, quality insights into the uptime and performance of their websites. After adding Pingdom as a data source in Nobl9, users can configure SLOs to check the overall performance status of their sites. Nobl9 connects with Pingdom to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Pingdom Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_pingdom = nobl9.DirectPingdom("test-pingdom", + api_token="secret", + description="desc", + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] api_token: [required] | Pingdom API token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectPingdomQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectPingdomArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Pingdom is a website monitoring software solution that gives users real-time, quality insights into the uptime and performance of their websites. After adding Pingdom as a data source in Nobl9, users can configure SLOs to check the overall performance status of their sites. Nobl9 connects with Pingdom to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Pingdom Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/pingdom#pingdom-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_pingdom = nobl9.DirectPingdom("test-pingdom", + api_token="secret", + description="desc", + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectPingdomArgs 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(DirectPingdomArgs, 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, + api_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectPingdomQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[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__ = DirectPingdomArgs.__new__(DirectPingdomArgs) + + __props__.__dict__["api_token"] = api_token + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = None + super(DirectPingdom, __self__).__init__( + 'nobl9:index/directPingdom:DirectPingdom', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + api_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectPingdomQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None) -> 'DirectPingdom': + """ + Get an existing DirectPingdom 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] api_token: [required] | Pingdom API token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectPingdomQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectPingdomState.__new__(_DirectPingdomState) + + __props__.__dict__["api_token"] = api_token + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + return DirectPingdom(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="apiToken") + def api_token(self) -> pulumi.Output[str]: + """ + [required] | Pingdom API token. + """ + return pulumi.get(self, "api_token") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectPingdomQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_nobl9/direct_redshift.py b/sdk/python/pulumi_nobl9/direct_redshift.py new file mode 100644 index 0000000..c4536e6 --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_redshift.py @@ -0,0 +1,599 @@ +# 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__ = ['DirectRedshiftArgs', 'DirectRedshift'] + +@pulumi.input_type +class DirectRedshiftArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + access_key_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectRedshiftQueryDelayArgs']] = None, + secret_access_key: Optional[pulumi.Input[str]] = None, + secret_arn: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a DirectRedshift resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] access_key_id: [required] | AWS Access Key ID. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectRedshiftQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] secret_access_key: [required] | AWS Secret Access Key. + :param pulumi.Input[str] secret_arn: AWS Secret ARN. + """ + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "source_ofs", source_ofs) + if access_key_id is not None: + pulumi.set(__self__, "access_key_id", access_key_id) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if secret_access_key is not None: + pulumi.set(__self__, "secret_access_key", secret_access_key) + if secret_arn is not None: + pulumi.set(__self__, "secret_arn", secret_arn) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter(name="accessKeyId") + def access_key_id(self) -> Optional[pulumi.Input[str]]: + """ + [required] | AWS Access Key ID. + """ + return pulumi.get(self, "access_key_id") + + @access_key_id.setter + def access_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_key_id", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectRedshiftQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectRedshiftQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="secretAccessKey") + def secret_access_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | AWS Secret Access Key. + """ + return pulumi.get(self, "secret_access_key") + + @secret_access_key.setter + def secret_access_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_access_key", value) + + @property + @pulumi.getter(name="secretArn") + def secret_arn(self) -> Optional[pulumi.Input[str]]: + """ + AWS Secret ARN. + """ + return pulumi.get(self, "secret_arn") + + @secret_arn.setter + def secret_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_arn", value) + + +@pulumi.input_type +class _DirectRedshiftState: + def __init__(__self__, *, + access_key_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectRedshiftQueryDelayArgs']] = None, + secret_access_key: Optional[pulumi.Input[str]] = None, + secret_arn: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectRedshift resources. + :param pulumi.Input[str] access_key_id: [required] | AWS Access Key ID. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectRedshiftQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] secret_access_key: [required] | AWS Secret Access Key. + :param pulumi.Input[str] secret_arn: AWS Secret ARN. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + if access_key_id is not None: + pulumi.set(__self__, "access_key_id", access_key_id) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if secret_access_key is not None: + pulumi.set(__self__, "secret_access_key", secret_access_key) + if secret_arn is not None: + pulumi.set(__self__, "secret_arn", secret_arn) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="accessKeyId") + def access_key_id(self) -> Optional[pulumi.Input[str]]: + """ + [required] | AWS Access Key ID. + """ + return pulumi.get(self, "access_key_id") + + @access_key_id.setter + def access_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_key_id", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectRedshiftQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectRedshiftQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="secretAccessKey") + def secret_access_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | AWS Secret Access Key. + """ + return pulumi.get(self, "secret_access_key") + + @secret_access_key.setter + def secret_access_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_access_key", value) + + @property + @pulumi.getter(name="secretArn") + def secret_arn(self) -> Optional[pulumi.Input[str]]: + """ + AWS Secret ARN. + """ + return pulumi.get(self, "secret_arn") + + @secret_arn.setter + def secret_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_arn", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + +class DirectRedshift(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + access_key_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectRedshiftQueryDelayArgs']]] = None, + secret_access_key: Optional[pulumi.Input[str]] = None, + secret_arn: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Amazon Redshift is a managed scalable database warehouse where Nobl9 users can store their metrics information. Nobl9 connects with Amazon Redshift to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Amazon Redshift Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_redshift = nobl9.DirectRedshift("test-redshift", + access_key_id="secret", + description="desc", + project="terraform", + secret_access_key="secret", + secret_arn="aws:arn", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] access_key_id: [required] | AWS Access Key ID. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectRedshiftQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] secret_access_key: [required] | AWS Secret Access Key. + :param pulumi.Input[str] secret_arn: AWS Secret ARN. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectRedshiftArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Amazon Redshift is a managed scalable database warehouse where Nobl9 users can store their metrics information. Nobl9 connects with Amazon Redshift to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Amazon Redshift Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/Amazon_Redshift/?_highlight=redshift#amazon-redshift-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_redshift = nobl9.DirectRedshift("test-redshift", + access_key_id="secret", + description="desc", + project="terraform", + secret_access_key="secret", + secret_arn="aws:arn", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectRedshiftArgs 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(DirectRedshiftArgs, 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, + access_key_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectRedshiftQueryDelayArgs']]] = None, + secret_access_key: Optional[pulumi.Input[str]] = None, + secret_arn: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[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__ = DirectRedshiftArgs.__new__(DirectRedshiftArgs) + + __props__.__dict__["access_key_id"] = access_key_id + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["secret_access_key"] = secret_access_key + __props__.__dict__["secret_arn"] = secret_arn + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = None + super(DirectRedshift, __self__).__init__( + 'nobl9:index/directRedshift:DirectRedshift', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + access_key_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectRedshiftQueryDelayArgs']]] = None, + secret_access_key: Optional[pulumi.Input[str]] = None, + secret_arn: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None) -> 'DirectRedshift': + """ + Get an existing DirectRedshift 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] access_key_id: [required] | AWS Access Key ID. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectRedshiftQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] secret_access_key: [required] | AWS Secret Access Key. + :param pulumi.Input[str] secret_arn: AWS Secret ARN. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectRedshiftState.__new__(_DirectRedshiftState) + + __props__.__dict__["access_key_id"] = access_key_id + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["secret_access_key"] = secret_access_key + __props__.__dict__["secret_arn"] = secret_arn + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + return DirectRedshift(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accessKeyId") + def access_key_id(self) -> pulumi.Output[str]: + """ + [required] | AWS Access Key ID. + """ + return pulumi.get(self, "access_key_id") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectRedshiftQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter(name="secretAccessKey") + def secret_access_key(self) -> pulumi.Output[str]: + """ + [required] | AWS Secret Access Key. + """ + return pulumi.get(self, "secret_access_key") + + @property + @pulumi.getter(name="secretArn") + def secret_arn(self) -> pulumi.Output[str]: + """ + AWS Secret ARN. + """ + return pulumi.get(self, "secret_arn") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_nobl9/direct_splunk.py b/sdk/python/pulumi_nobl9/direct_splunk.py new file mode 100644 index 0000000..959856c --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_splunk.py @@ -0,0 +1,618 @@ +# 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__ = ['DirectSplunkArgs', 'DirectSplunk'] + +@pulumi.input_type +class DirectSplunkArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + url: pulumi.Input[str], + access_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input['DirectSplunkHistoricalDataRetrievalArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectSplunkQueryDelayArgs']] = None): + """ + The set of arguments for constructing a DirectSplunk resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] url: Base API URL to the Splunk Search app. + :param pulumi.Input[str] access_token: [required] | Splunk API Access Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input['DirectSplunkHistoricalDataRetrievalArgs'] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectSplunkQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "source_ofs", source_ofs) + pulumi.set(__self__, "url", url) + if access_token is not None: + pulumi.set(__self__, "access_token", access_token) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if historical_data_retrieval is not None: + pulumi.set(__self__, "historical_data_retrieval", historical_data_retrieval) + if name is not None: + pulumi.set(__self__, "name", name) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Base API URL to the Splunk Search app. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter(name="accessToken") + def access_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Splunk API Access Token. + """ + return pulumi.get(self, "access_token") + + @access_token.setter + def access_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_token", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> Optional[pulumi.Input['DirectSplunkHistoricalDataRetrievalArgs']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @historical_data_retrieval.setter + def historical_data_retrieval(self, value: Optional[pulumi.Input['DirectSplunkHistoricalDataRetrievalArgs']]): + pulumi.set(self, "historical_data_retrieval", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectSplunkQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectSplunkQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + +@pulumi.input_type +class _DirectSplunkState: + def __init__(__self__, *, + access_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input['DirectSplunkHistoricalDataRetrievalArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectSplunkQueryDelayArgs']] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectSplunk resources. + :param pulumi.Input[str] access_token: [required] | Splunk API Access Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input['DirectSplunkHistoricalDataRetrievalArgs'] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectSplunkQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + :param pulumi.Input[str] url: Base API URL to the Splunk Search app. + """ + if access_token is not None: + pulumi.set(__self__, "access_token", access_token) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if historical_data_retrieval is not None: + pulumi.set(__self__, "historical_data_retrieval", historical_data_retrieval) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter(name="accessToken") + def access_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Splunk API Access Token. + """ + return pulumi.get(self, "access_token") + + @access_token.setter + def access_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_token", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> Optional[pulumi.Input['DirectSplunkHistoricalDataRetrievalArgs']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @historical_data_retrieval.setter + def historical_data_retrieval(self, value: Optional[pulumi.Input['DirectSplunkHistoricalDataRetrievalArgs']]): + pulumi.set(self, "historical_data_retrieval", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectSplunkQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectSplunkQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + Base API URL to the Splunk Search app. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class DirectSplunk(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + access_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectSplunkHistoricalDataRetrievalArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectSplunkQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Splunk provides software for searching, monitoring, and analyzing machine-generated data via a Web-style interface. Nobl9 connects with Splunk to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Splunk Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/splunk#splunk-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_splunk = nobl9.DirectSplunk("test-splunk", + access_token="secret", + description="desc", + historical_data_retrieval=nobl9.DirectSplunkHistoricalDataRetrievalArgs( + default_durations=[nobl9.DirectSplunkHistoricalDataRetrievalDefaultDurationArgs( + unit="Day", + value=0, + )], + max_durations=[nobl9.DirectSplunkHistoricalDataRetrievalMaxDurationArgs( + unit="Day", + value=30, + )], + ), + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ], + url="https://web.net") + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] access_token: [required] | Splunk API Access Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[pulumi.InputType['DirectSplunkHistoricalDataRetrievalArgs']] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectSplunkQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] url: Base API URL to the Splunk Search app. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectSplunkArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Splunk provides software for searching, monitoring, and analyzing machine-generated data via a Web-style interface. Nobl9 connects with Splunk to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Splunk Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/splunk#splunk-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_splunk = nobl9.DirectSplunk("test-splunk", + access_token="secret", + description="desc", + historical_data_retrieval=nobl9.DirectSplunkHistoricalDataRetrievalArgs( + default_durations=[nobl9.DirectSplunkHistoricalDataRetrievalDefaultDurationArgs( + unit="Day", + value=0, + )], + max_durations=[nobl9.DirectSplunkHistoricalDataRetrievalMaxDurationArgs( + unit="Day", + value=30, + )], + ), + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ], + url="https://web.net") + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectSplunkArgs 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(DirectSplunkArgs, 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, + access_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectSplunkHistoricalDataRetrievalArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectSplunkQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: 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__ = DirectSplunkArgs.__new__(DirectSplunkArgs) + + __props__.__dict__["access_token"] = access_token + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["historical_data_retrieval"] = historical_data_retrieval + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + if url is None and not opts.urn: + raise TypeError("Missing required property 'url'") + __props__.__dict__["url"] = url + __props__.__dict__["status"] = None + super(DirectSplunk, __self__).__init__( + 'nobl9:index/directSplunk:DirectSplunk', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + access_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + historical_data_retrieval: Optional[pulumi.Input[pulumi.InputType['DirectSplunkHistoricalDataRetrievalArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectSplunkQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'DirectSplunk': + """ + Get an existing DirectSplunk 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] access_token: [required] | Splunk API Access Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[pulumi.InputType['DirectSplunkHistoricalDataRetrievalArgs']] historical_data_retrieval: [Replay configuration documentation](https://docs.nobl9.com/replay) + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectSplunkQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + :param pulumi.Input[str] url: Base API URL to the Splunk Search app. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectSplunkState.__new__(_DirectSplunkState) + + __props__.__dict__["access_token"] = access_token + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["historical_data_retrieval"] = historical_data_retrieval + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + __props__.__dict__["url"] = url + return DirectSplunk(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accessToken") + def access_token(self) -> pulumi.Output[str]: + """ + [required] | Splunk API Access Token. + """ + return pulumi.get(self, "access_token") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="historicalDataRetrieval") + def historical_data_retrieval(self) -> pulumi.Output[Optional['outputs.DirectSplunkHistoricalDataRetrieval']]: + """ + [Replay configuration documentation](https://docs.nobl9.com/replay) + """ + return pulumi.get(self, "historical_data_retrieval") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectSplunkQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + Base API URL to the Splunk Search app. + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumi_nobl9/direct_splunk_observability.py b/sdk/python/pulumi_nobl9/direct_splunk_observability.py new file mode 100644 index 0000000..30ff726 --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_splunk_observability.py @@ -0,0 +1,551 @@ +# 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__ = ['DirectSplunkObservabilityArgs', 'DirectSplunkObservability'] + +@pulumi.input_type +class DirectSplunkObservabilityArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + realm: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + access_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectSplunkObservabilityQueryDelayArgs']] = None): + """ + The set of arguments for constructing a DirectSplunkObservability resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] realm: SplunkObservability Realm. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] access_token: [required] | Splunk API Access Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectSplunkObservabilityQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "realm", realm) + pulumi.set(__self__, "source_ofs", source_ofs) + if access_token is not None: + pulumi.set(__self__, "access_token", access_token) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def realm(self) -> pulumi.Input[str]: + """ + SplunkObservability Realm. + """ + return pulumi.get(self, "realm") + + @realm.setter + def realm(self, value: pulumi.Input[str]): + pulumi.set(self, "realm", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter(name="accessToken") + def access_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Splunk API Access Token. + """ + return pulumi.get(self, "access_token") + + @access_token.setter + def access_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_token", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectSplunkObservabilityQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectSplunkObservabilityQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + +@pulumi.input_type +class _DirectSplunkObservabilityState: + def __init__(__self__, *, + access_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectSplunkObservabilityQueryDelayArgs']] = None, + realm: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectSplunkObservability resources. + :param pulumi.Input[str] access_token: [required] | Splunk API Access Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectSplunkObservabilityQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] realm: SplunkObservability Realm. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + if access_token is not None: + pulumi.set(__self__, "access_token", access_token) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if realm is not None: + pulumi.set(__self__, "realm", realm) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="accessToken") + def access_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Splunk API Access Token. + """ + return pulumi.get(self, "access_token") + + @access_token.setter + def access_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_token", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectSplunkObservabilityQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectSplunkObservabilityQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter + def realm(self) -> Optional[pulumi.Input[str]]: + """ + SplunkObservability Realm. + """ + return pulumi.get(self, "realm") + + @realm.setter + def realm(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "realm", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + +class DirectSplunkObservability(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + access_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectSplunkObservabilityQueryDelayArgs']]] = None, + realm: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Splunk Observability allows users to search, monitor, and analyze machine-generated big data. Splunk Observability enables collecting and monitoring metrics, logs, and traces from common data sources. Data collection and monitoring in one place enables full-stack, end-to-end observability of the entire infrastructure. Nobl9 connects with Splunk Observability to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Splunk Observability Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_splunkobservability = nobl9.DirectSplunkObservability("test-splunkobservability", + access_token="secret", + description="desc", + project="terraform", + realm="eu", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] access_token: [required] | Splunk API Access Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectSplunkObservabilityQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] realm: SplunkObservability Realm. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectSplunkObservabilityArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Splunk Observability allows users to search, monitor, and analyze machine-generated big data. Splunk Observability enables collecting and monitoring metrics, logs, and traces from common data sources. Data collection and monitoring in one place enables full-stack, end-to-end observability of the entire infrastructure. Nobl9 connects with Splunk Observability to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Splunk Observability Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/splunk-observability/#splunk-observability-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_splunkobservability = nobl9.DirectSplunkObservability("test-splunkobservability", + access_token="secret", + description="desc", + project="terraform", + realm="eu", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectSplunkObservabilityArgs 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(DirectSplunkObservabilityArgs, 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, + access_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectSplunkObservabilityQueryDelayArgs']]] = None, + realm: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[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__ = DirectSplunkObservabilityArgs.__new__(DirectSplunkObservabilityArgs) + + __props__.__dict__["access_token"] = access_token + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + if realm is None and not opts.urn: + raise TypeError("Missing required property 'realm'") + __props__.__dict__["realm"] = realm + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = None + super(DirectSplunkObservability, __self__).__init__( + 'nobl9:index/directSplunkObservability:DirectSplunkObservability', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + access_token: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectSplunkObservabilityQueryDelayArgs']]] = None, + realm: Optional[pulumi.Input[str]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None) -> 'DirectSplunkObservability': + """ + Get an existing DirectSplunkObservability 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] access_token: [required] | Splunk API Access Token. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectSplunkObservabilityQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[str] realm: SplunkObservability Realm. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectSplunkObservabilityState.__new__(_DirectSplunkObservabilityState) + + __props__.__dict__["access_token"] = access_token + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["realm"] = realm + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + return DirectSplunkObservability(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accessToken") + def access_token(self) -> pulumi.Output[str]: + """ + [required] | Splunk API Access Token. + """ + return pulumi.get(self, "access_token") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectSplunkObservabilityQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter + def realm(self) -> pulumi.Output[str]: + """ + SplunkObservability Realm. + """ + return pulumi.get(self, "realm") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_nobl9/direct_sumologic.py b/sdk/python/pulumi_nobl9/direct_sumologic.py new file mode 100644 index 0000000..3c330d7 --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_sumologic.py @@ -0,0 +1,594 @@ +# 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__ = ['DirectSumologicArgs', 'DirectSumologic'] + +@pulumi.input_type +class DirectSumologicArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + url: pulumi.Input[str], + access_id: Optional[pulumi.Input[str]] = None, + access_key: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectSumologicQueryDelayArgs']] = None): + """ + The set of arguments for constructing a DirectSumologic resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] url: Sumo Logic API URL. + :param pulumi.Input[str] access_id: [required] | Sumo Logic API Access ID. + :param pulumi.Input[str] access_key: [required] | Sumo Logic API Access Key. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectSumologicQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "source_ofs", source_ofs) + pulumi.set(__self__, "url", url) + if access_id is not None: + pulumi.set(__self__, "access_id", access_id) + if access_key is not None: + pulumi.set(__self__, "access_key", access_key) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Sumo Logic API URL. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter(name="accessId") + def access_id(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Sumo Logic API Access ID. + """ + return pulumi.get(self, "access_id") + + @access_id.setter + def access_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_id", value) + + @property + @pulumi.getter(name="accessKey") + def access_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Sumo Logic API Access Key. + """ + return pulumi.get(self, "access_key") + + @access_key.setter + def access_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_key", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectSumologicQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectSumologicQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + +@pulumi.input_type +class _DirectSumologicState: + def __init__(__self__, *, + access_id: Optional[pulumi.Input[str]] = None, + access_key: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectSumologicQueryDelayArgs']] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectSumologic resources. + :param pulumi.Input[str] access_id: [required] | Sumo Logic API Access ID. + :param pulumi.Input[str] access_key: [required] | Sumo Logic API Access Key. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectSumologicQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + :param pulumi.Input[str] url: Sumo Logic API URL. + """ + if access_id is not None: + pulumi.set(__self__, "access_id", access_id) + if access_key is not None: + pulumi.set(__self__, "access_key", access_key) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter(name="accessId") + def access_id(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Sumo Logic API Access ID. + """ + return pulumi.get(self, "access_id") + + @access_id.setter + def access_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_id", value) + + @property + @pulumi.getter(name="accessKey") + def access_key(self) -> Optional[pulumi.Input[str]]: + """ + [required] | Sumo Logic API Access Key. + """ + return pulumi.get(self, "access_key") + + @access_key.setter + def access_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_key", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectSumologicQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectSumologicQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + Sumo Logic API URL. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class DirectSumologic(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + access_id: Optional[pulumi.Input[str]] = None, + access_key: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectSumologicQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Sumo Logic is an observability platform that provides visibility into AWS, Azure, and GCP cloud applications and infrastructure. Nobl9 connects with Sumo Logic to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Sumo Logic Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_sumologic = nobl9.DirectSumologic("test-sumologic", + access_id="secret", + access_key="secret", + description="desc", + project="terraform", + source_ofs=["Metrics"], + url="http://web.net") + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] access_id: [required] | Sumo Logic API Access ID. + :param pulumi.Input[str] access_key: [required] | Sumo Logic API Access Key. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectSumologicQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] url: Sumo Logic API URL. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectSumologicArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Sumo Logic is an observability platform that provides visibility into AWS, Azure, and GCP cloud applications and infrastructure. Nobl9 connects with Sumo Logic to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [Sumo Logic Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/sumo-logic#sumo-logic-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_sumologic = nobl9.DirectSumologic("test-sumologic", + access_id="secret", + access_key="secret", + description="desc", + project="terraform", + source_ofs=["Metrics"], + url="http://web.net") + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectSumologicArgs 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(DirectSumologicArgs, 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, + access_id: Optional[pulumi.Input[str]] = None, + access_key: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectSumologicQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + url: 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__ = DirectSumologicArgs.__new__(DirectSumologicArgs) + + __props__.__dict__["access_id"] = access_id + __props__.__dict__["access_key"] = access_key + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + if url is None and not opts.urn: + raise TypeError("Missing required property 'url'") + __props__.__dict__["url"] = url + __props__.__dict__["status"] = None + super(DirectSumologic, __self__).__init__( + 'nobl9:index/directSumologic:DirectSumologic', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + access_id: Optional[pulumi.Input[str]] = None, + access_key: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectSumologicQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'DirectSumologic': + """ + Get an existing DirectSumologic 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] access_id: [required] | Sumo Logic API Access ID. + :param pulumi.Input[str] access_key: [required] | Sumo Logic API Access Key. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectSumologicQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + :param pulumi.Input[str] url: Sumo Logic API URL. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectSumologicState.__new__(_DirectSumologicState) + + __props__.__dict__["access_id"] = access_id + __props__.__dict__["access_key"] = access_key + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + __props__.__dict__["url"] = url + return DirectSumologic(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accessId") + def access_id(self) -> pulumi.Output[str]: + """ + [required] | Sumo Logic API Access ID. + """ + return pulumi.get(self, "access_id") + + @property + @pulumi.getter(name="accessKey") + def access_key(self) -> pulumi.Output[str]: + """ + [required] | Sumo Logic API Access Key. + """ + return pulumi.get(self, "access_key") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectSumologicQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + Sumo Logic API URL. + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumi_nobl9/direct_thousandeyes.py b/sdk/python/pulumi_nobl9/direct_thousandeyes.py new file mode 100644 index 0000000..6d79820 --- /dev/null +++ b/sdk/python/pulumi_nobl9/direct_thousandeyes.py @@ -0,0 +1,501 @@ +# 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__ = ['DirectThousandeyesArgs', 'DirectThousandeyes'] + +@pulumi.input_type +class DirectThousandeyesArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + source_ofs: pulumi.Input[Sequence[pulumi.Input[str]]], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + oauth_bearer_token: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectThousandeyesQueryDelayArgs']] = None): + """ + The set of arguments for constructing a DirectThousandeyes resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] oauth_bearer_token: [required] | ThousandEyes OAuth Bearer Token. + :param pulumi.Input['DirectThousandeyesQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "source_ofs", source_ofs) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if oauth_bearer_token is not None: + pulumi.set(__self__, "oauth_bearer_token", oauth_bearer_token) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="oauthBearerToken") + def oauth_bearer_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | ThousandEyes OAuth Bearer Token. + """ + return pulumi.get(self, "oauth_bearer_token") + + @oauth_bearer_token.setter + def oauth_bearer_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "oauth_bearer_token", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectThousandeyesQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectThousandeyesQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + +@pulumi.input_type +class _DirectThousandeyesState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + oauth_bearer_token: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input['DirectThousandeyesQueryDelayArgs']] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DirectThousandeyes resources. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] oauth_bearer_token: [required] | ThousandEyes OAuth Bearer Token. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input['DirectThousandeyesQueryDelayArgs'] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if oauth_bearer_token is not None: + pulumi.set(__self__, "oauth_bearer_token", oauth_bearer_token) + if project is not None: + pulumi.set(__self__, "project", project) + if query_delay is not None: + pulumi.set(__self__, "query_delay", query_delay) + if source_ofs is not None: + pulumi.set(__self__, "source_ofs", source_ofs) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="oauthBearerToken") + def oauth_bearer_token(self) -> Optional[pulumi.Input[str]]: + """ + [required] | ThousandEyes OAuth Bearer Token. + """ + return pulumi.get(self, "oauth_bearer_token") + + @oauth_bearer_token.setter + def oauth_bearer_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "oauth_bearer_token", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> Optional[pulumi.Input['DirectThousandeyesQueryDelayArgs']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @query_delay.setter + def query_delay(self, value: Optional[pulumi.Input['DirectThousandeyesQueryDelayArgs']]): + pulumi.set(self, "query_delay", value) + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @source_ofs.setter + def source_ofs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "source_ofs", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + +class DirectThousandeyes(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + oauth_bearer_token: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectThousandeyesQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + ThousandEyes monitors the performance of both local and wide-area networks. ThousandEyes combines Internet and WAN visibility, browser synthetics, end-user monitoring, and Internet Insights to deliver a holistic view of your hybrid digital ecosystem – across cloud, SaaS, and the Internet. It's a SaaS-based tool that helps troubleshoot application delivery and maps Internet performance. Nobl9 connects with ThousandEyes to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [ThousandEyes Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_thousandeyes = nobl9.DirectThousandeyes("test-thousandeyes", + description="desc", + oauth_bearer_token="secret", + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] oauth_bearer_token: [required] | ThousandEyes OAuth Bearer Token. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectThousandeyesQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DirectThousandeyesArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ThousandEyes monitors the performance of both local and wide-area networks. ThousandEyes combines Internet and WAN visibility, browser synthetics, end-user monitoring, and Internet Insights to deliver a holistic view of your hybrid digital ecosystem – across cloud, SaaS, and the Internet. It's a SaaS-based tool that helps troubleshoot application delivery and maps Internet performance. Nobl9 connects with ThousandEyes to collect SLI measurements and compare them to SLO targets. + + For more information, refer to [ThousandEyes Direct | Nobl9 Documentation](https://docs.nobl9.com/Sources/thousandeyes#thousandeyes-direct). + + ## Example Usage + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + test_thousandeyes = nobl9.DirectThousandeyes("test-thousandeyes", + description="desc", + oauth_bearer_token="secret", + project="terraform", + source_ofs=[ + "Metrics", + "Services", + ]) + ``` + ## Nobl9 Official Documentation + + https://docs.nobl9.com/ + + :param str resource_name: The name of the resource. + :param DirectThousandeyesArgs 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(DirectThousandeyesArgs, 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, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + oauth_bearer_token: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectThousandeyesQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[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__ = DirectThousandeyesArgs.__new__(DirectThousandeyesArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["oauth_bearer_token"] = oauth_bearer_token + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + if source_ofs is None and not opts.urn: + raise TypeError("Missing required property 'source_ofs'") + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = None + super(DirectThousandeyes, __self__).__init__( + 'nobl9:index/directThousandeyes:DirectThousandeyes', + 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, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + oauth_bearer_token: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + query_delay: Optional[pulumi.Input[pulumi.InputType['DirectThousandeyesQueryDelayArgs']]] = None, + source_ofs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + status: Optional[pulumi.Input[str]] = None) -> 'DirectThousandeyes': + """ + Get an existing DirectThousandeyes 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: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] oauth_bearer_token: [required] | ThousandEyes OAuth Bearer Token. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[pulumi.InputType['DirectThousandeyesQueryDelayArgs']] query_delay: [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + :param pulumi.Input[Sequence[pulumi.Input[str]]] source_ofs: Source of Metrics and/or Services. + :param pulumi.Input[str] status: The status of the created direct. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DirectThousandeyesState.__new__(_DirectThousandeyesState) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["oauth_bearer_token"] = oauth_bearer_token + __props__.__dict__["project"] = project + __props__.__dict__["query_delay"] = query_delay + __props__.__dict__["source_ofs"] = source_ofs + __props__.__dict__["status"] = status + return DirectThousandeyes(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="oauthBearerToken") + def oauth_bearer_token(self) -> pulumi.Output[str]: + """ + [required] | ThousandEyes OAuth Bearer Token. + """ + return pulumi.get(self, "oauth_bearer_token") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="queryDelay") + def query_delay(self) -> pulumi.Output[Optional['outputs.DirectThousandeyesQueryDelay']]: + """ + [Query delay configuration documentation](https://docs.nobl9.com/Features/query-delay). Computed if not provided. + """ + return pulumi.get(self, "query_delay") + + @property + @pulumi.getter(name="sourceOfs") + def source_ofs(self) -> pulumi.Output[Sequence[str]]: + """ + Source of Metrics and/or Services. + """ + return pulumi.get(self, "source_ofs") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the created direct. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_nobl9/outputs.py b/sdk/python/pulumi_nobl9/outputs.py new file mode 100644 index 0000000..7931ce9 --- /dev/null +++ b/sdk/python/pulumi_nobl9/outputs.py @@ -0,0 +1,5330 @@ +# 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__ = [ + 'AgentAmazonPrometheusConfig', + 'AgentAppdynamicsConfig', + 'AgentBigqueryConfig', + 'AgentCloudwatchConfig', + 'AgentDatadogConfig', + 'AgentDynatraceConfig', + 'AgentElasticsearchConfig', + 'AgentGcmConfig', + 'AgentGrafanaLokiConfig', + 'AgentGraphiteConfig', + 'AgentInfluxdbConfig', + 'AgentInstanaConfig', + 'AgentLightstepConfig', + 'AgentNewrelicConfig', + 'AgentOpentsdbConfig', + 'AgentPingdomConfig', + 'AgentPrometheusConfig', + 'AgentQueryDelay', + 'AgentRedshiftConfig', + 'AgentSplunkConfig', + 'AgentSplunkObservabilityConfig', + 'AgentSumologicConfig', + 'AgentThousandeyesConfig', + 'AlertPolicyAlertMethod', + 'AlertPolicyCondition', + 'DirectAppdynamicsQueryDelay', + 'DirectBigqueryQueryDelay', + 'DirectCloudwatchHistoricalDataRetrieval', + 'DirectCloudwatchHistoricalDataRetrievalDefaultDuration', + 'DirectCloudwatchHistoricalDataRetrievalMaxDuration', + 'DirectCloudwatchQueryDelay', + 'DirectDatadogHistoricalDataRetrieval', + 'DirectDatadogHistoricalDataRetrievalDefaultDuration', + 'DirectDatadogHistoricalDataRetrievalMaxDuration', + 'DirectDatadogQueryDelay', + 'DirectDynatraceHistoricalDataRetrieval', + 'DirectDynatraceHistoricalDataRetrievalDefaultDuration', + 'DirectDynatraceHistoricalDataRetrievalMaxDuration', + 'DirectDynatraceQueryDelay', + 'DirectGcmQueryDelay', + 'DirectInfluxdbQueryDelay', + 'DirectInstanaQueryDelay', + 'DirectLightstepHistoricalDataRetrieval', + 'DirectLightstepHistoricalDataRetrievalDefaultDuration', + 'DirectLightstepHistoricalDataRetrievalMaxDuration', + 'DirectLightstepQueryDelay', + 'DirectNewrelicHistoricalDataRetrieval', + 'DirectNewrelicHistoricalDataRetrievalDefaultDuration', + 'DirectNewrelicHistoricalDataRetrievalMaxDuration', + 'DirectNewrelicQueryDelay', + 'DirectPingdomQueryDelay', + 'DirectRedshiftQueryDelay', + 'DirectSplunkHistoricalDataRetrieval', + 'DirectSplunkHistoricalDataRetrievalDefaultDuration', + 'DirectSplunkHistoricalDataRetrievalMaxDuration', + 'DirectSplunkObservabilityQueryDelay', + 'DirectSplunkQueryDelay', + 'DirectSumologicQueryDelay', + 'DirectThousandeyesQueryDelay', + 'ProjectLabel', + 'ServiceLabel', + 'SloAttachment', + 'SloComposite', + 'SloCompositeBurnRateCondition', + 'SloIndicator', + 'SloLabel', + 'SloObjective', + 'SloObjectiveCountMetric', + 'SloObjectiveCountMetricGood', + 'SloObjectiveCountMetricGoodAmazonPrometheus', + 'SloObjectiveCountMetricGoodAppdynamic', + 'SloObjectiveCountMetricGoodBigquery', + 'SloObjectiveCountMetricGoodCloudwatch', + 'SloObjectiveCountMetricGoodCloudwatchDimension', + 'SloObjectiveCountMetricGoodDatadog', + 'SloObjectiveCountMetricGoodDynatrace', + 'SloObjectiveCountMetricGoodElasticsearch', + 'SloObjectiveCountMetricGoodGcm', + 'SloObjectiveCountMetricGoodGrafanaLoki', + 'SloObjectiveCountMetricGoodGraphite', + 'SloObjectiveCountMetricGoodInfluxdb', + 'SloObjectiveCountMetricGoodInstana', + 'SloObjectiveCountMetricGoodInstanaApplication', + 'SloObjectiveCountMetricGoodInstanaApplicationGroupBy', + 'SloObjectiveCountMetricGoodInstanaInfrastructure', + 'SloObjectiveCountMetricGoodLightstep', + 'SloObjectiveCountMetricGoodNewrelic', + 'SloObjectiveCountMetricGoodOpentsdb', + 'SloObjectiveCountMetricGoodPingdom', + 'SloObjectiveCountMetricGoodPrometheus', + 'SloObjectiveCountMetricGoodRedshift', + 'SloObjectiveCountMetricGoodSplunk', + 'SloObjectiveCountMetricGoodSplunkObservability', + 'SloObjectiveCountMetricGoodSumologic', + 'SloObjectiveCountMetricGoodThousandeye', + 'SloObjectiveCountMetricTotal', + 'SloObjectiveCountMetricTotalAmazonPrometheus', + 'SloObjectiveCountMetricTotalAppdynamic', + 'SloObjectiveCountMetricTotalBigquery', + 'SloObjectiveCountMetricTotalCloudwatch', + 'SloObjectiveCountMetricTotalCloudwatchDimension', + 'SloObjectiveCountMetricTotalDatadog', + 'SloObjectiveCountMetricTotalDynatrace', + 'SloObjectiveCountMetricTotalElasticsearch', + 'SloObjectiveCountMetricTotalGcm', + 'SloObjectiveCountMetricTotalGrafanaLoki', + 'SloObjectiveCountMetricTotalGraphite', + 'SloObjectiveCountMetricTotalInfluxdb', + 'SloObjectiveCountMetricTotalInstana', + 'SloObjectiveCountMetricTotalInstanaApplication', + 'SloObjectiveCountMetricTotalInstanaApplicationGroupBy', + 'SloObjectiveCountMetricTotalInstanaInfrastructure', + 'SloObjectiveCountMetricTotalLightstep', + 'SloObjectiveCountMetricTotalNewrelic', + 'SloObjectiveCountMetricTotalOpentsdb', + 'SloObjectiveCountMetricTotalPingdom', + 'SloObjectiveCountMetricTotalPrometheus', + 'SloObjectiveCountMetricTotalRedshift', + 'SloObjectiveCountMetricTotalSplunk', + 'SloObjectiveCountMetricTotalSplunkObservability', + 'SloObjectiveCountMetricTotalSumologic', + 'SloObjectiveCountMetricTotalThousandeye', + 'SloObjectiveRawMetric', + 'SloObjectiveRawMetricQuery', + 'SloObjectiveRawMetricQueryAmazonPrometheus', + 'SloObjectiveRawMetricQueryAppdynamic', + 'SloObjectiveRawMetricQueryBigquery', + 'SloObjectiveRawMetricQueryCloudwatch', + 'SloObjectiveRawMetricQueryCloudwatchDimension', + 'SloObjectiveRawMetricQueryDatadog', + 'SloObjectiveRawMetricQueryDynatrace', + 'SloObjectiveRawMetricQueryElasticsearch', + 'SloObjectiveRawMetricQueryGcm', + 'SloObjectiveRawMetricQueryGrafanaLoki', + 'SloObjectiveRawMetricQueryGraphite', + 'SloObjectiveRawMetricQueryInfluxdb', + 'SloObjectiveRawMetricQueryInstana', + 'SloObjectiveRawMetricQueryInstanaApplication', + 'SloObjectiveRawMetricQueryInstanaApplicationGroupBy', + 'SloObjectiveRawMetricQueryInstanaInfrastructure', + 'SloObjectiveRawMetricQueryLightstep', + 'SloObjectiveRawMetricQueryNewrelic', + 'SloObjectiveRawMetricQueryOpentsdb', + 'SloObjectiveRawMetricQueryPingdom', + 'SloObjectiveRawMetricQueryPrometheus', + 'SloObjectiveRawMetricQueryRedshift', + 'SloObjectiveRawMetricQuerySplunk', + 'SloObjectiveRawMetricQuerySplunkObservability', + 'SloObjectiveRawMetricQuerySumologic', + 'SloObjectiveRawMetricQueryThousandeye', + 'SloTimeWindow', + 'SloTimeWindowCalendar', +] + +@pulumi.output_type +class AgentAmazonPrometheusConfig(dict): + def __init__(__self__, *, + region: str, + url: str): + """ + :param str region: AWS region e.g., eu-central-1 + :param str url: Base URL to Amazon Prometheus server. + """ + pulumi.set(__self__, "region", region) + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def region(self) -> str: + """ + AWS region e.g., eu-central-1 + """ + return pulumi.get(self, "region") + + @property + @pulumi.getter + def url(self) -> str: + """ + Base URL to Amazon Prometheus server. + """ + return pulumi.get(self, "url") + + +@pulumi.output_type +class AgentAppdynamicsConfig(dict): + def __init__(__self__, *, + url: str): + """ + :param str url: Base URL to the AppDynamics Controller. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> str: + """ + Base URL to the AppDynamics Controller. + """ + return pulumi.get(self, "url") + + +@pulumi.output_type +class AgentBigqueryConfig(dict): + def __init__(__self__): + pass + + +@pulumi.output_type +class AgentCloudwatchConfig(dict): + def __init__(__self__): + pass + + +@pulumi.output_type +class AgentDatadogConfig(dict): + def __init__(__self__, *, + site: str): + """ + :param str site: `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union) + """ + pulumi.set(__self__, "site", site) + + @property + @pulumi.getter + def site(self) -> str: + """ + `com` or `eu`, Datadog SaaS instance, which corresponds to one of Datadog's two locations (https://www.datadoghq.com/ in the U.S. or https://datadoghq.eu/ in the European Union) + """ + return pulumi.get(self, "site") + + +@pulumi.output_type +class AgentDynatraceConfig(dict): + def __init__(__self__, *, + url: str): + """ + :param str url: Dynatrace API URL. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> str: + """ + Dynatrace API URL. + """ + return pulumi.get(self, "url") + + +@pulumi.output_type +class AgentElasticsearchConfig(dict): + def __init__(__self__, *, + url: str): + """ + :param str url: API URL endpoint to the Elasticsearch's instance. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> str: + """ + API URL endpoint to the Elasticsearch's instance. + """ + return pulumi.get(self, "url") + + +@pulumi.output_type +class AgentGcmConfig(dict): + def __init__(__self__): + pass + + +@pulumi.output_type +class AgentGrafanaLokiConfig(dict): + def __init__(__self__, *, + url: str): + """ + :param str url: API URL endpoint to the Grafana Loki instance. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> str: + """ + API URL endpoint to the Grafana Loki instance. + """ + return pulumi.get(self, "url") + + +@pulumi.output_type +class AgentGraphiteConfig(dict): + def __init__(__self__, *, + url: str): + """ + :param str url: API URL endpoint to the Graphite's instance. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> str: + """ + API URL endpoint to the Graphite's instance. + """ + return pulumi.get(self, "url") + + +@pulumi.output_type +class AgentInfluxdbConfig(dict): + def __init__(__self__, *, + url: str): + """ + :param str url: API URL endpoint to the InfluxDB's instance. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> str: + """ + API URL endpoint to the InfluxDB's instance. + """ + return pulumi.get(self, "url") + + +@pulumi.output_type +class AgentInstanaConfig(dict): + def __init__(__self__, *, + url: str): + """ + :param str url: API URL endpoint to the InfluxDB's instance. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> str: + """ + API URL endpoint to the InfluxDB's instance. + """ + return pulumi.get(self, "url") + + +@pulumi.output_type +class AgentLightstepConfig(dict): + def __init__(__self__, *, + organization: str, + project: str): + """ + :param str organization: Organization name registered in Lightstep. + :param str project: Name of the Lightstep project. + """ + pulumi.set(__self__, "organization", organization) + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def organization(self) -> str: + """ + Organization name registered in Lightstep. + """ + return pulumi.get(self, "organization") + + @property + @pulumi.getter + def project(self) -> str: + """ + Name of the Lightstep project. + """ + return pulumi.get(self, "project") + + +@pulumi.output_type +class AgentNewrelicConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accountId": + suggest = "account_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentNewrelicConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentNewrelicConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentNewrelicConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + account_id: str): + """ + :param str account_id: ID number assigned to the New Relic user account. + """ + pulumi.set(__self__, "account_id", account_id) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> str: + """ + ID number assigned to the New Relic user account. + """ + return pulumi.get(self, "account_id") + + +@pulumi.output_type +class AgentOpentsdbConfig(dict): + def __init__(__self__, *, + url: str): + """ + :param str url: OpenTSDB cluster URL. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> str: + """ + OpenTSDB cluster URL. + """ + return pulumi.get(self, "url") + + +@pulumi.output_type +class AgentPingdomConfig(dict): + def __init__(__self__): + pass + + +@pulumi.output_type +class AgentPrometheusConfig(dict): + def __init__(__self__, *, + url: str): + """ + :param str url: Base URL to Prometheus server. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> str: + """ + Base URL to Prometheus server. + """ + return pulumi.get(self, "url") + + +@pulumi.output_type +class AgentQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class AgentRedshiftConfig(dict): + def __init__(__self__): + pass + + +@pulumi.output_type +class AgentSplunkConfig(dict): + def __init__(__self__, *, + url: str): + """ + :param str url: Base API URL to the Splunk Search app. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> str: + """ + Base API URL to the Splunk Search app. + """ + return pulumi.get(self, "url") + + +@pulumi.output_type +class AgentSplunkObservabilityConfig(dict): + def __init__(__self__, *, + realm: str): + """ + :param str realm: SplunkObservability Realm. + """ + pulumi.set(__self__, "realm", realm) + + @property + @pulumi.getter + def realm(self) -> str: + """ + SplunkObservability Realm. + """ + return pulumi.get(self, "realm") + + +@pulumi.output_type +class AgentSumologicConfig(dict): + def __init__(__self__, *, + url: str): + """ + :param str url: Sumo Logic API URL. + """ + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def url(self) -> str: + """ + Sumo Logic API URL. + """ + return pulumi.get(self, "url") + + +@pulumi.output_type +class AgentThousandeyesConfig(dict): + def __init__(__self__): + pass + + +@pulumi.output_type +class AlertPolicyAlertMethod(dict): + def __init__(__self__, *, + name: str, + project: Optional[str] = None): + """ + :param str name: The name of the previously defined alert method. + :param str project: Project name the Alert Method is in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). If not defined, Nobl9 returns a default value for this field. + """ + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the previously defined alert method. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> Optional[str]: + """ + Project name the Alert Method is in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). If not defined, Nobl9 returns a default value for this field. + """ + return pulumi.get(self, "project") + + +@pulumi.output_type +class AlertPolicyCondition(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "lastsFor": + suggest = "lasts_for" + elif key == "valueString": + suggest = "value_string" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AlertPolicyCondition. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AlertPolicyCondition.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AlertPolicyCondition.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + measurement: str, + lasts_for: Optional[str] = None, + value: Optional[float] = None, + value_string: Optional[str] = None): + """ + :param str measurement: One of `timeToBurnBudget` | `burnRate` | `burnedBudget`. + :param str lasts_for: Indicates how long a given condition needs to be valid to mark the condition as true. + :param float value: For `averageBurnRate`, it indicates how fast the error budget is burning. For `burnedBudget`, it tells how much error budget is already burned. + :param str value_string: Used with `timeToBurnBudget`, indicates when the budget would be exhausted. The expected value is a string in time duration string format. + """ + pulumi.set(__self__, "measurement", measurement) + if lasts_for is not None: + pulumi.set(__self__, "lasts_for", lasts_for) + if value is not None: + pulumi.set(__self__, "value", value) + if value_string is not None: + pulumi.set(__self__, "value_string", value_string) + + @property + @pulumi.getter + def measurement(self) -> str: + """ + One of `timeToBurnBudget` | `burnRate` | `burnedBudget`. + """ + return pulumi.get(self, "measurement") + + @property + @pulumi.getter(name="lastsFor") + def lasts_for(self) -> Optional[str]: + """ + Indicates how long a given condition needs to be valid to mark the condition as true. + """ + return pulumi.get(self, "lasts_for") + + @property + @pulumi.getter + def value(self) -> Optional[float]: + """ + For `averageBurnRate`, it indicates how fast the error budget is burning. For `burnedBudget`, it tells how much error budget is already burned. + """ + return pulumi.get(self, "value") + + @property + @pulumi.getter(name="valueString") + def value_string(self) -> Optional[str]: + """ + Used with `timeToBurnBudget`, indicates when the budget would be exhausted. The expected value is a string in time duration string format. + """ + return pulumi.get(self, "value_string") + + +@pulumi.output_type +class DirectAppdynamicsQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectBigqueryQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectCloudwatchHistoricalDataRetrieval(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultDurations": + suggest = "default_durations" + elif key == "maxDurations": + suggest = "max_durations" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DirectCloudwatchHistoricalDataRetrieval. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DirectCloudwatchHistoricalDataRetrieval.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DirectCloudwatchHistoricalDataRetrieval.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_durations: Sequence['outputs.DirectCloudwatchHistoricalDataRetrievalDefaultDuration'], + max_durations: Sequence['outputs.DirectCloudwatchHistoricalDataRetrievalMaxDuration']): + """ + :param Sequence['DirectCloudwatchHistoricalDataRetrievalDefaultDurationArgs'] default_durations: Used by default for any SLOs connected to this data source. + :param Sequence['DirectCloudwatchHistoricalDataRetrievalMaxDurationArgs'] max_durations: Defines the maximum period for which data can be retrieved. + """ + pulumi.set(__self__, "default_durations", default_durations) + pulumi.set(__self__, "max_durations", max_durations) + + @property + @pulumi.getter(name="defaultDurations") + def default_durations(self) -> Sequence['outputs.DirectCloudwatchHistoricalDataRetrievalDefaultDuration']: + """ + Used by default for any SLOs connected to this data source. + """ + return pulumi.get(self, "default_durations") + + @property + @pulumi.getter(name="maxDurations") + def max_durations(self) -> Sequence['outputs.DirectCloudwatchHistoricalDataRetrievalMaxDuration']: + """ + Defines the maximum period for which data can be retrieved. + """ + return pulumi.get(self, "max_durations") + + +@pulumi.output_type +class DirectCloudwatchHistoricalDataRetrievalDefaultDuration(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectCloudwatchHistoricalDataRetrievalMaxDuration(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectCloudwatchQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectDatadogHistoricalDataRetrieval(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultDurations": + suggest = "default_durations" + elif key == "maxDurations": + suggest = "max_durations" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DirectDatadogHistoricalDataRetrieval. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DirectDatadogHistoricalDataRetrieval.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DirectDatadogHistoricalDataRetrieval.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_durations: Sequence['outputs.DirectDatadogHistoricalDataRetrievalDefaultDuration'], + max_durations: Sequence['outputs.DirectDatadogHistoricalDataRetrievalMaxDuration']): + """ + :param Sequence['DirectDatadogHistoricalDataRetrievalDefaultDurationArgs'] default_durations: Used by default for any SLOs connected to this data source. + :param Sequence['DirectDatadogHistoricalDataRetrievalMaxDurationArgs'] max_durations: Defines the maximum period for which data can be retrieved. + """ + pulumi.set(__self__, "default_durations", default_durations) + pulumi.set(__self__, "max_durations", max_durations) + + @property + @pulumi.getter(name="defaultDurations") + def default_durations(self) -> Sequence['outputs.DirectDatadogHistoricalDataRetrievalDefaultDuration']: + """ + Used by default for any SLOs connected to this data source. + """ + return pulumi.get(self, "default_durations") + + @property + @pulumi.getter(name="maxDurations") + def max_durations(self) -> Sequence['outputs.DirectDatadogHistoricalDataRetrievalMaxDuration']: + """ + Defines the maximum period for which data can be retrieved. + """ + return pulumi.get(self, "max_durations") + + +@pulumi.output_type +class DirectDatadogHistoricalDataRetrievalDefaultDuration(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectDatadogHistoricalDataRetrievalMaxDuration(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectDatadogQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectDynatraceHistoricalDataRetrieval(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultDurations": + suggest = "default_durations" + elif key == "maxDurations": + suggest = "max_durations" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DirectDynatraceHistoricalDataRetrieval. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DirectDynatraceHistoricalDataRetrieval.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DirectDynatraceHistoricalDataRetrieval.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_durations: Sequence['outputs.DirectDynatraceHistoricalDataRetrievalDefaultDuration'], + max_durations: Sequence['outputs.DirectDynatraceHistoricalDataRetrievalMaxDuration']): + """ + :param Sequence['DirectDynatraceHistoricalDataRetrievalDefaultDurationArgs'] default_durations: Used by default for any SLOs connected to this data source. + :param Sequence['DirectDynatraceHistoricalDataRetrievalMaxDurationArgs'] max_durations: Defines the maximum period for which data can be retrieved. + """ + pulumi.set(__self__, "default_durations", default_durations) + pulumi.set(__self__, "max_durations", max_durations) + + @property + @pulumi.getter(name="defaultDurations") + def default_durations(self) -> Sequence['outputs.DirectDynatraceHistoricalDataRetrievalDefaultDuration']: + """ + Used by default for any SLOs connected to this data source. + """ + return pulumi.get(self, "default_durations") + + @property + @pulumi.getter(name="maxDurations") + def max_durations(self) -> Sequence['outputs.DirectDynatraceHistoricalDataRetrievalMaxDuration']: + """ + Defines the maximum period for which data can be retrieved. + """ + return pulumi.get(self, "max_durations") + + +@pulumi.output_type +class DirectDynatraceHistoricalDataRetrievalDefaultDuration(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectDynatraceHistoricalDataRetrievalMaxDuration(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectDynatraceQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectGcmQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectInfluxdbQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectInstanaQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectLightstepHistoricalDataRetrieval(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultDurations": + suggest = "default_durations" + elif key == "maxDurations": + suggest = "max_durations" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DirectLightstepHistoricalDataRetrieval. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DirectLightstepHistoricalDataRetrieval.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DirectLightstepHistoricalDataRetrieval.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_durations: Sequence['outputs.DirectLightstepHistoricalDataRetrievalDefaultDuration'], + max_durations: Sequence['outputs.DirectLightstepHistoricalDataRetrievalMaxDuration']): + """ + :param Sequence['DirectLightstepHistoricalDataRetrievalDefaultDurationArgs'] default_durations: Used by default for any SLOs connected to this data source. + :param Sequence['DirectLightstepHistoricalDataRetrievalMaxDurationArgs'] max_durations: Defines the maximum period for which data can be retrieved. + """ + pulumi.set(__self__, "default_durations", default_durations) + pulumi.set(__self__, "max_durations", max_durations) + + @property + @pulumi.getter(name="defaultDurations") + def default_durations(self) -> Sequence['outputs.DirectLightstepHistoricalDataRetrievalDefaultDuration']: + """ + Used by default for any SLOs connected to this data source. + """ + return pulumi.get(self, "default_durations") + + @property + @pulumi.getter(name="maxDurations") + def max_durations(self) -> Sequence['outputs.DirectLightstepHistoricalDataRetrievalMaxDuration']: + """ + Defines the maximum period for which data can be retrieved. + """ + return pulumi.get(self, "max_durations") + + +@pulumi.output_type +class DirectLightstepHistoricalDataRetrievalDefaultDuration(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectLightstepHistoricalDataRetrievalMaxDuration(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectLightstepQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectNewrelicHistoricalDataRetrieval(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultDurations": + suggest = "default_durations" + elif key == "maxDurations": + suggest = "max_durations" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DirectNewrelicHistoricalDataRetrieval. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DirectNewrelicHistoricalDataRetrieval.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DirectNewrelicHistoricalDataRetrieval.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_durations: Sequence['outputs.DirectNewrelicHistoricalDataRetrievalDefaultDuration'], + max_durations: Sequence['outputs.DirectNewrelicHistoricalDataRetrievalMaxDuration']): + """ + :param Sequence['DirectNewrelicHistoricalDataRetrievalDefaultDurationArgs'] default_durations: Used by default for any SLOs connected to this data source. + :param Sequence['DirectNewrelicHistoricalDataRetrievalMaxDurationArgs'] max_durations: Defines the maximum period for which data can be retrieved. + """ + pulumi.set(__self__, "default_durations", default_durations) + pulumi.set(__self__, "max_durations", max_durations) + + @property + @pulumi.getter(name="defaultDurations") + def default_durations(self) -> Sequence['outputs.DirectNewrelicHistoricalDataRetrievalDefaultDuration']: + """ + Used by default for any SLOs connected to this data source. + """ + return pulumi.get(self, "default_durations") + + @property + @pulumi.getter(name="maxDurations") + def max_durations(self) -> Sequence['outputs.DirectNewrelicHistoricalDataRetrievalMaxDuration']: + """ + Defines the maximum period for which data can be retrieved. + """ + return pulumi.get(self, "max_durations") + + +@pulumi.output_type +class DirectNewrelicHistoricalDataRetrievalDefaultDuration(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectNewrelicHistoricalDataRetrievalMaxDuration(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectNewrelicQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectPingdomQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectRedshiftQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectSplunkHistoricalDataRetrieval(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultDurations": + suggest = "default_durations" + elif key == "maxDurations": + suggest = "max_durations" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DirectSplunkHistoricalDataRetrieval. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DirectSplunkHistoricalDataRetrieval.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DirectSplunkHistoricalDataRetrieval.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_durations: Sequence['outputs.DirectSplunkHistoricalDataRetrievalDefaultDuration'], + max_durations: Sequence['outputs.DirectSplunkHistoricalDataRetrievalMaxDuration']): + """ + :param Sequence['DirectSplunkHistoricalDataRetrievalDefaultDurationArgs'] default_durations: Used by default for any SLOs connected to this data source. + :param Sequence['DirectSplunkHistoricalDataRetrievalMaxDurationArgs'] max_durations: Defines the maximum period for which data can be retrieved. + """ + pulumi.set(__self__, "default_durations", default_durations) + pulumi.set(__self__, "max_durations", max_durations) + + @property + @pulumi.getter(name="defaultDurations") + def default_durations(self) -> Sequence['outputs.DirectSplunkHistoricalDataRetrievalDefaultDuration']: + """ + Used by default for any SLOs connected to this data source. + """ + return pulumi.get(self, "default_durations") + + @property + @pulumi.getter(name="maxDurations") + def max_durations(self) -> Sequence['outputs.DirectSplunkHistoricalDataRetrievalMaxDuration']: + """ + Defines the maximum period for which data can be retrieved. + """ + return pulumi.get(self, "max_durations") + + +@pulumi.output_type +class DirectSplunkHistoricalDataRetrievalDefaultDuration(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectSplunkHistoricalDataRetrievalMaxDuration(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectSplunkObservabilityQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectSplunkQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectSumologicQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DirectThousandeyesQueryDelay(dict): + def __init__(__self__, *, + unit: str, + value: int): + """ + :param str unit: Must be one of Minute or Second. + :param int value: Must be an integer greater than or equal to 0. + """ + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + """ + Must be one of Minute or Second. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + """ + Must be an integer greater than or equal to 0. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class ProjectLabel(dict): + def __init__(__self__, *, + key: str, + values: Sequence[str]): + """ + :param str key: A key for the label, unique within the associated resource. + :param Sequence[str] values: A list of unique values for a single key. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + A key for the label, unique within the associated resource. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + A list of unique values for a single key. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class ServiceLabel(dict): + def __init__(__self__, *, + key: str, + values: Sequence[str]): + """ + :param str key: A key for the label, unique within the associated resource. + :param Sequence[str] values: A list of unique values for a single key. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + A key for the label, unique within the associated resource. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + A list of unique values for a single key. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class SloAttachment(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "displayName": + suggest = "display_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloAttachment. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloAttachment.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloAttachment.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + url: str, + display_name: Optional[str] = None): + """ + :param str url: URL to the attachment + :param str display_name: Name displayed for the attachment. Max. length: 63 characters. + """ + pulumi.set(__self__, "url", url) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + + @property + @pulumi.getter + def url(self) -> str: + """ + URL to the attachment + """ + return pulumi.get(self, "url") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + Name displayed for the attachment. Max. length: 63 characters. + """ + return pulumi.get(self, "display_name") + + +@pulumi.output_type +class SloComposite(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "burnRateConditions": + suggest = "burn_rate_conditions" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloComposite. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloComposite.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloComposite.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + target: float, + burn_rate_conditions: Optional[Sequence['outputs.SloCompositeBurnRateCondition']] = None): + """ + :param float target: Designated value + :param Sequence['SloCompositeBurnRateConditionArgs'] burn_rate_conditions: Condition when the Composite SLO’s error budget is burning. + """ + pulumi.set(__self__, "target", target) + if burn_rate_conditions is not None: + pulumi.set(__self__, "burn_rate_conditions", burn_rate_conditions) + + @property + @pulumi.getter + def target(self) -> float: + """ + Designated value + """ + return pulumi.get(self, "target") + + @property + @pulumi.getter(name="burnRateConditions") + def burn_rate_conditions(self) -> Optional[Sequence['outputs.SloCompositeBurnRateCondition']]: + """ + Condition when the Composite SLO’s error budget is burning. + """ + return pulumi.get(self, "burn_rate_conditions") + + +@pulumi.output_type +class SloCompositeBurnRateCondition(dict): + def __init__(__self__, *, + op: str, + value: float): + pulumi.set(__self__, "op", op) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def op(self) -> str: + return pulumi.get(self, "op") + + @property + @pulumi.getter + def value(self) -> float: + return pulumi.get(self, "value") + + +@pulumi.output_type +class SloIndicator(dict): + def __init__(__self__, *, + name: str, + kind: Optional[str] = None, + project: Optional[str] = None): + """ + :param str name: Name of the metric source (agent). + :param str kind: Kind of the metric source. One of {Agent, Direct}. + :param str project: Name of the metric source project. + """ + pulumi.set(__self__, "name", name) + if kind is not None: + pulumi.set(__self__, "kind", kind) + if project is not None: + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the metric source (agent). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def kind(self) -> Optional[str]: + """ + Kind of the metric source. One of {Agent, Direct}. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def project(self) -> Optional[str]: + """ + Name of the metric source project. + """ + return pulumi.get(self, "project") + + +@pulumi.output_type +class SloLabel(dict): + def __init__(__self__, *, + key: str, + values: Sequence[str]): + """ + :param str key: A key for the label, unique within the associated resource. + :param Sequence[str] values: A list of unique values for a single key. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + A key for the label, unique within the associated resource. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + A list of unique values for a single key. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class SloObjective(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "displayName": + suggest = "display_name" + elif key == "countMetrics": + suggest = "count_metrics" + elif key == "rawMetrics": + suggest = "raw_metrics" + elif key == "timeSliceTarget": + suggest = "time_slice_target" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjective. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjective.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjective.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + display_name: str, + target: float, + value: float, + count_metrics: Optional[Sequence['outputs.SloObjectiveCountMetric']] = None, + name: Optional[str] = None, + op: Optional[str] = None, + raw_metrics: Optional[Sequence['outputs.SloObjectiveRawMetric']] = None, + time_slice_target: Optional[float] = None): + """ + :param str display_name: Name to be displayed + :param float target: Designated value + :param float value: Value + :param Sequence['SloObjectiveCountMetricArgs'] count_metrics: Compares two time series, indicating the ratio of the count of good values to total values. + :param str name: Objective's name. This field is computed if not provided. + :param str op: Type of logical operation + :param Sequence['SloObjectiveRawMetricArgs'] raw_metrics: Raw data is used to compare objective values. + :param float time_slice_target: Designated value for slice + """ + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "target", target) + pulumi.set(__self__, "value", value) + if count_metrics is not None: + pulumi.set(__self__, "count_metrics", count_metrics) + if name is not None: + pulumi.set(__self__, "name", name) + if op is not None: + pulumi.set(__self__, "op", op) + if raw_metrics is not None: + pulumi.set(__self__, "raw_metrics", raw_metrics) + if time_slice_target is not None: + pulumi.set(__self__, "time_slice_target", time_slice_target) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + Name to be displayed + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def target(self) -> float: + """ + Designated value + """ + return pulumi.get(self, "target") + + @property + @pulumi.getter + def value(self) -> float: + """ + Value + """ + return pulumi.get(self, "value") + + @property + @pulumi.getter(name="countMetrics") + def count_metrics(self) -> Optional[Sequence['outputs.SloObjectiveCountMetric']]: + """ + Compares two time series, indicating the ratio of the count of good values to total values. + """ + return pulumi.get(self, "count_metrics") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + Objective's name. This field is computed if not provided. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def op(self) -> Optional[str]: + """ + Type of logical operation + """ + return pulumi.get(self, "op") + + @property + @pulumi.getter(name="rawMetrics") + def raw_metrics(self) -> Optional[Sequence['outputs.SloObjectiveRawMetric']]: + """ + Raw data is used to compare objective values. + """ + return pulumi.get(self, "raw_metrics") + + @property + @pulumi.getter(name="timeSliceTarget") + def time_slice_target(self) -> Optional[float]: + """ + Designated value for slice + """ + return pulumi.get(self, "time_slice_target") + + +@pulumi.output_type +class SloObjectiveCountMetric(dict): + def __init__(__self__, *, + incremental: bool, + goods: Optional[Sequence['outputs.SloObjectiveCountMetricGood']] = None, + totals: Optional[Sequence['outputs.SloObjectiveCountMetricTotal']] = None): + pulumi.set(__self__, "incremental", incremental) + if goods is not None: + pulumi.set(__self__, "goods", goods) + if totals is not None: + pulumi.set(__self__, "totals", totals) + + @property + @pulumi.getter + def incremental(self) -> bool: + return pulumi.get(self, "incremental") + + @property + @pulumi.getter + def goods(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGood']]: + return pulumi.get(self, "goods") + + @property + @pulumi.getter + def totals(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotal']]: + return pulumi.get(self, "totals") + + +@pulumi.output_type +class SloObjectiveCountMetricGood(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "amazonPrometheuses": + suggest = "amazon_prometheuses" + elif key == "grafanaLokis": + suggest = "grafana_lokis" + elif key == "splunkObservabilities": + suggest = "splunk_observabilities" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricGood. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricGood.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricGood.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + amazon_prometheuses: Optional[Sequence['outputs.SloObjectiveCountMetricGoodAmazonPrometheus']] = None, + appdynamics: Optional[Sequence['outputs.SloObjectiveCountMetricGoodAppdynamic']] = None, + bigqueries: Optional[Sequence['outputs.SloObjectiveCountMetricGoodBigquery']] = None, + cloudwatches: Optional[Sequence['outputs.SloObjectiveCountMetricGoodCloudwatch']] = None, + datadogs: Optional[Sequence['outputs.SloObjectiveCountMetricGoodDatadog']] = None, + dynatraces: Optional[Sequence['outputs.SloObjectiveCountMetricGoodDynatrace']] = None, + elasticsearches: Optional[Sequence['outputs.SloObjectiveCountMetricGoodElasticsearch']] = None, + gcms: Optional[Sequence['outputs.SloObjectiveCountMetricGoodGcm']] = None, + grafana_lokis: Optional[Sequence['outputs.SloObjectiveCountMetricGoodGrafanaLoki']] = None, + graphites: Optional[Sequence['outputs.SloObjectiveCountMetricGoodGraphite']] = None, + influxdbs: Optional[Sequence['outputs.SloObjectiveCountMetricGoodInfluxdb']] = None, + instanas: Optional[Sequence['outputs.SloObjectiveCountMetricGoodInstana']] = None, + lightsteps: Optional[Sequence['outputs.SloObjectiveCountMetricGoodLightstep']] = None, + newrelics: Optional[Sequence['outputs.SloObjectiveCountMetricGoodNewrelic']] = None, + opentsdbs: Optional[Sequence['outputs.SloObjectiveCountMetricGoodOpentsdb']] = None, + pingdoms: Optional[Sequence['outputs.SloObjectiveCountMetricGoodPingdom']] = None, + prometheuses: Optional[Sequence['outputs.SloObjectiveCountMetricGoodPrometheus']] = None, + redshifts: Optional[Sequence['outputs.SloObjectiveCountMetricGoodRedshift']] = None, + splunk_observabilities: Optional[Sequence['outputs.SloObjectiveCountMetricGoodSplunkObservability']] = None, + splunks: Optional[Sequence['outputs.SloObjectiveCountMetricGoodSplunk']] = None, + sumologics: Optional[Sequence['outputs.SloObjectiveCountMetricGoodSumologic']] = None, + thousandeyes: Optional[Sequence['outputs.SloObjectiveCountMetricGoodThousandeye']] = None): + if amazon_prometheuses is not None: + pulumi.set(__self__, "amazon_prometheuses", amazon_prometheuses) + if appdynamics is not None: + pulumi.set(__self__, "appdynamics", appdynamics) + if bigqueries is not None: + pulumi.set(__self__, "bigqueries", bigqueries) + if cloudwatches is not None: + pulumi.set(__self__, "cloudwatches", cloudwatches) + if datadogs is not None: + pulumi.set(__self__, "datadogs", datadogs) + if dynatraces is not None: + pulumi.set(__self__, "dynatraces", dynatraces) + if elasticsearches is not None: + pulumi.set(__self__, "elasticsearches", elasticsearches) + if gcms is not None: + pulumi.set(__self__, "gcms", gcms) + if grafana_lokis is not None: + pulumi.set(__self__, "grafana_lokis", grafana_lokis) + if graphites is not None: + pulumi.set(__self__, "graphites", graphites) + if influxdbs is not None: + pulumi.set(__self__, "influxdbs", influxdbs) + if instanas is not None: + pulumi.set(__self__, "instanas", instanas) + if lightsteps is not None: + pulumi.set(__self__, "lightsteps", lightsteps) + if newrelics is not None: + pulumi.set(__self__, "newrelics", newrelics) + if opentsdbs is not None: + pulumi.set(__self__, "opentsdbs", opentsdbs) + if pingdoms is not None: + pulumi.set(__self__, "pingdoms", pingdoms) + if prometheuses is not None: + pulumi.set(__self__, "prometheuses", prometheuses) + if redshifts is not None: + pulumi.set(__self__, "redshifts", redshifts) + if splunk_observabilities is not None: + pulumi.set(__self__, "splunk_observabilities", splunk_observabilities) + if splunks is not None: + pulumi.set(__self__, "splunks", splunks) + if sumologics is not None: + pulumi.set(__self__, "sumologics", sumologics) + if thousandeyes is not None: + pulumi.set(__self__, "thousandeyes", thousandeyes) + + @property + @pulumi.getter(name="amazonPrometheuses") + def amazon_prometheuses(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodAmazonPrometheus']]: + return pulumi.get(self, "amazon_prometheuses") + + @property + @pulumi.getter + def appdynamics(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodAppdynamic']]: + return pulumi.get(self, "appdynamics") + + @property + @pulumi.getter + def bigqueries(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodBigquery']]: + return pulumi.get(self, "bigqueries") + + @property + @pulumi.getter + def cloudwatches(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodCloudwatch']]: + return pulumi.get(self, "cloudwatches") + + @property + @pulumi.getter + def datadogs(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodDatadog']]: + return pulumi.get(self, "datadogs") + + @property + @pulumi.getter + def dynatraces(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodDynatrace']]: + return pulumi.get(self, "dynatraces") + + @property + @pulumi.getter + def elasticsearches(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodElasticsearch']]: + return pulumi.get(self, "elasticsearches") + + @property + @pulumi.getter + def gcms(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodGcm']]: + return pulumi.get(self, "gcms") + + @property + @pulumi.getter(name="grafanaLokis") + def grafana_lokis(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodGrafanaLoki']]: + return pulumi.get(self, "grafana_lokis") + + @property + @pulumi.getter + def graphites(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodGraphite']]: + return pulumi.get(self, "graphites") + + @property + @pulumi.getter + def influxdbs(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodInfluxdb']]: + return pulumi.get(self, "influxdbs") + + @property + @pulumi.getter + def instanas(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodInstana']]: + return pulumi.get(self, "instanas") + + @property + @pulumi.getter + def lightsteps(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodLightstep']]: + return pulumi.get(self, "lightsteps") + + @property + @pulumi.getter + def newrelics(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodNewrelic']]: + return pulumi.get(self, "newrelics") + + @property + @pulumi.getter + def opentsdbs(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodOpentsdb']]: + return pulumi.get(self, "opentsdbs") + + @property + @pulumi.getter + def pingdoms(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodPingdom']]: + return pulumi.get(self, "pingdoms") + + @property + @pulumi.getter + def prometheuses(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodPrometheus']]: + return pulumi.get(self, "prometheuses") + + @property + @pulumi.getter + def redshifts(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodRedshift']]: + return pulumi.get(self, "redshifts") + + @property + @pulumi.getter(name="splunkObservabilities") + def splunk_observabilities(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodSplunkObservability']]: + return pulumi.get(self, "splunk_observabilities") + + @property + @pulumi.getter + def splunks(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodSplunk']]: + return pulumi.get(self, "splunks") + + @property + @pulumi.getter + def sumologics(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodSumologic']]: + return pulumi.get(self, "sumologics") + + @property + @pulumi.getter + def thousandeyes(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodThousandeye']]: + return pulumi.get(self, "thousandeyes") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodAmazonPrometheus(dict): + def __init__(__self__, *, + promql: str): + pulumi.set(__self__, "promql", promql) + + @property + @pulumi.getter + def promql(self) -> str: + return pulumi.get(self, "promql") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodAppdynamic(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "applicationName": + suggest = "application_name" + elif key == "metricPath": + suggest = "metric_path" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricGoodAppdynamic. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricGoodAppdynamic.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricGoodAppdynamic.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + application_name: str, + metric_path: str): + pulumi.set(__self__, "application_name", application_name) + pulumi.set(__self__, "metric_path", metric_path) + + @property + @pulumi.getter(name="applicationName") + def application_name(self) -> str: + return pulumi.get(self, "application_name") + + @property + @pulumi.getter(name="metricPath") + def metric_path(self) -> str: + return pulumi.get(self, "metric_path") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodBigquery(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "projectId": + suggest = "project_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricGoodBigquery. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricGoodBigquery.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricGoodBigquery.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + location: str, + project_id: str, + query: str): + pulumi.set(__self__, "location", location) + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def location(self) -> str: + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + return pulumi.get(self, "project_id") + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodCloudwatch(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricName": + suggest = "metric_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricGoodCloudwatch. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricGoodCloudwatch.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricGoodCloudwatch.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + region: str, + dimensions: Optional[Sequence['outputs.SloObjectiveCountMetricGoodCloudwatchDimension']] = None, + json: Optional[str] = None, + metric_name: Optional[str] = None, + namespace: Optional[str] = None, + sql: Optional[str] = None, + stat: Optional[str] = None): + pulumi.set(__self__, "region", region) + if dimensions is not None: + pulumi.set(__self__, "dimensions", dimensions) + if json is not None: + pulumi.set(__self__, "json", json) + if metric_name is not None: + pulumi.set(__self__, "metric_name", metric_name) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if sql is not None: + pulumi.set(__self__, "sql", sql) + if stat is not None: + pulumi.set(__self__, "stat", stat) + + @property + @pulumi.getter + def region(self) -> str: + return pulumi.get(self, "region") + + @property + @pulumi.getter + def dimensions(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodCloudwatchDimension']]: + return pulumi.get(self, "dimensions") + + @property + @pulumi.getter + def json(self) -> Optional[str]: + return pulumi.get(self, "json") + + @property + @pulumi.getter(name="metricName") + def metric_name(self) -> Optional[str]: + return pulumi.get(self, "metric_name") + + @property + @pulumi.getter + def namespace(self) -> Optional[str]: + return pulumi.get(self, "namespace") + + @property + @pulumi.getter + def sql(self) -> Optional[str]: + return pulumi.get(self, "sql") + + @property + @pulumi.getter + def stat(self) -> Optional[str]: + return pulumi.get(self, "stat") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodCloudwatchDimension(dict): + def __init__(__self__, *, + name: str, + value: str): + """ + :param str name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> str: + return pulumi.get(self, "value") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodDatadog(dict): + def __init__(__self__, *, + query: str): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodDynatrace(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricSelector": + suggest = "metric_selector" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricGoodDynatrace. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricGoodDynatrace.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricGoodDynatrace.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_selector: str): + pulumi.set(__self__, "metric_selector", metric_selector) + + @property + @pulumi.getter(name="metricSelector") + def metric_selector(self) -> str: + return pulumi.get(self, "metric_selector") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodElasticsearch(dict): + def __init__(__self__, *, + index: str, + query: str): + pulumi.set(__self__, "index", index) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def index(self) -> str: + return pulumi.get(self, "index") + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodGcm(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "projectId": + suggest = "project_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricGoodGcm. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricGoodGcm.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricGoodGcm.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + project_id: str, + query: str): + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + return pulumi.get(self, "project_id") + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodGrafanaLoki(dict): + def __init__(__self__, *, + logql: str): + pulumi.set(__self__, "logql", logql) + + @property + @pulumi.getter + def logql(self) -> str: + return pulumi.get(self, "logql") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodGraphite(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricPath": + suggest = "metric_path" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricGoodGraphite. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricGoodGraphite.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricGoodGraphite.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_path: str): + pulumi.set(__self__, "metric_path", metric_path) + + @property + @pulumi.getter(name="metricPath") + def metric_path(self) -> str: + return pulumi.get(self, "metric_path") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodInfluxdb(dict): + def __init__(__self__, *, + query: str): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodInstana(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricType": + suggest = "metric_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricGoodInstana. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricGoodInstana.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricGoodInstana.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_type: str, + applications: Optional[Sequence['outputs.SloObjectiveCountMetricGoodInstanaApplication']] = None, + infrastructures: Optional[Sequence['outputs.SloObjectiveCountMetricGoodInstanaInfrastructure']] = None): + pulumi.set(__self__, "metric_type", metric_type) + if applications is not None: + pulumi.set(__self__, "applications", applications) + if infrastructures is not None: + pulumi.set(__self__, "infrastructures", infrastructures) + + @property + @pulumi.getter(name="metricType") + def metric_type(self) -> str: + return pulumi.get(self, "metric_type") + + @property + @pulumi.getter + def applications(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodInstanaApplication']]: + return pulumi.get(self, "applications") + + @property + @pulumi.getter + def infrastructures(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricGoodInstanaInfrastructure']]: + return pulumi.get(self, "infrastructures") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodInstanaApplication(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "apiQuery": + suggest = "api_query" + elif key == "groupBies": + suggest = "group_bies" + elif key == "metricId": + suggest = "metric_id" + elif key == "includeInternal": + suggest = "include_internal" + elif key == "includeSynthetic": + suggest = "include_synthetic" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricGoodInstanaApplication. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricGoodInstanaApplication.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricGoodInstanaApplication.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + aggregation: str, + api_query: str, + group_bies: Sequence['outputs.SloObjectiveCountMetricGoodInstanaApplicationGroupBy'], + metric_id: str, + include_internal: Optional[bool] = None, + include_synthetic: Optional[bool] = None): + pulumi.set(__self__, "aggregation", aggregation) + pulumi.set(__self__, "api_query", api_query) + pulumi.set(__self__, "group_bies", group_bies) + pulumi.set(__self__, "metric_id", metric_id) + if include_internal is not None: + pulumi.set(__self__, "include_internal", include_internal) + if include_synthetic is not None: + pulumi.set(__self__, "include_synthetic", include_synthetic) + + @property + @pulumi.getter + def aggregation(self) -> str: + return pulumi.get(self, "aggregation") + + @property + @pulumi.getter(name="apiQuery") + def api_query(self) -> str: + return pulumi.get(self, "api_query") + + @property + @pulumi.getter(name="groupBies") + def group_bies(self) -> Sequence['outputs.SloObjectiveCountMetricGoodInstanaApplicationGroupBy']: + return pulumi.get(self, "group_bies") + + @property + @pulumi.getter(name="metricId") + def metric_id(self) -> str: + return pulumi.get(self, "metric_id") + + @property + @pulumi.getter(name="includeInternal") + def include_internal(self) -> Optional[bool]: + return pulumi.get(self, "include_internal") + + @property + @pulumi.getter(name="includeSynthetic") + def include_synthetic(self) -> Optional[bool]: + return pulumi.get(self, "include_synthetic") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodInstanaApplicationGroupBy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "tagEntity": + suggest = "tag_entity" + elif key == "tagSecondLevelKey": + suggest = "tag_second_level_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricGoodInstanaApplicationGroupBy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricGoodInstanaApplicationGroupBy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricGoodInstanaApplicationGroupBy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + tag: str, + tag_entity: str, + tag_second_level_key: Optional[str] = None): + pulumi.set(__self__, "tag", tag) + pulumi.set(__self__, "tag_entity", tag_entity) + if tag_second_level_key is not None: + pulumi.set(__self__, "tag_second_level_key", tag_second_level_key) + + @property + @pulumi.getter + def tag(self) -> str: + return pulumi.get(self, "tag") + + @property + @pulumi.getter(name="tagEntity") + def tag_entity(self) -> str: + return pulumi.get(self, "tag_entity") + + @property + @pulumi.getter(name="tagSecondLevelKey") + def tag_second_level_key(self) -> Optional[str]: + return pulumi.get(self, "tag_second_level_key") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodInstanaInfrastructure(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricId": + suggest = "metric_id" + elif key == "metricRetrievalMethod": + suggest = "metric_retrieval_method" + elif key == "pluginId": + suggest = "plugin_id" + elif key == "snapshotId": + suggest = "snapshot_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricGoodInstanaInfrastructure. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricGoodInstanaInfrastructure.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricGoodInstanaInfrastructure.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_id: str, + metric_retrieval_method: str, + plugin_id: str, + query: Optional[str] = None, + snapshot_id: Optional[str] = None): + pulumi.set(__self__, "metric_id", metric_id) + pulumi.set(__self__, "metric_retrieval_method", metric_retrieval_method) + pulumi.set(__self__, "plugin_id", plugin_id) + if query is not None: + pulumi.set(__self__, "query", query) + if snapshot_id is not None: + pulumi.set(__self__, "snapshot_id", snapshot_id) + + @property + @pulumi.getter(name="metricId") + def metric_id(self) -> str: + return pulumi.get(self, "metric_id") + + @property + @pulumi.getter(name="metricRetrievalMethod") + def metric_retrieval_method(self) -> str: + return pulumi.get(self, "metric_retrieval_method") + + @property + @pulumi.getter(name="pluginId") + def plugin_id(self) -> str: + return pulumi.get(self, "plugin_id") + + @property + @pulumi.getter + def query(self) -> Optional[str]: + return pulumi.get(self, "query") + + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> Optional[str]: + return pulumi.get(self, "snapshot_id") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodLightstep(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "typeOfData": + suggest = "type_of_data" + elif key == "streamId": + suggest = "stream_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricGoodLightstep. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricGoodLightstep.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricGoodLightstep.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type_of_data: str, + percentile: Optional[float] = None, + stream_id: Optional[str] = None, + uql: Optional[str] = None): + pulumi.set(__self__, "type_of_data", type_of_data) + if percentile is not None: + pulumi.set(__self__, "percentile", percentile) + if stream_id is not None: + pulumi.set(__self__, "stream_id", stream_id) + if uql is not None: + pulumi.set(__self__, "uql", uql) + + @property + @pulumi.getter(name="typeOfData") + def type_of_data(self) -> str: + return pulumi.get(self, "type_of_data") + + @property + @pulumi.getter + def percentile(self) -> Optional[float]: + return pulumi.get(self, "percentile") + + @property + @pulumi.getter(name="streamId") + def stream_id(self) -> Optional[str]: + return pulumi.get(self, "stream_id") + + @property + @pulumi.getter + def uql(self) -> Optional[str]: + return pulumi.get(self, "uql") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodNewrelic(dict): + def __init__(__self__, *, + nrql: str): + pulumi.set(__self__, "nrql", nrql) + + @property + @pulumi.getter + def nrql(self) -> str: + return pulumi.get(self, "nrql") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodOpentsdb(dict): + def __init__(__self__, *, + query: str): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodPingdom(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "checkId": + suggest = "check_id" + elif key == "checkType": + suggest = "check_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricGoodPingdom. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricGoodPingdom.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricGoodPingdom.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + check_id: str, + check_type: Optional[str] = None, + status: Optional[str] = None): + pulumi.set(__self__, "check_id", check_id) + if check_type is not None: + pulumi.set(__self__, "check_type", check_type) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="checkId") + def check_id(self) -> str: + return pulumi.get(self, "check_id") + + @property + @pulumi.getter(name="checkType") + def check_type(self) -> Optional[str]: + return pulumi.get(self, "check_type") + + @property + @pulumi.getter + def status(self) -> Optional[str]: + return pulumi.get(self, "status") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodPrometheus(dict): + def __init__(__self__, *, + promql: str): + pulumi.set(__self__, "promql", promql) + + @property + @pulumi.getter + def promql(self) -> str: + return pulumi.get(self, "promql") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodRedshift(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clusterId": + suggest = "cluster_id" + elif key == "databaseName": + suggest = "database_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricGoodRedshift. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricGoodRedshift.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricGoodRedshift.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cluster_id: str, + database_name: str, + query: str, + region: str): + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "database_name", database_name) + pulumi.set(__self__, "query", query) + pulumi.set(__self__, "region", region) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> str: + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> str: + return pulumi.get(self, "database_name") + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + @property + @pulumi.getter + def region(self) -> str: + return pulumi.get(self, "region") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodSplunk(dict): + def __init__(__self__, *, + query: str): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodSplunkObservability(dict): + def __init__(__self__, *, + program: str): + pulumi.set(__self__, "program", program) + + @property + @pulumi.getter + def program(self) -> str: + return pulumi.get(self, "program") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodSumologic(dict): + def __init__(__self__, *, + query: str, + type: str, + quantization: Optional[str] = None, + rollup: Optional[str] = None): + pulumi.set(__self__, "query", query) + pulumi.set(__self__, "type", type) + if quantization is not None: + pulumi.set(__self__, "quantization", quantization) + if rollup is not None: + pulumi.set(__self__, "rollup", rollup) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @property + @pulumi.getter + def quantization(self) -> Optional[str]: + return pulumi.get(self, "quantization") + + @property + @pulumi.getter + def rollup(self) -> Optional[str]: + return pulumi.get(self, "rollup") + + +@pulumi.output_type +class SloObjectiveCountMetricGoodThousandeye(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "testId": + suggest = "test_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricGoodThousandeye. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricGoodThousandeye.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricGoodThousandeye.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + test_id: int): + pulumi.set(__self__, "test_id", test_id) + + @property + @pulumi.getter(name="testId") + def test_id(self) -> int: + return pulumi.get(self, "test_id") + + +@pulumi.output_type +class SloObjectiveCountMetricTotal(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "amazonPrometheuses": + suggest = "amazon_prometheuses" + elif key == "grafanaLokis": + suggest = "grafana_lokis" + elif key == "splunkObservabilities": + suggest = "splunk_observabilities" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricTotal. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricTotal.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricTotal.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + amazon_prometheuses: Optional[Sequence['outputs.SloObjectiveCountMetricTotalAmazonPrometheus']] = None, + appdynamics: Optional[Sequence['outputs.SloObjectiveCountMetricTotalAppdynamic']] = None, + bigqueries: Optional[Sequence['outputs.SloObjectiveCountMetricTotalBigquery']] = None, + cloudwatches: Optional[Sequence['outputs.SloObjectiveCountMetricTotalCloudwatch']] = None, + datadogs: Optional[Sequence['outputs.SloObjectiveCountMetricTotalDatadog']] = None, + dynatraces: Optional[Sequence['outputs.SloObjectiveCountMetricTotalDynatrace']] = None, + elasticsearches: Optional[Sequence['outputs.SloObjectiveCountMetricTotalElasticsearch']] = None, + gcms: Optional[Sequence['outputs.SloObjectiveCountMetricTotalGcm']] = None, + grafana_lokis: Optional[Sequence['outputs.SloObjectiveCountMetricTotalGrafanaLoki']] = None, + graphites: Optional[Sequence['outputs.SloObjectiveCountMetricTotalGraphite']] = None, + influxdbs: Optional[Sequence['outputs.SloObjectiveCountMetricTotalInfluxdb']] = None, + instanas: Optional[Sequence['outputs.SloObjectiveCountMetricTotalInstana']] = None, + lightsteps: Optional[Sequence['outputs.SloObjectiveCountMetricTotalLightstep']] = None, + newrelics: Optional[Sequence['outputs.SloObjectiveCountMetricTotalNewrelic']] = None, + opentsdbs: Optional[Sequence['outputs.SloObjectiveCountMetricTotalOpentsdb']] = None, + pingdoms: Optional[Sequence['outputs.SloObjectiveCountMetricTotalPingdom']] = None, + prometheuses: Optional[Sequence['outputs.SloObjectiveCountMetricTotalPrometheus']] = None, + redshifts: Optional[Sequence['outputs.SloObjectiveCountMetricTotalRedshift']] = None, + splunk_observabilities: Optional[Sequence['outputs.SloObjectiveCountMetricTotalSplunkObservability']] = None, + splunks: Optional[Sequence['outputs.SloObjectiveCountMetricTotalSplunk']] = None, + sumologics: Optional[Sequence['outputs.SloObjectiveCountMetricTotalSumologic']] = None, + thousandeyes: Optional[Sequence['outputs.SloObjectiveCountMetricTotalThousandeye']] = None): + if amazon_prometheuses is not None: + pulumi.set(__self__, "amazon_prometheuses", amazon_prometheuses) + if appdynamics is not None: + pulumi.set(__self__, "appdynamics", appdynamics) + if bigqueries is not None: + pulumi.set(__self__, "bigqueries", bigqueries) + if cloudwatches is not None: + pulumi.set(__self__, "cloudwatches", cloudwatches) + if datadogs is not None: + pulumi.set(__self__, "datadogs", datadogs) + if dynatraces is not None: + pulumi.set(__self__, "dynatraces", dynatraces) + if elasticsearches is not None: + pulumi.set(__self__, "elasticsearches", elasticsearches) + if gcms is not None: + pulumi.set(__self__, "gcms", gcms) + if grafana_lokis is not None: + pulumi.set(__self__, "grafana_lokis", grafana_lokis) + if graphites is not None: + pulumi.set(__self__, "graphites", graphites) + if influxdbs is not None: + pulumi.set(__self__, "influxdbs", influxdbs) + if instanas is not None: + pulumi.set(__self__, "instanas", instanas) + if lightsteps is not None: + pulumi.set(__self__, "lightsteps", lightsteps) + if newrelics is not None: + pulumi.set(__self__, "newrelics", newrelics) + if opentsdbs is not None: + pulumi.set(__self__, "opentsdbs", opentsdbs) + if pingdoms is not None: + pulumi.set(__self__, "pingdoms", pingdoms) + if prometheuses is not None: + pulumi.set(__self__, "prometheuses", prometheuses) + if redshifts is not None: + pulumi.set(__self__, "redshifts", redshifts) + if splunk_observabilities is not None: + pulumi.set(__self__, "splunk_observabilities", splunk_observabilities) + if splunks is not None: + pulumi.set(__self__, "splunks", splunks) + if sumologics is not None: + pulumi.set(__self__, "sumologics", sumologics) + if thousandeyes is not None: + pulumi.set(__self__, "thousandeyes", thousandeyes) + + @property + @pulumi.getter(name="amazonPrometheuses") + def amazon_prometheuses(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalAmazonPrometheus']]: + return pulumi.get(self, "amazon_prometheuses") + + @property + @pulumi.getter + def appdynamics(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalAppdynamic']]: + return pulumi.get(self, "appdynamics") + + @property + @pulumi.getter + def bigqueries(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalBigquery']]: + return pulumi.get(self, "bigqueries") + + @property + @pulumi.getter + def cloudwatches(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalCloudwatch']]: + return pulumi.get(self, "cloudwatches") + + @property + @pulumi.getter + def datadogs(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalDatadog']]: + return pulumi.get(self, "datadogs") + + @property + @pulumi.getter + def dynatraces(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalDynatrace']]: + return pulumi.get(self, "dynatraces") + + @property + @pulumi.getter + def elasticsearches(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalElasticsearch']]: + return pulumi.get(self, "elasticsearches") + + @property + @pulumi.getter + def gcms(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalGcm']]: + return pulumi.get(self, "gcms") + + @property + @pulumi.getter(name="grafanaLokis") + def grafana_lokis(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalGrafanaLoki']]: + return pulumi.get(self, "grafana_lokis") + + @property + @pulumi.getter + def graphites(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalGraphite']]: + return pulumi.get(self, "graphites") + + @property + @pulumi.getter + def influxdbs(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalInfluxdb']]: + return pulumi.get(self, "influxdbs") + + @property + @pulumi.getter + def instanas(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalInstana']]: + return pulumi.get(self, "instanas") + + @property + @pulumi.getter + def lightsteps(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalLightstep']]: + return pulumi.get(self, "lightsteps") + + @property + @pulumi.getter + def newrelics(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalNewrelic']]: + return pulumi.get(self, "newrelics") + + @property + @pulumi.getter + def opentsdbs(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalOpentsdb']]: + return pulumi.get(self, "opentsdbs") + + @property + @pulumi.getter + def pingdoms(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalPingdom']]: + return pulumi.get(self, "pingdoms") + + @property + @pulumi.getter + def prometheuses(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalPrometheus']]: + return pulumi.get(self, "prometheuses") + + @property + @pulumi.getter + def redshifts(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalRedshift']]: + return pulumi.get(self, "redshifts") + + @property + @pulumi.getter(name="splunkObservabilities") + def splunk_observabilities(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalSplunkObservability']]: + return pulumi.get(self, "splunk_observabilities") + + @property + @pulumi.getter + def splunks(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalSplunk']]: + return pulumi.get(self, "splunks") + + @property + @pulumi.getter + def sumologics(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalSumologic']]: + return pulumi.get(self, "sumologics") + + @property + @pulumi.getter + def thousandeyes(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalThousandeye']]: + return pulumi.get(self, "thousandeyes") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalAmazonPrometheus(dict): + def __init__(__self__, *, + promql: str): + pulumi.set(__self__, "promql", promql) + + @property + @pulumi.getter + def promql(self) -> str: + return pulumi.get(self, "promql") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalAppdynamic(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "applicationName": + suggest = "application_name" + elif key == "metricPath": + suggest = "metric_path" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricTotalAppdynamic. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricTotalAppdynamic.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricTotalAppdynamic.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + application_name: str, + metric_path: str): + pulumi.set(__self__, "application_name", application_name) + pulumi.set(__self__, "metric_path", metric_path) + + @property + @pulumi.getter(name="applicationName") + def application_name(self) -> str: + return pulumi.get(self, "application_name") + + @property + @pulumi.getter(name="metricPath") + def metric_path(self) -> str: + return pulumi.get(self, "metric_path") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalBigquery(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "projectId": + suggest = "project_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricTotalBigquery. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricTotalBigquery.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricTotalBigquery.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + location: str, + project_id: str, + query: str): + pulumi.set(__self__, "location", location) + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def location(self) -> str: + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + return pulumi.get(self, "project_id") + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalCloudwatch(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricName": + suggest = "metric_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricTotalCloudwatch. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricTotalCloudwatch.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricTotalCloudwatch.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + region: str, + dimensions: Optional[Sequence['outputs.SloObjectiveCountMetricTotalCloudwatchDimension']] = None, + json: Optional[str] = None, + metric_name: Optional[str] = None, + namespace: Optional[str] = None, + sql: Optional[str] = None, + stat: Optional[str] = None): + pulumi.set(__self__, "region", region) + if dimensions is not None: + pulumi.set(__self__, "dimensions", dimensions) + if json is not None: + pulumi.set(__self__, "json", json) + if metric_name is not None: + pulumi.set(__self__, "metric_name", metric_name) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if sql is not None: + pulumi.set(__self__, "sql", sql) + if stat is not None: + pulumi.set(__self__, "stat", stat) + + @property + @pulumi.getter + def region(self) -> str: + return pulumi.get(self, "region") + + @property + @pulumi.getter + def dimensions(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalCloudwatchDimension']]: + return pulumi.get(self, "dimensions") + + @property + @pulumi.getter + def json(self) -> Optional[str]: + return pulumi.get(self, "json") + + @property + @pulumi.getter(name="metricName") + def metric_name(self) -> Optional[str]: + return pulumi.get(self, "metric_name") + + @property + @pulumi.getter + def namespace(self) -> Optional[str]: + return pulumi.get(self, "namespace") + + @property + @pulumi.getter + def sql(self) -> Optional[str]: + return pulumi.get(self, "sql") + + @property + @pulumi.getter + def stat(self) -> Optional[str]: + return pulumi.get(self, "stat") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalCloudwatchDimension(dict): + def __init__(__self__, *, + name: str, + value: str): + """ + :param str name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> str: + return pulumi.get(self, "value") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalDatadog(dict): + def __init__(__self__, *, + query: str): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalDynatrace(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricSelector": + suggest = "metric_selector" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricTotalDynatrace. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricTotalDynatrace.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricTotalDynatrace.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_selector: str): + pulumi.set(__self__, "metric_selector", metric_selector) + + @property + @pulumi.getter(name="metricSelector") + def metric_selector(self) -> str: + return pulumi.get(self, "metric_selector") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalElasticsearch(dict): + def __init__(__self__, *, + index: str, + query: str): + pulumi.set(__self__, "index", index) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def index(self) -> str: + return pulumi.get(self, "index") + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalGcm(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "projectId": + suggest = "project_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricTotalGcm. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricTotalGcm.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricTotalGcm.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + project_id: str, + query: str): + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + return pulumi.get(self, "project_id") + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalGrafanaLoki(dict): + def __init__(__self__, *, + logql: str): + pulumi.set(__self__, "logql", logql) + + @property + @pulumi.getter + def logql(self) -> str: + return pulumi.get(self, "logql") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalGraphite(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricPath": + suggest = "metric_path" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricTotalGraphite. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricTotalGraphite.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricTotalGraphite.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_path: str): + pulumi.set(__self__, "metric_path", metric_path) + + @property + @pulumi.getter(name="metricPath") + def metric_path(self) -> str: + return pulumi.get(self, "metric_path") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalInfluxdb(dict): + def __init__(__self__, *, + query: str): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalInstana(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricType": + suggest = "metric_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricTotalInstana. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricTotalInstana.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricTotalInstana.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_type: str, + applications: Optional[Sequence['outputs.SloObjectiveCountMetricTotalInstanaApplication']] = None, + infrastructures: Optional[Sequence['outputs.SloObjectiveCountMetricTotalInstanaInfrastructure']] = None): + pulumi.set(__self__, "metric_type", metric_type) + if applications is not None: + pulumi.set(__self__, "applications", applications) + if infrastructures is not None: + pulumi.set(__self__, "infrastructures", infrastructures) + + @property + @pulumi.getter(name="metricType") + def metric_type(self) -> str: + return pulumi.get(self, "metric_type") + + @property + @pulumi.getter + def applications(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalInstanaApplication']]: + return pulumi.get(self, "applications") + + @property + @pulumi.getter + def infrastructures(self) -> Optional[Sequence['outputs.SloObjectiveCountMetricTotalInstanaInfrastructure']]: + return pulumi.get(self, "infrastructures") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalInstanaApplication(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "apiQuery": + suggest = "api_query" + elif key == "groupBies": + suggest = "group_bies" + elif key == "metricId": + suggest = "metric_id" + elif key == "includeInternal": + suggest = "include_internal" + elif key == "includeSynthetic": + suggest = "include_synthetic" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricTotalInstanaApplication. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricTotalInstanaApplication.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricTotalInstanaApplication.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + aggregation: str, + api_query: str, + group_bies: Sequence['outputs.SloObjectiveCountMetricTotalInstanaApplicationGroupBy'], + metric_id: str, + include_internal: Optional[bool] = None, + include_synthetic: Optional[bool] = None): + pulumi.set(__self__, "aggregation", aggregation) + pulumi.set(__self__, "api_query", api_query) + pulumi.set(__self__, "group_bies", group_bies) + pulumi.set(__self__, "metric_id", metric_id) + if include_internal is not None: + pulumi.set(__self__, "include_internal", include_internal) + if include_synthetic is not None: + pulumi.set(__self__, "include_synthetic", include_synthetic) + + @property + @pulumi.getter + def aggregation(self) -> str: + return pulumi.get(self, "aggregation") + + @property + @pulumi.getter(name="apiQuery") + def api_query(self) -> str: + return pulumi.get(self, "api_query") + + @property + @pulumi.getter(name="groupBies") + def group_bies(self) -> Sequence['outputs.SloObjectiveCountMetricTotalInstanaApplicationGroupBy']: + return pulumi.get(self, "group_bies") + + @property + @pulumi.getter(name="metricId") + def metric_id(self) -> str: + return pulumi.get(self, "metric_id") + + @property + @pulumi.getter(name="includeInternal") + def include_internal(self) -> Optional[bool]: + return pulumi.get(self, "include_internal") + + @property + @pulumi.getter(name="includeSynthetic") + def include_synthetic(self) -> Optional[bool]: + return pulumi.get(self, "include_synthetic") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalInstanaApplicationGroupBy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "tagEntity": + suggest = "tag_entity" + elif key == "tagSecondLevelKey": + suggest = "tag_second_level_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricTotalInstanaApplicationGroupBy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricTotalInstanaApplicationGroupBy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricTotalInstanaApplicationGroupBy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + tag: str, + tag_entity: str, + tag_second_level_key: Optional[str] = None): + pulumi.set(__self__, "tag", tag) + pulumi.set(__self__, "tag_entity", tag_entity) + if tag_second_level_key is not None: + pulumi.set(__self__, "tag_second_level_key", tag_second_level_key) + + @property + @pulumi.getter + def tag(self) -> str: + return pulumi.get(self, "tag") + + @property + @pulumi.getter(name="tagEntity") + def tag_entity(self) -> str: + return pulumi.get(self, "tag_entity") + + @property + @pulumi.getter(name="tagSecondLevelKey") + def tag_second_level_key(self) -> Optional[str]: + return pulumi.get(self, "tag_second_level_key") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalInstanaInfrastructure(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricId": + suggest = "metric_id" + elif key == "metricRetrievalMethod": + suggest = "metric_retrieval_method" + elif key == "pluginId": + suggest = "plugin_id" + elif key == "snapshotId": + suggest = "snapshot_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricTotalInstanaInfrastructure. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricTotalInstanaInfrastructure.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricTotalInstanaInfrastructure.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_id: str, + metric_retrieval_method: str, + plugin_id: str, + query: Optional[str] = None, + snapshot_id: Optional[str] = None): + pulumi.set(__self__, "metric_id", metric_id) + pulumi.set(__self__, "metric_retrieval_method", metric_retrieval_method) + pulumi.set(__self__, "plugin_id", plugin_id) + if query is not None: + pulumi.set(__self__, "query", query) + if snapshot_id is not None: + pulumi.set(__self__, "snapshot_id", snapshot_id) + + @property + @pulumi.getter(name="metricId") + def metric_id(self) -> str: + return pulumi.get(self, "metric_id") + + @property + @pulumi.getter(name="metricRetrievalMethod") + def metric_retrieval_method(self) -> str: + return pulumi.get(self, "metric_retrieval_method") + + @property + @pulumi.getter(name="pluginId") + def plugin_id(self) -> str: + return pulumi.get(self, "plugin_id") + + @property + @pulumi.getter + def query(self) -> Optional[str]: + return pulumi.get(self, "query") + + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> Optional[str]: + return pulumi.get(self, "snapshot_id") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalLightstep(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "typeOfData": + suggest = "type_of_data" + elif key == "streamId": + suggest = "stream_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricTotalLightstep. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricTotalLightstep.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricTotalLightstep.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type_of_data: str, + percentile: Optional[float] = None, + stream_id: Optional[str] = None, + uql: Optional[str] = None): + pulumi.set(__self__, "type_of_data", type_of_data) + if percentile is not None: + pulumi.set(__self__, "percentile", percentile) + if stream_id is not None: + pulumi.set(__self__, "stream_id", stream_id) + if uql is not None: + pulumi.set(__self__, "uql", uql) + + @property + @pulumi.getter(name="typeOfData") + def type_of_data(self) -> str: + return pulumi.get(self, "type_of_data") + + @property + @pulumi.getter + def percentile(self) -> Optional[float]: + return pulumi.get(self, "percentile") + + @property + @pulumi.getter(name="streamId") + def stream_id(self) -> Optional[str]: + return pulumi.get(self, "stream_id") + + @property + @pulumi.getter + def uql(self) -> Optional[str]: + return pulumi.get(self, "uql") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalNewrelic(dict): + def __init__(__self__, *, + nrql: str): + pulumi.set(__self__, "nrql", nrql) + + @property + @pulumi.getter + def nrql(self) -> str: + return pulumi.get(self, "nrql") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalOpentsdb(dict): + def __init__(__self__, *, + query: str): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalPingdom(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "checkId": + suggest = "check_id" + elif key == "checkType": + suggest = "check_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricTotalPingdom. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricTotalPingdom.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricTotalPingdom.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + check_id: str, + check_type: Optional[str] = None, + status: Optional[str] = None): + pulumi.set(__self__, "check_id", check_id) + if check_type is not None: + pulumi.set(__self__, "check_type", check_type) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="checkId") + def check_id(self) -> str: + return pulumi.get(self, "check_id") + + @property + @pulumi.getter(name="checkType") + def check_type(self) -> Optional[str]: + return pulumi.get(self, "check_type") + + @property + @pulumi.getter + def status(self) -> Optional[str]: + return pulumi.get(self, "status") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalPrometheus(dict): + def __init__(__self__, *, + promql: str): + pulumi.set(__self__, "promql", promql) + + @property + @pulumi.getter + def promql(self) -> str: + return pulumi.get(self, "promql") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalRedshift(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clusterId": + suggest = "cluster_id" + elif key == "databaseName": + suggest = "database_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricTotalRedshift. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricTotalRedshift.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricTotalRedshift.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cluster_id: str, + database_name: str, + query: str, + region: str): + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "database_name", database_name) + pulumi.set(__self__, "query", query) + pulumi.set(__self__, "region", region) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> str: + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> str: + return pulumi.get(self, "database_name") + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + @property + @pulumi.getter + def region(self) -> str: + return pulumi.get(self, "region") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalSplunk(dict): + def __init__(__self__, *, + query: str): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalSplunkObservability(dict): + def __init__(__self__, *, + program: str): + pulumi.set(__self__, "program", program) + + @property + @pulumi.getter + def program(self) -> str: + return pulumi.get(self, "program") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalSumologic(dict): + def __init__(__self__, *, + query: str, + type: str, + quantization: Optional[str] = None, + rollup: Optional[str] = None): + pulumi.set(__self__, "query", query) + pulumi.set(__self__, "type", type) + if quantization is not None: + pulumi.set(__self__, "quantization", quantization) + if rollup is not None: + pulumi.set(__self__, "rollup", rollup) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @property + @pulumi.getter + def quantization(self) -> Optional[str]: + return pulumi.get(self, "quantization") + + @property + @pulumi.getter + def rollup(self) -> Optional[str]: + return pulumi.get(self, "rollup") + + +@pulumi.output_type +class SloObjectiveCountMetricTotalThousandeye(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "testId": + suggest = "test_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveCountMetricTotalThousandeye. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveCountMetricTotalThousandeye.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveCountMetricTotalThousandeye.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + test_id: int): + pulumi.set(__self__, "test_id", test_id) + + @property + @pulumi.getter(name="testId") + def test_id(self) -> int: + return pulumi.get(self, "test_id") + + +@pulumi.output_type +class SloObjectiveRawMetric(dict): + def __init__(__self__, *, + queries: Optional[Sequence['outputs.SloObjectiveRawMetricQuery']] = None): + if queries is not None: + pulumi.set(__self__, "queries", queries) + + @property + @pulumi.getter + def queries(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQuery']]: + return pulumi.get(self, "queries") + + +@pulumi.output_type +class SloObjectiveRawMetricQuery(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "amazonPrometheuses": + suggest = "amazon_prometheuses" + elif key == "grafanaLokis": + suggest = "grafana_lokis" + elif key == "splunkObservabilities": + suggest = "splunk_observabilities" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveRawMetricQuery. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveRawMetricQuery.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveRawMetricQuery.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + amazon_prometheuses: Optional[Sequence['outputs.SloObjectiveRawMetricQueryAmazonPrometheus']] = None, + appdynamics: Optional[Sequence['outputs.SloObjectiveRawMetricQueryAppdynamic']] = None, + bigqueries: Optional[Sequence['outputs.SloObjectiveRawMetricQueryBigquery']] = None, + cloudwatches: Optional[Sequence['outputs.SloObjectiveRawMetricQueryCloudwatch']] = None, + datadogs: Optional[Sequence['outputs.SloObjectiveRawMetricQueryDatadog']] = None, + dynatraces: Optional[Sequence['outputs.SloObjectiveRawMetricQueryDynatrace']] = None, + elasticsearches: Optional[Sequence['outputs.SloObjectiveRawMetricQueryElasticsearch']] = None, + gcms: Optional[Sequence['outputs.SloObjectiveRawMetricQueryGcm']] = None, + grafana_lokis: Optional[Sequence['outputs.SloObjectiveRawMetricQueryGrafanaLoki']] = None, + graphites: Optional[Sequence['outputs.SloObjectiveRawMetricQueryGraphite']] = None, + influxdbs: Optional[Sequence['outputs.SloObjectiveRawMetricQueryInfluxdb']] = None, + instanas: Optional[Sequence['outputs.SloObjectiveRawMetricQueryInstana']] = None, + lightsteps: Optional[Sequence['outputs.SloObjectiveRawMetricQueryLightstep']] = None, + newrelics: Optional[Sequence['outputs.SloObjectiveRawMetricQueryNewrelic']] = None, + opentsdbs: Optional[Sequence['outputs.SloObjectiveRawMetricQueryOpentsdb']] = None, + pingdoms: Optional[Sequence['outputs.SloObjectiveRawMetricQueryPingdom']] = None, + prometheuses: Optional[Sequence['outputs.SloObjectiveRawMetricQueryPrometheus']] = None, + redshifts: Optional[Sequence['outputs.SloObjectiveRawMetricQueryRedshift']] = None, + splunk_observabilities: Optional[Sequence['outputs.SloObjectiveRawMetricQuerySplunkObservability']] = None, + splunks: Optional[Sequence['outputs.SloObjectiveRawMetricQuerySplunk']] = None, + sumologics: Optional[Sequence['outputs.SloObjectiveRawMetricQuerySumologic']] = None, + thousandeyes: Optional[Sequence['outputs.SloObjectiveRawMetricQueryThousandeye']] = None): + if amazon_prometheuses is not None: + pulumi.set(__self__, "amazon_prometheuses", amazon_prometheuses) + if appdynamics is not None: + pulumi.set(__self__, "appdynamics", appdynamics) + if bigqueries is not None: + pulumi.set(__self__, "bigqueries", bigqueries) + if cloudwatches is not None: + pulumi.set(__self__, "cloudwatches", cloudwatches) + if datadogs is not None: + pulumi.set(__self__, "datadogs", datadogs) + if dynatraces is not None: + pulumi.set(__self__, "dynatraces", dynatraces) + if elasticsearches is not None: + pulumi.set(__self__, "elasticsearches", elasticsearches) + if gcms is not None: + pulumi.set(__self__, "gcms", gcms) + if grafana_lokis is not None: + pulumi.set(__self__, "grafana_lokis", grafana_lokis) + if graphites is not None: + pulumi.set(__self__, "graphites", graphites) + if influxdbs is not None: + pulumi.set(__self__, "influxdbs", influxdbs) + if instanas is not None: + pulumi.set(__self__, "instanas", instanas) + if lightsteps is not None: + pulumi.set(__self__, "lightsteps", lightsteps) + if newrelics is not None: + pulumi.set(__self__, "newrelics", newrelics) + if opentsdbs is not None: + pulumi.set(__self__, "opentsdbs", opentsdbs) + if pingdoms is not None: + pulumi.set(__self__, "pingdoms", pingdoms) + if prometheuses is not None: + pulumi.set(__self__, "prometheuses", prometheuses) + if redshifts is not None: + pulumi.set(__self__, "redshifts", redshifts) + if splunk_observabilities is not None: + pulumi.set(__self__, "splunk_observabilities", splunk_observabilities) + if splunks is not None: + pulumi.set(__self__, "splunks", splunks) + if sumologics is not None: + pulumi.set(__self__, "sumologics", sumologics) + if thousandeyes is not None: + pulumi.set(__self__, "thousandeyes", thousandeyes) + + @property + @pulumi.getter(name="amazonPrometheuses") + def amazon_prometheuses(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryAmazonPrometheus']]: + return pulumi.get(self, "amazon_prometheuses") + + @property + @pulumi.getter + def appdynamics(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryAppdynamic']]: + return pulumi.get(self, "appdynamics") + + @property + @pulumi.getter + def bigqueries(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryBigquery']]: + return pulumi.get(self, "bigqueries") + + @property + @pulumi.getter + def cloudwatches(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryCloudwatch']]: + return pulumi.get(self, "cloudwatches") + + @property + @pulumi.getter + def datadogs(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryDatadog']]: + return pulumi.get(self, "datadogs") + + @property + @pulumi.getter + def dynatraces(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryDynatrace']]: + return pulumi.get(self, "dynatraces") + + @property + @pulumi.getter + def elasticsearches(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryElasticsearch']]: + return pulumi.get(self, "elasticsearches") + + @property + @pulumi.getter + def gcms(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryGcm']]: + return pulumi.get(self, "gcms") + + @property + @pulumi.getter(name="grafanaLokis") + def grafana_lokis(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryGrafanaLoki']]: + return pulumi.get(self, "grafana_lokis") + + @property + @pulumi.getter + def graphites(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryGraphite']]: + return pulumi.get(self, "graphites") + + @property + @pulumi.getter + def influxdbs(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryInfluxdb']]: + return pulumi.get(self, "influxdbs") + + @property + @pulumi.getter + def instanas(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryInstana']]: + return pulumi.get(self, "instanas") + + @property + @pulumi.getter + def lightsteps(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryLightstep']]: + return pulumi.get(self, "lightsteps") + + @property + @pulumi.getter + def newrelics(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryNewrelic']]: + return pulumi.get(self, "newrelics") + + @property + @pulumi.getter + def opentsdbs(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryOpentsdb']]: + return pulumi.get(self, "opentsdbs") + + @property + @pulumi.getter + def pingdoms(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryPingdom']]: + return pulumi.get(self, "pingdoms") + + @property + @pulumi.getter + def prometheuses(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryPrometheus']]: + return pulumi.get(self, "prometheuses") + + @property + @pulumi.getter + def redshifts(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryRedshift']]: + return pulumi.get(self, "redshifts") + + @property + @pulumi.getter(name="splunkObservabilities") + def splunk_observabilities(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQuerySplunkObservability']]: + return pulumi.get(self, "splunk_observabilities") + + @property + @pulumi.getter + def splunks(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQuerySplunk']]: + return pulumi.get(self, "splunks") + + @property + @pulumi.getter + def sumologics(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQuerySumologic']]: + return pulumi.get(self, "sumologics") + + @property + @pulumi.getter + def thousandeyes(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryThousandeye']]: + return pulumi.get(self, "thousandeyes") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryAmazonPrometheus(dict): + def __init__(__self__, *, + promql: str): + pulumi.set(__self__, "promql", promql) + + @property + @pulumi.getter + def promql(self) -> str: + return pulumi.get(self, "promql") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryAppdynamic(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "applicationName": + suggest = "application_name" + elif key == "metricPath": + suggest = "metric_path" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveRawMetricQueryAppdynamic. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveRawMetricQueryAppdynamic.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveRawMetricQueryAppdynamic.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + application_name: str, + metric_path: str): + pulumi.set(__self__, "application_name", application_name) + pulumi.set(__self__, "metric_path", metric_path) + + @property + @pulumi.getter(name="applicationName") + def application_name(self) -> str: + return pulumi.get(self, "application_name") + + @property + @pulumi.getter(name="metricPath") + def metric_path(self) -> str: + return pulumi.get(self, "metric_path") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryBigquery(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "projectId": + suggest = "project_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveRawMetricQueryBigquery. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveRawMetricQueryBigquery.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveRawMetricQueryBigquery.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + location: str, + project_id: str, + query: str): + pulumi.set(__self__, "location", location) + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def location(self) -> str: + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + return pulumi.get(self, "project_id") + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryCloudwatch(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricName": + suggest = "metric_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveRawMetricQueryCloudwatch. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveRawMetricQueryCloudwatch.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveRawMetricQueryCloudwatch.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + region: str, + dimensions: Optional[Sequence['outputs.SloObjectiveRawMetricQueryCloudwatchDimension']] = None, + json: Optional[str] = None, + metric_name: Optional[str] = None, + namespace: Optional[str] = None, + sql: Optional[str] = None, + stat: Optional[str] = None): + pulumi.set(__self__, "region", region) + if dimensions is not None: + pulumi.set(__self__, "dimensions", dimensions) + if json is not None: + pulumi.set(__self__, "json", json) + if metric_name is not None: + pulumi.set(__self__, "metric_name", metric_name) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if sql is not None: + pulumi.set(__self__, "sql", sql) + if stat is not None: + pulumi.set(__self__, "stat", stat) + + @property + @pulumi.getter + def region(self) -> str: + return pulumi.get(self, "region") + + @property + @pulumi.getter + def dimensions(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryCloudwatchDimension']]: + return pulumi.get(self, "dimensions") + + @property + @pulumi.getter + def json(self) -> Optional[str]: + return pulumi.get(self, "json") + + @property + @pulumi.getter(name="metricName") + def metric_name(self) -> Optional[str]: + return pulumi.get(self, "metric_name") + + @property + @pulumi.getter + def namespace(self) -> Optional[str]: + return pulumi.get(self, "namespace") + + @property + @pulumi.getter + def sql(self) -> Optional[str]: + return pulumi.get(self, "sql") + + @property + @pulumi.getter + def stat(self) -> Optional[str]: + return pulumi.get(self, "stat") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryCloudwatchDimension(dict): + def __init__(__self__, *, + name: str, + value: str): + """ + :param str name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> str: + return pulumi.get(self, "value") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryDatadog(dict): + def __init__(__self__, *, + query: str): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryDynatrace(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricSelector": + suggest = "metric_selector" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveRawMetricQueryDynatrace. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveRawMetricQueryDynatrace.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveRawMetricQueryDynatrace.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_selector: str): + pulumi.set(__self__, "metric_selector", metric_selector) + + @property + @pulumi.getter(name="metricSelector") + def metric_selector(self) -> str: + return pulumi.get(self, "metric_selector") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryElasticsearch(dict): + def __init__(__self__, *, + index: str, + query: str): + pulumi.set(__self__, "index", index) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def index(self) -> str: + return pulumi.get(self, "index") + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryGcm(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "projectId": + suggest = "project_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveRawMetricQueryGcm. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveRawMetricQueryGcm.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveRawMetricQueryGcm.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + project_id: str, + query: str): + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + return pulumi.get(self, "project_id") + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryGrafanaLoki(dict): + def __init__(__self__, *, + logql: str): + pulumi.set(__self__, "logql", logql) + + @property + @pulumi.getter + def logql(self) -> str: + return pulumi.get(self, "logql") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryGraphite(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricPath": + suggest = "metric_path" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveRawMetricQueryGraphite. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveRawMetricQueryGraphite.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveRawMetricQueryGraphite.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_path: str): + pulumi.set(__self__, "metric_path", metric_path) + + @property + @pulumi.getter(name="metricPath") + def metric_path(self) -> str: + return pulumi.get(self, "metric_path") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryInfluxdb(dict): + def __init__(__self__, *, + query: str): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryInstana(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricType": + suggest = "metric_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveRawMetricQueryInstana. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveRawMetricQueryInstana.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveRawMetricQueryInstana.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_type: str, + applications: Optional[Sequence['outputs.SloObjectiveRawMetricQueryInstanaApplication']] = None, + infrastructures: Optional[Sequence['outputs.SloObjectiveRawMetricQueryInstanaInfrastructure']] = None): + pulumi.set(__self__, "metric_type", metric_type) + if applications is not None: + pulumi.set(__self__, "applications", applications) + if infrastructures is not None: + pulumi.set(__self__, "infrastructures", infrastructures) + + @property + @pulumi.getter(name="metricType") + def metric_type(self) -> str: + return pulumi.get(self, "metric_type") + + @property + @pulumi.getter + def applications(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryInstanaApplication']]: + return pulumi.get(self, "applications") + + @property + @pulumi.getter + def infrastructures(self) -> Optional[Sequence['outputs.SloObjectiveRawMetricQueryInstanaInfrastructure']]: + return pulumi.get(self, "infrastructures") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryInstanaApplication(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "apiQuery": + suggest = "api_query" + elif key == "groupBies": + suggest = "group_bies" + elif key == "metricId": + suggest = "metric_id" + elif key == "includeInternal": + suggest = "include_internal" + elif key == "includeSynthetic": + suggest = "include_synthetic" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveRawMetricQueryInstanaApplication. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveRawMetricQueryInstanaApplication.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveRawMetricQueryInstanaApplication.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + aggregation: str, + api_query: str, + group_bies: Sequence['outputs.SloObjectiveRawMetricQueryInstanaApplicationGroupBy'], + metric_id: str, + include_internal: Optional[bool] = None, + include_synthetic: Optional[bool] = None): + pulumi.set(__self__, "aggregation", aggregation) + pulumi.set(__self__, "api_query", api_query) + pulumi.set(__self__, "group_bies", group_bies) + pulumi.set(__self__, "metric_id", metric_id) + if include_internal is not None: + pulumi.set(__self__, "include_internal", include_internal) + if include_synthetic is not None: + pulumi.set(__self__, "include_synthetic", include_synthetic) + + @property + @pulumi.getter + def aggregation(self) -> str: + return pulumi.get(self, "aggregation") + + @property + @pulumi.getter(name="apiQuery") + def api_query(self) -> str: + return pulumi.get(self, "api_query") + + @property + @pulumi.getter(name="groupBies") + def group_bies(self) -> Sequence['outputs.SloObjectiveRawMetricQueryInstanaApplicationGroupBy']: + return pulumi.get(self, "group_bies") + + @property + @pulumi.getter(name="metricId") + def metric_id(self) -> str: + return pulumi.get(self, "metric_id") + + @property + @pulumi.getter(name="includeInternal") + def include_internal(self) -> Optional[bool]: + return pulumi.get(self, "include_internal") + + @property + @pulumi.getter(name="includeSynthetic") + def include_synthetic(self) -> Optional[bool]: + return pulumi.get(self, "include_synthetic") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryInstanaApplicationGroupBy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "tagEntity": + suggest = "tag_entity" + elif key == "tagSecondLevelKey": + suggest = "tag_second_level_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveRawMetricQueryInstanaApplicationGroupBy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveRawMetricQueryInstanaApplicationGroupBy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveRawMetricQueryInstanaApplicationGroupBy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + tag: str, + tag_entity: str, + tag_second_level_key: Optional[str] = None): + pulumi.set(__self__, "tag", tag) + pulumi.set(__self__, "tag_entity", tag_entity) + if tag_second_level_key is not None: + pulumi.set(__self__, "tag_second_level_key", tag_second_level_key) + + @property + @pulumi.getter + def tag(self) -> str: + return pulumi.get(self, "tag") + + @property + @pulumi.getter(name="tagEntity") + def tag_entity(self) -> str: + return pulumi.get(self, "tag_entity") + + @property + @pulumi.getter(name="tagSecondLevelKey") + def tag_second_level_key(self) -> Optional[str]: + return pulumi.get(self, "tag_second_level_key") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryInstanaInfrastructure(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricId": + suggest = "metric_id" + elif key == "metricRetrievalMethod": + suggest = "metric_retrieval_method" + elif key == "pluginId": + suggest = "plugin_id" + elif key == "snapshotId": + suggest = "snapshot_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveRawMetricQueryInstanaInfrastructure. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveRawMetricQueryInstanaInfrastructure.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveRawMetricQueryInstanaInfrastructure.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_id: str, + metric_retrieval_method: str, + plugin_id: str, + query: Optional[str] = None, + snapshot_id: Optional[str] = None): + pulumi.set(__self__, "metric_id", metric_id) + pulumi.set(__self__, "metric_retrieval_method", metric_retrieval_method) + pulumi.set(__self__, "plugin_id", plugin_id) + if query is not None: + pulumi.set(__self__, "query", query) + if snapshot_id is not None: + pulumi.set(__self__, "snapshot_id", snapshot_id) + + @property + @pulumi.getter(name="metricId") + def metric_id(self) -> str: + return pulumi.get(self, "metric_id") + + @property + @pulumi.getter(name="metricRetrievalMethod") + def metric_retrieval_method(self) -> str: + return pulumi.get(self, "metric_retrieval_method") + + @property + @pulumi.getter(name="pluginId") + def plugin_id(self) -> str: + return pulumi.get(self, "plugin_id") + + @property + @pulumi.getter + def query(self) -> Optional[str]: + return pulumi.get(self, "query") + + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> Optional[str]: + return pulumi.get(self, "snapshot_id") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryLightstep(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "typeOfData": + suggest = "type_of_data" + elif key == "streamId": + suggest = "stream_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveRawMetricQueryLightstep. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveRawMetricQueryLightstep.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveRawMetricQueryLightstep.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type_of_data: str, + percentile: Optional[float] = None, + stream_id: Optional[str] = None, + uql: Optional[str] = None): + pulumi.set(__self__, "type_of_data", type_of_data) + if percentile is not None: + pulumi.set(__self__, "percentile", percentile) + if stream_id is not None: + pulumi.set(__self__, "stream_id", stream_id) + if uql is not None: + pulumi.set(__self__, "uql", uql) + + @property + @pulumi.getter(name="typeOfData") + def type_of_data(self) -> str: + return pulumi.get(self, "type_of_data") + + @property + @pulumi.getter + def percentile(self) -> Optional[float]: + return pulumi.get(self, "percentile") + + @property + @pulumi.getter(name="streamId") + def stream_id(self) -> Optional[str]: + return pulumi.get(self, "stream_id") + + @property + @pulumi.getter + def uql(self) -> Optional[str]: + return pulumi.get(self, "uql") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryNewrelic(dict): + def __init__(__self__, *, + nrql: str): + pulumi.set(__self__, "nrql", nrql) + + @property + @pulumi.getter + def nrql(self) -> str: + return pulumi.get(self, "nrql") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryOpentsdb(dict): + def __init__(__self__, *, + query: str): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryPingdom(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "checkId": + suggest = "check_id" + elif key == "checkType": + suggest = "check_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveRawMetricQueryPingdom. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveRawMetricQueryPingdom.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveRawMetricQueryPingdom.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + check_id: str, + check_type: Optional[str] = None, + status: Optional[str] = None): + pulumi.set(__self__, "check_id", check_id) + if check_type is not None: + pulumi.set(__self__, "check_type", check_type) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="checkId") + def check_id(self) -> str: + return pulumi.get(self, "check_id") + + @property + @pulumi.getter(name="checkType") + def check_type(self) -> Optional[str]: + return pulumi.get(self, "check_type") + + @property + @pulumi.getter + def status(self) -> Optional[str]: + return pulumi.get(self, "status") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryPrometheus(dict): + def __init__(__self__, *, + promql: str): + pulumi.set(__self__, "promql", promql) + + @property + @pulumi.getter + def promql(self) -> str: + return pulumi.get(self, "promql") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryRedshift(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clusterId": + suggest = "cluster_id" + elif key == "databaseName": + suggest = "database_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveRawMetricQueryRedshift. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveRawMetricQueryRedshift.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveRawMetricQueryRedshift.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cluster_id: str, + database_name: str, + query: str, + region: str): + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "database_name", database_name) + pulumi.set(__self__, "query", query) + pulumi.set(__self__, "region", region) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> str: + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> str: + return pulumi.get(self, "database_name") + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + @property + @pulumi.getter + def region(self) -> str: + return pulumi.get(self, "region") + + +@pulumi.output_type +class SloObjectiveRawMetricQuerySplunk(dict): + def __init__(__self__, *, + query: str): + pulumi.set(__self__, "query", query) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + +@pulumi.output_type +class SloObjectiveRawMetricQuerySplunkObservability(dict): + def __init__(__self__, *, + program: str): + pulumi.set(__self__, "program", program) + + @property + @pulumi.getter + def program(self) -> str: + return pulumi.get(self, "program") + + +@pulumi.output_type +class SloObjectiveRawMetricQuerySumologic(dict): + def __init__(__self__, *, + query: str, + type: str, + quantization: Optional[str] = None, + rollup: Optional[str] = None): + pulumi.set(__self__, "query", query) + pulumi.set(__self__, "type", type) + if quantization is not None: + pulumi.set(__self__, "quantization", quantization) + if rollup is not None: + pulumi.set(__self__, "rollup", rollup) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @property + @pulumi.getter + def quantization(self) -> Optional[str]: + return pulumi.get(self, "quantization") + + @property + @pulumi.getter + def rollup(self) -> Optional[str]: + return pulumi.get(self, "rollup") + + +@pulumi.output_type +class SloObjectiveRawMetricQueryThousandeye(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "testId": + suggest = "test_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloObjectiveRawMetricQueryThousandeye. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloObjectiveRawMetricQueryThousandeye.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloObjectiveRawMetricQueryThousandeye.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + test_id: int): + pulumi.set(__self__, "test_id", test_id) + + @property + @pulumi.getter(name="testId") + def test_id(self) -> int: + return pulumi.get(self, "test_id") + + +@pulumi.output_type +class SloTimeWindow(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "isRolling": + suggest = "is_rolling" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloTimeWindow. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloTimeWindow.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloTimeWindow.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: int, + unit: str, + calendars: Optional[Sequence['outputs.SloTimeWindowCalendar']] = None, + is_rolling: Optional[bool] = None, + period: Optional[Mapping[str, str]] = None): + """ + :param int count: Count of the time unit + :param str unit: Unit of time + :param Sequence['SloTimeWindowCalendarArgs'] calendars: Alert Policies attached to SLO + :param bool is_rolling: Is the window moving or not + :param Mapping[str, str] period: Period between start time and added count + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "unit", unit) + if calendars is not None: + pulumi.set(__self__, "calendars", calendars) + if is_rolling is not None: + pulumi.set(__self__, "is_rolling", is_rolling) + if period is not None: + pulumi.set(__self__, "period", period) + + @property + @pulumi.getter + def count(self) -> int: + """ + Count of the time unit + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter + def unit(self) -> str: + """ + Unit of time + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def calendars(self) -> Optional[Sequence['outputs.SloTimeWindowCalendar']]: + """ + Alert Policies attached to SLO + """ + return pulumi.get(self, "calendars") + + @property + @pulumi.getter(name="isRolling") + def is_rolling(self) -> Optional[bool]: + """ + Is the window moving or not + """ + return pulumi.get(self, "is_rolling") + + @property + @pulumi.getter + def period(self) -> Optional[Mapping[str, str]]: + """ + Period between start time and added count + """ + return pulumi.get(self, "period") + + +@pulumi.output_type +class SloTimeWindowCalendar(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "startTime": + suggest = "start_time" + elif key == "timeZone": + suggest = "time_zone" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SloTimeWindowCalendar. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SloTimeWindowCalendar.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SloTimeWindowCalendar.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + start_time: str, + time_zone: str): + pulumi.set(__self__, "start_time", start_time) + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> str: + return pulumi.get(self, "start_time") + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> str: + return pulumi.get(self, "time_zone") + + diff --git a/sdk/python/pulumi_nobl9/project.py b/sdk/python/pulumi_nobl9/project.py new file mode 100644 index 0000000..353c31a --- /dev/null +++ b/sdk/python/pulumi_nobl9/project.py @@ -0,0 +1,358 @@ +# 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__ = ['ProjectArgs', 'Project'] + +@pulumi.input_type +class ProjectArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectLabelArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Project resource. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[Sequence[pulumi.Input['ProjectLabelArgs']]] labels: [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProjectLabelArgs']]]]: + """ + [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectLabelArgs']]]]): + pulumi.set(self, "labels", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _ProjectState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectLabelArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Project resources. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[Sequence[pulumi.Input['ProjectLabelArgs']]] labels: [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProjectLabelArgs']]]]: + """ + [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectLabelArgs']]]]): + pulumi.set(self, "labels", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +class Project(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectLabelArgs']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + **Projects** are the primary logical grouping of resources in the Nobl9 platform. All Nobl9 resources, such as data sources, SLOs, and alerts, are created within a project. + + Access controls at the project level enable users to control who can see and change these resources. For example, you can allow all of your users to view the SLOs in a given project, but only a few users to make changes. + + For more details, refer to [Project configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#project). + + ## Example Usage + + Here's an example of Project resource configuration: + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + this = nobl9.Project("this", + description="An example N9 Terraform project", + display_name="My Project", + labels=[ + nobl9.ProjectLabelArgs( + key="env", + values=[ + "dev", + "prod", + ], + ), + nobl9.ProjectLabelArgs( + key="team", + values=["red"], + ), + ]) + ``` + ## Useful Links + + [Projects in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/#projects) + + [Projects YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#project) + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectLabelArgs']]]] labels: [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[ProjectArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + **Projects** are the primary logical grouping of resources in the Nobl9 platform. All Nobl9 resources, such as data sources, SLOs, and alerts, are created within a project. + + Access controls at the project level enable users to control who can see and change these resources. For example, you can allow all of your users to view the SLOs in a given project, but only a few users to make changes. + + For more details, refer to [Project configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#project). + + ## Example Usage + + Here's an example of Project resource configuration: + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + this = nobl9.Project("this", + description="An example N9 Terraform project", + display_name="My Project", + labels=[ + nobl9.ProjectLabelArgs( + key="env", + values=[ + "dev", + "prod", + ], + ), + nobl9.ProjectLabelArgs( + key="team", + values=["red"], + ), + ]) + ``` + ## Useful Links + + [Projects in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/#projects) + + [Projects YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#project) + + :param str resource_name: The name of the resource. + :param ProjectArgs 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(ProjectArgs, 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, + display_name: Optional[pulumi.Input[str]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectLabelArgs']]]]] = None, + name: 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__ = ProjectArgs.__new__(ProjectArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["labels"] = labels + __props__.__dict__["name"] = name + super(Project, __self__).__init__( + 'nobl9:index/project:Project', + 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, + display_name: Optional[pulumi.Input[str]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectLabelArgs']]]]] = None, + name: Optional[pulumi.Input[str]] = None) -> 'Project': + """ + Get an existing Project 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: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectLabelArgs']]]] labels: [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ProjectState.__new__(_ProjectState) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["labels"] = labels + __props__.__dict__["name"] = name + return Project(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def labels(self) -> pulumi.Output[Optional[Sequence['outputs.ProjectLabel']]]: + """ + [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + """ + return pulumi.get(self, "labels") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + diff --git a/sdk/python/pulumi_nobl9/provider.py b/sdk/python/pulumi_nobl9/provider.py new file mode 100644 index 0000000..6ce0121 --- /dev/null +++ b/sdk/python/pulumi_nobl9/provider.py @@ -0,0 +1,290 @@ +# 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__ = ['ProviderArgs', 'Provider'] + +@pulumi.input_type +class ProviderArgs: + def __init__(__self__, *, + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str], + organization: pulumi.Input[str], + project: pulumi.Input[str], + ingest_url: Optional[pulumi.Input[str]] = None, + okta_auth_server: Optional[pulumi.Input[str]] = None, + okta_org_url: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Provider resource. + :param pulumi.Input[str] client_id: the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to + Nobl9. + :param pulumi.Input[str] client_secret: the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect + to Nobl9. + :param pulumi.Input[str] organization: Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that + contains resources managed by the Nobl9 Terraform provider. + :param pulumi.Input[str] project: Nobl9 project used when importing resources. + :param pulumi.Input[str] ingest_url: Nobl9 API URL. + :param pulumi.Input[str] okta_auth_server: Authorization service configuration. + :param pulumi.Input[str] okta_org_url: Authorization service URL. + """ + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "client_secret", client_secret) + pulumi.set(__self__, "organization", organization) + pulumi.set(__self__, "project", project) + if ingest_url is not None: + pulumi.set(__self__, "ingest_url", ingest_url) + if okta_auth_server is not None: + pulumi.set(__self__, "okta_auth_server", okta_auth_server) + if okta_org_url is not None: + pulumi.set(__self__, "okta_org_url", okta_org_url) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to + Nobl9. + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect + to Nobl9. + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter + def organization(self) -> pulumi.Input[str]: + """ + Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that + contains resources managed by the Nobl9 Terraform provider. + """ + return pulumi.get(self, "organization") + + @organization.setter + def organization(self, value: pulumi.Input[str]): + pulumi.set(self, "organization", value) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Nobl9 project used when importing resources. + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="ingestUrl") + def ingest_url(self) -> Optional[pulumi.Input[str]]: + """ + Nobl9 API URL. + """ + return pulumi.get(self, "ingest_url") + + @ingest_url.setter + def ingest_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ingest_url", value) + + @property + @pulumi.getter(name="oktaAuthServer") + def okta_auth_server(self) -> Optional[pulumi.Input[str]]: + """ + Authorization service configuration. + """ + return pulumi.get(self, "okta_auth_server") + + @okta_auth_server.setter + def okta_auth_server(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "okta_auth_server", value) + + @property + @pulumi.getter(name="oktaOrgUrl") + def okta_org_url(self) -> Optional[pulumi.Input[str]]: + """ + Authorization service URL. + """ + return pulumi.get(self, "okta_org_url") + + @okta_org_url.setter + def okta_org_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "okta_org_url", value) + + +class Provider(pulumi.ProviderResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + ingest_url: Optional[pulumi.Input[str]] = None, + okta_auth_server: Optional[pulumi.Input[str]] = None, + okta_org_url: Optional[pulumi.Input[str]] = None, + organization: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + The provider type for the nobl9 package. By default, resources use package-wide configuration + settings, however an explicit `Provider` instance may be created and passed during resource + construction to achieve fine-grained programmatic control over provider settings. See the + [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] client_id: the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to + Nobl9. + :param pulumi.Input[str] client_secret: the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect + to Nobl9. + :param pulumi.Input[str] ingest_url: Nobl9 API URL. + :param pulumi.Input[str] okta_auth_server: Authorization service configuration. + :param pulumi.Input[str] okta_org_url: Authorization service URL. + :param pulumi.Input[str] organization: Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that + contains resources managed by the Nobl9 Terraform provider. + :param pulumi.Input[str] project: Nobl9 project used when importing resources. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ProviderArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The provider type for the nobl9 package. By default, resources use package-wide configuration + settings, however an explicit `Provider` instance may be created and passed during resource + construction to achieve fine-grained programmatic control over provider settings. See the + [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information. + + :param str resource_name: The name of the resource. + :param ProviderArgs 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(ProviderArgs, 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, + client_id: Optional[pulumi.Input[str]] = None, + client_secret: Optional[pulumi.Input[str]] = None, + ingest_url: Optional[pulumi.Input[str]] = None, + okta_auth_server: Optional[pulumi.Input[str]] = None, + okta_org_url: Optional[pulumi.Input[str]] = None, + organization: Optional[pulumi.Input[str]] = None, + project: 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__ = ProviderArgs.__new__(ProviderArgs) + + if client_id is None and not opts.urn: + raise TypeError("Missing required property 'client_id'") + __props__.__dict__["client_id"] = client_id + if client_secret is None and not opts.urn: + raise TypeError("Missing required property 'client_secret'") + __props__.__dict__["client_secret"] = client_secret + __props__.__dict__["ingest_url"] = ingest_url + __props__.__dict__["okta_auth_server"] = okta_auth_server + __props__.__dict__["okta_org_url"] = okta_org_url + if organization is None and not opts.urn: + raise TypeError("Missing required property 'organization'") + __props__.__dict__["organization"] = organization + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + super(Provider, __self__).__init__( + 'nobl9', + resource_name, + __props__, + opts) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[str]: + """ + the [Client ID](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect to + Nobl9. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Output[str]: + """ + the [Client Secret](https://docs.nobl9.com/sloctl-user-guide/#configuration) of your Nobl9 account required to connect + to Nobl9. + """ + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="ingestUrl") + def ingest_url(self) -> pulumi.Output[Optional[str]]: + """ + Nobl9 API URL. + """ + return pulumi.get(self, "ingest_url") + + @property + @pulumi.getter(name="oktaAuthServer") + def okta_auth_server(self) -> pulumi.Output[Optional[str]]: + """ + Authorization service configuration. + """ + return pulumi.get(self, "okta_auth_server") + + @property + @pulumi.getter(name="oktaOrgUrl") + def okta_org_url(self) -> pulumi.Output[Optional[str]]: + """ + Authorization service URL. + """ + return pulumi.get(self, "okta_org_url") + + @property + @pulumi.getter + def organization(self) -> pulumi.Output[str]: + """ + Nobl9 [Organization ID](https://docs.nobl9.com/API_Documentation/api-endpoints-for-slo-annotations/#common-headers) that + contains resources managed by the Nobl9 Terraform provider. + """ + return pulumi.get(self, "organization") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Nobl9 project used when importing resources. + """ + return pulumi.get(self, "project") + diff --git a/sdk/python/pulumi_nobl9/pulumi-plugin.json b/sdk/python/pulumi_nobl9/pulumi-plugin.json new file mode 100644 index 0000000..44404ee --- /dev/null +++ b/sdk/python/pulumi_nobl9/pulumi-plugin.json @@ -0,0 +1,5 @@ +{ + "resource": true, + "name": "nobl9", + "server": "https://github.com/piclemx/pulumi-nobl9/releases/" +} diff --git a/sdk/python/pulumi_nobl9/py.typed b/sdk/python/pulumi_nobl9/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/sdk/python/pulumi_nobl9/role_binding.py b/sdk/python/pulumi_nobl9/role_binding.py new file mode 100644 index 0000000..0ec092f --- /dev/null +++ b/sdk/python/pulumi_nobl9/role_binding.py @@ -0,0 +1,369 @@ +# 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__ = ['RoleBindingArgs', 'RoleBinding'] + +@pulumi.input_type +class RoleBindingArgs: + def __init__(__self__, *, + role_ref: pulumi.Input[str], + user: pulumi.Input[str], + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project_ref: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a RoleBinding resource. + :param pulumi.Input[str] role_ref: Role name; the role that you want the user to assume. + :param pulumi.Input[str] user: Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project_ref: Project name, the project in which we want the user to assume the specified role. When `project_ref` is empty, `role_ref` must contain an Organization Role. + """ + pulumi.set(__self__, "role_ref", role_ref) + pulumi.set(__self__, "user", user) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project_ref is not None: + pulumi.set(__self__, "project_ref", project_ref) + + @property + @pulumi.getter(name="roleRef") + def role_ref(self) -> pulumi.Input[str]: + """ + Role name; the role that you want the user to assume. + """ + return pulumi.get(self, "role_ref") + + @role_ref.setter + def role_ref(self, value: pulumi.Input[str]): + pulumi.set(self, "role_ref", value) + + @property + @pulumi.getter + def user(self) -> pulumi.Input[str]: + """ + Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + """ + return pulumi.get(self, "user") + + @user.setter + def user(self, value: pulumi.Input[str]): + pulumi.set(self, "user", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="projectRef") + def project_ref(self) -> Optional[pulumi.Input[str]]: + """ + Project name, the project in which we want the user to assume the specified role. When `project_ref` is empty, `role_ref` must contain an Organization Role. + """ + return pulumi.get(self, "project_ref") + + @project_ref.setter + def project_ref(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_ref", value) + + +@pulumi.input_type +class _RoleBindingState: + def __init__(__self__, *, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project_ref: Optional[pulumi.Input[str]] = None, + role_ref: Optional[pulumi.Input[str]] = None, + user: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering RoleBinding resources. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project_ref: Project name, the project in which we want the user to assume the specified role. When `project_ref` is empty, `role_ref` must contain an Organization Role. + :param pulumi.Input[str] role_ref: Role name; the role that you want the user to assume. + :param pulumi.Input[str] user: Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + """ + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project_ref is not None: + pulumi.set(__self__, "project_ref", project_ref) + if role_ref is not None: + pulumi.set(__self__, "role_ref", role_ref) + if user is not None: + pulumi.set(__self__, "user", user) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="projectRef") + def project_ref(self) -> Optional[pulumi.Input[str]]: + """ + Project name, the project in which we want the user to assume the specified role. When `project_ref` is empty, `role_ref` must contain an Organization Role. + """ + return pulumi.get(self, "project_ref") + + @project_ref.setter + def project_ref(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_ref", value) + + @property + @pulumi.getter(name="roleRef") + def role_ref(self) -> Optional[pulumi.Input[str]]: + """ + Role name; the role that you want the user to assume. + """ + return pulumi.get(self, "role_ref") + + @role_ref.setter + def role_ref(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_ref", value) + + @property + @pulumi.getter + def user(self) -> Optional[pulumi.Input[str]]: + """ + Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + """ + return pulumi.get(self, "user") + + @user.setter + def user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user", value) + + +class RoleBinding(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project_ref: Optional[pulumi.Input[str]] = None, + role_ref: Optional[pulumi.Input[str]] = None, + user: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + ## Example Usage + + Here's an example of RBAC resource configuration: + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + this = nobl9.RoleBinding("this", + project_ref="1234567890asdfghjkl", + role_ref="project-owner", + user="1234567890asdfghjkl") + ``` + ## Useful Links + + [Role Based Access Control in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/Getting_Started/RBAC/) + + [Role Binding YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/Getting_Started/RBAC/role-binding-yaml) + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project_ref: Project name, the project in which we want the user to assume the specified role. When `project_ref` is empty, `role_ref` must contain an Organization Role. + :param pulumi.Input[str] role_ref: Role name; the role that you want the user to assume. + :param pulumi.Input[str] user: Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RoleBindingArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + + Here's an example of RBAC resource configuration: + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + this = nobl9.RoleBinding("this", + project_ref="1234567890asdfghjkl", + role_ref="project-owner", + user="1234567890asdfghjkl") + ``` + ## Useful Links + + [Role Based Access Control in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/Getting_Started/RBAC/) + + [Role Binding YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/Getting_Started/RBAC/role-binding-yaml) + + :param str resource_name: The name of the resource. + :param RoleBindingArgs 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(RoleBindingArgs, 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, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project_ref: Optional[pulumi.Input[str]] = None, + role_ref: Optional[pulumi.Input[str]] = None, + user: 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__ = RoleBindingArgs.__new__(RoleBindingArgs) + + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project_ref"] = project_ref + if role_ref is None and not opts.urn: + raise TypeError("Missing required property 'role_ref'") + __props__.__dict__["role_ref"] = role_ref + if user is None and not opts.urn: + raise TypeError("Missing required property 'user'") + __props__.__dict__["user"] = user + super(RoleBinding, __self__).__init__( + 'nobl9:index/roleBinding:RoleBinding', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project_ref: Optional[pulumi.Input[str]] = None, + role_ref: Optional[pulumi.Input[str]] = None, + user: Optional[pulumi.Input[str]] = None) -> 'RoleBinding': + """ + Get an existing RoleBinding 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] display_name: User-friendly display name of the resource. + :param pulumi.Input[str] name: Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project_ref: Project name, the project in which we want the user to assume the specified role. When `project_ref` is empty, `role_ref` must contain an Organization Role. + :param pulumi.Input[str] role_ref: Role name; the role that you want the user to assume. + :param pulumi.Input[str] user: Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RoleBindingState.__new__(_RoleBindingState) + + __props__.__dict__["display_name"] = display_name + __props__.__dict__["name"] = name + __props__.__dict__["project_ref"] = project_ref + __props__.__dict__["role_ref"] = role_ref + __props__.__dict__["user"] = user + return RoleBinding(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Automatically generated, unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="projectRef") + def project_ref(self) -> pulumi.Output[Optional[str]]: + """ + Project name, the project in which we want the user to assume the specified role. When `project_ref` is empty, `role_ref` must contain an Organization Role. + """ + return pulumi.get(self, "project_ref") + + @property + @pulumi.getter(name="roleRef") + def role_ref(self) -> pulumi.Output[str]: + """ + Role name; the role that you want the user to assume. + """ + return pulumi.get(self, "role_ref") + + @property + @pulumi.getter + def user(self) -> pulumi.Output[str]: + """ + Okta User ID that can be retrieved from the Nobl9 UI (**Settings** > **Users**). + """ + return pulumi.get(self, "user") + diff --git a/sdk/python/pulumi_nobl9/service.py b/sdk/python/pulumi_nobl9/service.py new file mode 100644 index 0000000..80473fb --- /dev/null +++ b/sdk/python/pulumi_nobl9/service.py @@ -0,0 +1,438 @@ +# 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__ = ['ServiceArgs', 'Service'] + +@pulumi.input_type +class ServiceArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLabelArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Service resource. + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[Sequence[pulumi.Input['ServiceLabelArgs']]] labels: [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + pulumi.set(__self__, "project", project) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLabelArgs']]]]: + """ + [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLabelArgs']]]]): + pulumi.set(self, "labels", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _ServiceState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLabelArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[Mapping[str, pulumi.Input[float]]]] = None): + """ + Input properties used for looking up and filtering Service resources. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[Sequence[pulumi.Input['ServiceLabelArgs']]] labels: [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Mapping[str, pulumi.Input[float]]] status: Status of created service. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if name is not None: + pulumi.set(__self__, "name", name) + if project is not None: + pulumi.set(__self__, "project", project) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLabelArgs']]]]: + """ + [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLabelArgs']]]]): + pulumi.set(self, "labels", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[float]]]]: + """ + Status of created service. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[float]]]]): + pulumi.set(self, "status", value) + + +class Service(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ServiceLabelArgs']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + A **service** in Nobl9 is a high-level grouping of Service Level Objectives (SLOs). A service can represent a logical service endpoint like an API, a database, an application, or anything else you care about setting an SLO for. Every SLO in Nobl9 is tied to a service, and the service can have one or more SLOs. + + For more details, refer to the [Service configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#service). + + ## Example Usage + + Here's an example of Service resource configuration: + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + this_project = nobl9.Project("thisProject", + display_name="My Project", + description="An example N9 Terraform project") + this_service = nobl9.Service("thisService", + project=this_project.name, + display_name=this_project.display_name.apply(lambda display_name: f"{display_name} Front Page"), + description="Front page service", + labels=[ + nobl9.ServiceLabelArgs( + key="env", + values=[ + "dev", + "prod", + ], + ), + nobl9.ServiceLabelArgs( + key="team", + values=["red"], + ), + ]) + ``` + ## Useful Links + + [Services in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/#services) + + [Service YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide/#service) + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ServiceLabelArgs']]]] labels: [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ServiceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + A **service** in Nobl9 is a high-level grouping of Service Level Objectives (SLOs). A service can represent a logical service endpoint like an API, a database, an application, or anything else you care about setting an SLO for. Every SLO in Nobl9 is tied to a service, and the service can have one or more SLOs. + + For more details, refer to the [Service configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide#service). + + ## Example Usage + + Here's an example of Service resource configuration: + + ```python + import pulumi + import pulumi_nobl9 as nobl9 + + this_project = nobl9.Project("thisProject", + display_name="My Project", + description="An example N9 Terraform project") + this_service = nobl9.Service("thisService", + project=this_project.name, + display_name=this_project.display_name.apply(lambda display_name: f"{display_name} Front Page"), + description="Front page service", + labels=[ + nobl9.ServiceLabelArgs( + key="env", + values=[ + "dev", + "prod", + ], + ), + nobl9.ServiceLabelArgs( + key="team", + values=["red"], + ), + ]) + ``` + ## Useful Links + + [Services in Nobl9 | Nobl9 Documentation](https://docs.nobl9.com/#services) + + [Service YAML Configuration | Nobl9 Documentation](https://docs.nobl9.com/yaml-guide/#service) + + :param str resource_name: The name of the resource. + :param ServiceArgs 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(ServiceArgs, 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, + display_name: Optional[pulumi.Input[str]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ServiceLabelArgs']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + project: 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__ = ServiceArgs.__new__(ServiceArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["labels"] = labels + __props__.__dict__["name"] = name + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["status"] = None + super(Service, __self__).__init__( + 'nobl9:index/service:Service', + 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, + display_name: Optional[pulumi.Input[str]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ServiceLabelArgs']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[Mapping[str, pulumi.Input[float]]]] = None) -> 'Service': + """ + Get an existing Service 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: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ServiceLabelArgs']]]] labels: [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Mapping[str, pulumi.Input[float]]] status: Status of created service. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ServiceState.__new__(_ServiceState) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["labels"] = labels + __props__.__dict__["name"] = name + __props__.__dict__["project"] = project + __props__.__dict__["status"] = status + return Service(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def labels(self) -> pulumi.Output[Optional[Sequence['outputs.ServiceLabel']]]: + """ + [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + """ + return pulumi.get(self, "labels") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[Mapping[str, float]]: + """ + Status of created service. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_nobl9/slo.py b/sdk/python/pulumi_nobl9/slo.py new file mode 100644 index 0000000..255af26 --- /dev/null +++ b/sdk/python/pulumi_nobl9/slo.py @@ -0,0 +1,699 @@ +# 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__ = ['SloArgs', 'Slo'] + +@pulumi.input_type +class SloArgs: + def __init__(__self__, *, + budgeting_method: pulumi.Input[str], + indicator: pulumi.Input['SloIndicatorArgs'], + objectives: pulumi.Input[Sequence[pulumi.Input['SloObjectiveArgs']]], + project: pulumi.Input[str], + service: pulumi.Input[str], + time_window: pulumi.Input['SloTimeWindowArgs'], + alert_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + attachments: Optional[pulumi.Input[Sequence[pulumi.Input['SloAttachmentArgs']]]] = None, + composite: Optional[pulumi.Input['SloCompositeArgs']] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input['SloLabelArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Slo resource. + :param pulumi.Input[str] budgeting_method: Method which will be use to calculate budget + :param pulumi.Input[Sequence[pulumi.Input['SloObjectiveArgs']]] objectives: [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] service: Name of the service + :param pulumi.Input[Sequence[pulumi.Input[str]]] alert_policies: Alert Policies attached to SLO + :param pulumi.Input['SloCompositeArgs'] composite: [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[Sequence[pulumi.Input['SloLabelArgs']]] labels: [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + pulumi.set(__self__, "budgeting_method", budgeting_method) + pulumi.set(__self__, "indicator", indicator) + pulumi.set(__self__, "objectives", objectives) + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "service", service) + pulumi.set(__self__, "time_window", time_window) + if alert_policies is not None: + pulumi.set(__self__, "alert_policies", alert_policies) + if attachments is not None: + warnings.warn("""\"attachments\" argument is deprecated use \"attachment\" instead""", DeprecationWarning) + pulumi.log.warn("""attachments is deprecated: \"attachments\" argument is deprecated use \"attachment\" instead""") + if attachments is not None: + pulumi.set(__self__, "attachments", attachments) + if composite is not None: + pulumi.set(__self__, "composite", composite) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="budgetingMethod") + def budgeting_method(self) -> pulumi.Input[str]: + """ + Method which will be use to calculate budget + """ + return pulumi.get(self, "budgeting_method") + + @budgeting_method.setter + def budgeting_method(self, value: pulumi.Input[str]): + pulumi.set(self, "budgeting_method", value) + + @property + @pulumi.getter + def indicator(self) -> pulumi.Input['SloIndicatorArgs']: + return pulumi.get(self, "indicator") + + @indicator.setter + def indicator(self, value: pulumi.Input['SloIndicatorArgs']): + pulumi.set(self, "indicator", value) + + @property + @pulumi.getter + def objectives(self) -> pulumi.Input[Sequence[pulumi.Input['SloObjectiveArgs']]]: + """ + [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + """ + return pulumi.get(self, "objectives") + + @objectives.setter + def objectives(self, value: pulumi.Input[Sequence[pulumi.Input['SloObjectiveArgs']]]): + pulumi.set(self, "objectives", value) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def service(self) -> pulumi.Input[str]: + """ + Name of the service + """ + return pulumi.get(self, "service") + + @service.setter + def service(self, value: pulumi.Input[str]): + pulumi.set(self, "service", value) + + @property + @pulumi.getter(name="timeWindow") + def time_window(self) -> pulumi.Input['SloTimeWindowArgs']: + return pulumi.get(self, "time_window") + + @time_window.setter + def time_window(self, value: pulumi.Input['SloTimeWindowArgs']): + pulumi.set(self, "time_window", value) + + @property + @pulumi.getter(name="alertPolicies") + def alert_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Alert Policies attached to SLO + """ + return pulumi.get(self, "alert_policies") + + @alert_policies.setter + def alert_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alert_policies", value) + + @property + @pulumi.getter + def attachments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloAttachmentArgs']]]]: + return pulumi.get(self, "attachments") + + @attachments.setter + def attachments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloAttachmentArgs']]]]): + pulumi.set(self, "attachments", value) + + @property + @pulumi.getter + def composite(self) -> Optional[pulumi.Input['SloCompositeArgs']]: + """ + [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + """ + return pulumi.get(self, "composite") + + @composite.setter + def composite(self, value: Optional[pulumi.Input['SloCompositeArgs']]): + pulumi.set(self, "composite", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloLabelArgs']]]]: + """ + [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloLabelArgs']]]]): + pulumi.set(self, "labels", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _SloState: + def __init__(__self__, *, + alert_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + attachments: Optional[pulumi.Input[Sequence[pulumi.Input['SloAttachmentArgs']]]] = None, + budgeting_method: Optional[pulumi.Input[str]] = None, + composite: Optional[pulumi.Input['SloCompositeArgs']] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + indicator: Optional[pulumi.Input['SloIndicatorArgs']] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input['SloLabelArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + objectives: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveArgs']]]] = None, + project: Optional[pulumi.Input[str]] = None, + service: Optional[pulumi.Input[str]] = None, + time_window: Optional[pulumi.Input['SloTimeWindowArgs']] = None): + """ + Input properties used for looking up and filtering Slo resources. + :param pulumi.Input[Sequence[pulumi.Input[str]]] alert_policies: Alert Policies attached to SLO + :param pulumi.Input[str] budgeting_method: Method which will be use to calculate budget + :param pulumi.Input['SloCompositeArgs'] composite: [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[Sequence[pulumi.Input['SloLabelArgs']]] labels: [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input['SloObjectiveArgs']]] objectives: [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] service: Name of the service + """ + if alert_policies is not None: + pulumi.set(__self__, "alert_policies", alert_policies) + if attachments is not None: + warnings.warn("""\"attachments\" argument is deprecated use \"attachment\" instead""", DeprecationWarning) + pulumi.log.warn("""attachments is deprecated: \"attachments\" argument is deprecated use \"attachment\" instead""") + if attachments is not None: + pulumi.set(__self__, "attachments", attachments) + if budgeting_method is not None: + pulumi.set(__self__, "budgeting_method", budgeting_method) + if composite is not None: + pulumi.set(__self__, "composite", composite) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if indicator is not None: + pulumi.set(__self__, "indicator", indicator) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if name is not None: + pulumi.set(__self__, "name", name) + if objectives is not None: + pulumi.set(__self__, "objectives", objectives) + if project is not None: + pulumi.set(__self__, "project", project) + if service is not None: + pulumi.set(__self__, "service", service) + if time_window is not None: + pulumi.set(__self__, "time_window", time_window) + + @property + @pulumi.getter(name="alertPolicies") + def alert_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Alert Policies attached to SLO + """ + return pulumi.get(self, "alert_policies") + + @alert_policies.setter + def alert_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alert_policies", value) + + @property + @pulumi.getter + def attachments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloAttachmentArgs']]]]: + return pulumi.get(self, "attachments") + + @attachments.setter + def attachments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloAttachmentArgs']]]]): + pulumi.set(self, "attachments", value) + + @property + @pulumi.getter(name="budgetingMethod") + def budgeting_method(self) -> Optional[pulumi.Input[str]]: + """ + Method which will be use to calculate budget + """ + return pulumi.get(self, "budgeting_method") + + @budgeting_method.setter + def budgeting_method(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "budgeting_method", value) + + @property + @pulumi.getter + def composite(self) -> Optional[pulumi.Input['SloCompositeArgs']]: + """ + [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + """ + return pulumi.get(self, "composite") + + @composite.setter + def composite(self, value: Optional[pulumi.Input['SloCompositeArgs']]): + pulumi.set(self, "composite", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def indicator(self) -> Optional[pulumi.Input['SloIndicatorArgs']]: + return pulumi.get(self, "indicator") + + @indicator.setter + def indicator(self, value: Optional[pulumi.Input['SloIndicatorArgs']]): + pulumi.set(self, "indicator", value) + + @property + @pulumi.getter + def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloLabelArgs']]]]: + """ + [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloLabelArgs']]]]): + pulumi.set(self, "labels", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def objectives(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveArgs']]]]: + """ + [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + """ + return pulumi.get(self, "objectives") + + @objectives.setter + def objectives(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SloObjectiveArgs']]]]): + pulumi.set(self, "objectives", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter + def service(self) -> Optional[pulumi.Input[str]]: + """ + Name of the service + """ + return pulumi.get(self, "service") + + @service.setter + def service(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service", value) + + @property + @pulumi.getter(name="timeWindow") + def time_window(self) -> Optional[pulumi.Input['SloTimeWindowArgs']]: + return pulumi.get(self, "time_window") + + @time_window.setter + def time_window(self, value: Optional[pulumi.Input['SloTimeWindowArgs']]): + pulumi.set(self, "time_window", value) + + +class Slo(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + alert_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + attachments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SloAttachmentArgs']]]]] = None, + budgeting_method: Optional[pulumi.Input[str]] = None, + composite: Optional[pulumi.Input[pulumi.InputType['SloCompositeArgs']]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + indicator: Optional[pulumi.Input[pulumi.InputType['SloIndicatorArgs']]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SloLabelArgs']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + objectives: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SloObjectiveArgs']]]]] = None, + project: Optional[pulumi.Input[str]] = None, + service: Optional[pulumi.Input[str]] = None, + time_window: Optional[pulumi.Input[pulumi.InputType['SloTimeWindowArgs']]] = None, + __props__=None): + """ + An SLO is a target value or range of values for a service that is measured by a service level indicator (SLI). SLOs allows you to define the reliability of your products and services in terms of customer expectations. You can create SLOs for user journeys, internal services, or even infrastructure. + + For more information, refer to [SLO configuration documentation](https://docs.nobl9.com/yaml-guide#slo) + + ## Nobl9 Official Documentation + + https://docs.nobl9.com/SLOs_as_code/?_highlight=slo + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] alert_policies: Alert Policies attached to SLO + :param pulumi.Input[str] budgeting_method: Method which will be use to calculate budget + :param pulumi.Input[pulumi.InputType['SloCompositeArgs']] composite: [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SloLabelArgs']]]] labels: [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SloObjectiveArgs']]]] objectives: [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] service: Name of the service + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SloArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + An SLO is a target value or range of values for a service that is measured by a service level indicator (SLI). SLOs allows you to define the reliability of your products and services in terms of customer expectations. You can create SLOs for user journeys, internal services, or even infrastructure. + + For more information, refer to [SLO configuration documentation](https://docs.nobl9.com/yaml-guide#slo) + + ## Nobl9 Official Documentation + + https://docs.nobl9.com/SLOs_as_code/?_highlight=slo + + :param str resource_name: The name of the resource. + :param SloArgs 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(SloArgs, 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, + alert_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + attachments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SloAttachmentArgs']]]]] = None, + budgeting_method: Optional[pulumi.Input[str]] = None, + composite: Optional[pulumi.Input[pulumi.InputType['SloCompositeArgs']]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + indicator: Optional[pulumi.Input[pulumi.InputType['SloIndicatorArgs']]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SloLabelArgs']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + objectives: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SloObjectiveArgs']]]]] = None, + project: Optional[pulumi.Input[str]] = None, + service: Optional[pulumi.Input[str]] = None, + time_window: Optional[pulumi.Input[pulumi.InputType['SloTimeWindowArgs']]] = 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__ = SloArgs.__new__(SloArgs) + + __props__.__dict__["alert_policies"] = alert_policies + if attachments is not None and not opts.urn: + warnings.warn("""\"attachments\" argument is deprecated use \"attachment\" instead""", DeprecationWarning) + pulumi.log.warn("""attachments is deprecated: \"attachments\" argument is deprecated use \"attachment\" instead""") + __props__.__dict__["attachments"] = attachments + if budgeting_method is None and not opts.urn: + raise TypeError("Missing required property 'budgeting_method'") + __props__.__dict__["budgeting_method"] = budgeting_method + __props__.__dict__["composite"] = composite + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + if indicator is None and not opts.urn: + raise TypeError("Missing required property 'indicator'") + __props__.__dict__["indicator"] = indicator + __props__.__dict__["labels"] = labels + __props__.__dict__["name"] = name + if objectives is None and not opts.urn: + raise TypeError("Missing required property 'objectives'") + __props__.__dict__["objectives"] = objectives + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + if service is None and not opts.urn: + raise TypeError("Missing required property 'service'") + __props__.__dict__["service"] = service + if time_window is None and not opts.urn: + raise TypeError("Missing required property 'time_window'") + __props__.__dict__["time_window"] = time_window + super(Slo, __self__).__init__( + 'nobl9:index/slo:Slo', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + alert_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + attachments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SloAttachmentArgs']]]]] = None, + budgeting_method: Optional[pulumi.Input[str]] = None, + composite: Optional[pulumi.Input[pulumi.InputType['SloCompositeArgs']]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + indicator: Optional[pulumi.Input[pulumi.InputType['SloIndicatorArgs']]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SloLabelArgs']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + objectives: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SloObjectiveArgs']]]]] = None, + project: Optional[pulumi.Input[str]] = None, + service: Optional[pulumi.Input[str]] = None, + time_window: Optional[pulumi.Input[pulumi.InputType['SloTimeWindowArgs']]] = None) -> 'Slo': + """ + Get an existing Slo 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[str]]] alert_policies: Alert Policies attached to SLO + :param pulumi.Input[str] budgeting_method: Method which will be use to calculate budget + :param pulumi.Input[pulumi.InputType['SloCompositeArgs']] composite: [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + :param pulumi.Input[str] description: Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + :param pulumi.Input[str] display_name: User-friendly display name of the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SloLabelArgs']]]] labels: [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + :param pulumi.Input[str] name: Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SloObjectiveArgs']]]] objectives: [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + :param pulumi.Input[str] project: Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + :param pulumi.Input[str] service: Name of the service + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SloState.__new__(_SloState) + + __props__.__dict__["alert_policies"] = alert_policies + __props__.__dict__["attachments"] = attachments + __props__.__dict__["budgeting_method"] = budgeting_method + __props__.__dict__["composite"] = composite + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["indicator"] = indicator + __props__.__dict__["labels"] = labels + __props__.__dict__["name"] = name + __props__.__dict__["objectives"] = objectives + __props__.__dict__["project"] = project + __props__.__dict__["service"] = service + __props__.__dict__["time_window"] = time_window + return Slo(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="alertPolicies") + def alert_policies(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Alert Policies attached to SLO + """ + return pulumi.get(self, "alert_policies") + + @property + @pulumi.getter + def attachments(self) -> pulumi.Output[Optional[Sequence['outputs.SloAttachment']]]: + return pulumi.get(self, "attachments") + + @property + @pulumi.getter(name="budgetingMethod") + def budgeting_method(self) -> pulumi.Output[str]: + """ + Method which will be use to calculate budget + """ + return pulumi.get(self, "budgeting_method") + + @property + @pulumi.getter + def composite(self) -> pulumi.Output[Optional['outputs.SloComposite']]: + """ + [Composite SLO documentation](https://docs.nobl9.com/yaml-guide/#slo) + """ + return pulumi.get(self, "composite") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Optional description of the resource. Here, you can add details about who is responsible for the integration (team/owner) or the purpose of creating it. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User-friendly display name of the resource. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def indicator(self) -> pulumi.Output['outputs.SloIndicator']: + return pulumi.get(self, "indicator") + + @property + @pulumi.getter + def labels(self) -> pulumi.Output[Optional[Sequence['outputs.SloLabel']]]: + """ + [Labels](https://docs.nobl9.com/Features/labels/) containing a single key and a list of values. + """ + return pulumi.get(self, "labels") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name of the resource, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def objectives(self) -> pulumi.Output[Sequence['outputs.SloObjective']]: + """ + [Objectives documentation](https://docs.nobl9.com/yaml-guide#objective) + """ + return pulumi.get(self, "objectives") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + Name of the Nobl9 project the resource sits in, must conform to the naming convention from [DNS RFC1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter + def service(self) -> pulumi.Output[str]: + """ + Name of the service + """ + return pulumi.get(self, "service") + + @property + @pulumi.getter(name="timeWindow") + def time_window(self) -> pulumi.Output['outputs.SloTimeWindow']: + return pulumi.get(self, "time_window") + diff --git a/sdk/python/setup.py b/sdk/python/setup.py new file mode 100644 index 0000000..1cc6f4d --- /dev/null +++ b/sdk/python/setup.py @@ -0,0 +1,66 @@ +# 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 errno +from setuptools import setup, find_packages +from setuptools.command.install import install +from subprocess import check_call + + +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', 'nobl9', PLUGIN_VERSION, '--server', 'https://github.com/piclemx/pulumi-nobl9/releases/']) + except OSError as error: + if error.errno == errno.ENOENT: + print(f""" + There was an error installing the nobl9 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 nobl9 {PLUGIN_VERSION}` + """) + else: + raise + + +def readme(): + try: + with open('README.md', encoding='utf-8') as f: + return f.read() + except FileNotFoundError: + return "nobl9 Pulumi Package - Development Version" + + +setup(name='pulumi_nobl9', + version=VERSION, + description="A Pulumi package for creating and managing Nobl9 cloud resources.", + long_description=readme(), + long_description_content_type='text/markdown', + cmdclass={ + 'install': InstallPluginCommand, + }, + keywords='pulumi nobl9 n9 category/cloud', + url='https://www.pulumi.com', + project_urls={ + 'Repository': 'https://github.com/piclemx/pulumi-nobl9' + }, + license='Apache-2.0', + packages=find_packages(), + package_data={ + 'pulumi_nobl9': [ + 'py.typed', + 'pulumi-plugin.json', + ] + }, + install_requires=[ + 'parver>=0.2.1', + 'pulumi>=3.0.0,<4.0.0', + 'semver>=2.8.1' + ], + zip_safe=False)