diff --git a/.ci-mgmt.yaml b/.ci-mgmt.yaml new file mode 100644 index 0000000..9fa3058 --- /dev/null +++ b/.ci-mgmt.yaml @@ -0,0 +1,25 @@ +template: external-bridged-provider +provider: zitadel +organization: pulumiverse +major-version: 0 +providerDefaultBranch: main +upstreamProviderOrg: zitadel +publishRegistry: false +plugins: + - name: terraform + version: "1.0.19" + kind: converter + - name: random + version: "4.16.7" +languages: + - dotnet + - go + - nodejs + - python +publish: + sdk: "all,!java" + cdn: false +# license: + # ignore: + # Don't check for the license of the local shim package +pulumiConvert: 1 diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 3990fe3..7d46cd8 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,67 +1,12 @@ -ARG UBUNTU_VERSION=latest -FROM ubuntu:${UBUNTU_VERSION} +FROM jetpackio/devbox:latest -# Update apt-get and install various needed utilities -RUN apt-get update && \ - apt-get install -y curl && \ - apt-get install -y wget && \ - apt-get install -y xz-utils && \ - apt-get install -y make && \ - apt-get install -y gcc && \ - apt-get install -y git +# Installing your devbox project +WORKDIR /code +COPY devbox.json devbox.json +COPY devbox.lock devbox.lock +RUN sudo chown -R "${DEVBOX_USER}:${DEVBOX_USER}" /code -# Install bridged provider prerequisites -# See README.md -# Install go -ARG GO_VERSION=1.21.1 -RUN rm -rf /usr/local/go && \ - wget -O ${GO_VERSION}.tar.gz https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz && \ - tar -C /usr/local -xzf ${GO_VERSION}.tar.gz && \ - rm ${GO_VERSION}.tar.gz +RUN devbox run -- echo "Installed Packages." -ENV GOPATH=/root/go -ENV PATH=$PATH:/usr/local/go/bin - -# Install go linter -RUN mkdir -p $GOPATH/bin && \ - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $GOPATH/bin v1.46.2 - -ENV PATH=$PATH:$GOPATH/bin - -# Install pulumictl -ARG PULUMICTL_VERSION=v0.0.32 -RUN rm -rf /usr/local/bin/pulumictl && \ - wget -O pulumictl.${PULUMICTL_VERSION}.tar.gz https://github.com/pulumi/pulumictl/releases/download/${PULUMICTL_VERSION}/pulumictl-${PULUMICTL_VERSION}-linux-amd64.tar.gz && \ - tar -C /usr/local/bin -xzf pulumictl.${PULUMICTL_VERSION}.tar.gz - -# Install nodejs -ARG NODEJS_VERSION=v20.11.1 -ARG NODEJS_PKG=node-${NODEJS_VERSION}-linux-x64 -ARG NODEJS_TARBALL=${NODEJS_PKG}.tar.xz -RUN rm -rf /usr/local/node && \ - wget -O ${NODEJS_TARBALL} https://nodejs.org/dist/${NODEJS_VERSION}/${NODEJS_TARBALL} && \ - tar -C /usr/local -xf ${NODEJS_TARBALL} && \ - mv /usr/local/${NODEJS_PKG} /usr/local/node - -ENV PATH=$PATH:/usr/local/node/bin - -# Install yarn -RUN npm install --global yarn - -# Install python and related items -RUN apt-get install -y python3 && \ - apt-get install -y python3-setuptools - -# Install .NET -# https://stackoverflow.com/questions/73753672/a-fatal-error-occurred-the-folder-usr-share-dotnet-host-fxr-does-not-exist -RUN apt-get remove dotnet* && \ - apt-get remove aspnetcore* && \ - apt-get remove netstandard& - -RUN apt-get update && \ - apt-get install dotnet-sdk-6.0 -y - -# Install Pulumi -RUN curl -fsSL https://get.pulumi.com | sh -ENV PATH=$PATH:/root/.pulumi/bin +RUN devbox shellenv --init-hook >> ~/.profile diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 6b9e8cb..e7ae9f1 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,8 +1,16 @@ -// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: -// https://github.com/microsoft/vscode-dev-containers/tree/v0.202.3/containers/hugo { - "name": "TFProvider", + "name": "Devbox Remote Container", "build": { - "dockerfile": "Dockerfile" - } + "dockerfile": "./Dockerfile", + "context": ".." + }, + "customizations": { + "vscode": { + "settings": {}, + "extensions": [ + "jetpack-io.devbox" + ] + } + }, + "remoteUser": "devbox" } \ No newline at end of file diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..ff9aa4f --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +sdk/**/* linguist-generated=true diff --git a/.github/actions/download-prerequisites/action.yml b/.github/actions/download-prerequisites/action.yml new file mode 100644 index 0000000..c896a3a --- /dev/null +++ b/.github/actions/download-prerequisites/action.yml @@ -0,0 +1,28 @@ +name: Download the code generator binary +description: Downloads the code generator binary to `bin/`. + +runs: + using: "composite" + steps: + - name: Download the prerequisites bin + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: prerequisites-bin + path: bin + + - name: Restore executable permissions + shell: bash + run: chmod +x $(< bin/executables.txt) + + - name: Remove executables list + shell: bash + run: rm bin/executables.txt + + - name: Download schema-embed.json + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + # Use a pattern to avoid failing if the artifact doesn't exist + pattern: schema-embed.* + # Avoid creating directories for each artifact + merge-multiple: true + path: provider/cmd/pulumi-resource-zitadel diff --git a/.github/actions/download-provider/action.yml b/.github/actions/download-provider/action.yml new file mode 100644 index 0000000..c20f0b9 --- /dev/null +++ b/.github/actions/download-provider/action.yml @@ -0,0 +1,23 @@ +name: Download the provider binary +description: Downloads the provider binary to `bin/`. + +runs: + using: "composite" + steps: + + - name: Download pulumi-resource-zitadel + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + pattern: pulumi-resource-zitadel-*-linux-amd64.tar.gz + path: ${{ github.workspace }}/bin + merge-multiple: true + + - name: Untar pulumi-resource-zitadel + shell: bash + run: | + tar -zxf ${{ github.workspace }}/bin/*amd64.tar.gz -C ${{ github.workspace}}/bin + + - name: Mark pulumi-resource-zitadel as executable + shell: bash + run: | + find ${{ github.workspace }} -name "pulumi-*-zitadel" -print -exec chmod +x {} \; diff --git a/.github/actions/download-sdk/action.yml b/.github/actions/download-sdk/action.yml new file mode 100644 index 0000000..ec5a2f3 --- /dev/null +++ b/.github/actions/download-sdk/action.yml @@ -0,0 +1,19 @@ +name: Download SDK asset +description: Restores the SDK asset for a language. + +inputs: + language: + required: true + description: One of nodejs, python, dotnet, go, java + +runs: + using: "composite" + steps: + - name: Download ${{ inputs.language }} SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: ${{ inputs.language }}-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: Uncompress SDK folder + shell: bash + run: tar -zxf ${{ github.workspace }}/sdk/${{ inputs.language }}.tar.gz -C ${{ github.workspace }}/sdk/${{ inputs.language }} diff --git a/.github/actions/setup-tools/action.yml b/.github/actions/setup-tools/action.yml new file mode 100644 index 0000000..660f152 --- /dev/null +++ b/.github/actions/setup-tools/action.yml @@ -0,0 +1,91 @@ +name: Setup tools +description: Installs Go, Pulumi, pulumictl, schema-tools, Node.JS, Python, dotnet and Java. + +inputs: + tools: + description: | + Comma separated list of tools to install. The default of "all" installs all tools. Available tools are: + go + pulumicli + pulumictl + schema-tools + nodejs + python + dotnet + java + default: all + cache-go: + description: | + Whether to enable the GitHub cache for Go. Appropriate for disabling in + smaller jobs that typically completely before the "real" job has an + opportunity to populate the cache. + default: "true" + +runs: + using: "composite" + steps: + - name: Install Go + if: inputs.tools == 'all' || contains(inputs.tools, 'go') + uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5 + with: + go-version: "1.21.x" + cache-dependency-path: | + provider/*.sum + upstream/*.sum + sdk/go/*.sum + sdk/*.sum + *.sum + # TODO(https://github.com/actions/setup-go/issues/316): Restore but don't save the cache. + cache: ${{ inputs.cache-go }} + + - name: Install pulumictl + if: inputs.tools == 'all' || contains(inputs.tools, 'pulumictl') + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + tag: v0.0.46 + repo: pulumi/pulumictl + + - name: Install Pulumi CLI + if: inputs.tools == 'all' || contains(inputs.tools, 'pulumicli') + uses: pulumi/actions@13b8b7177d6fb736766875dac9b78aab07bd785f # v6 + with: + pulumi-version: "dev" + + - name: Install Schema Tools + if: inputs.tools == 'all' || contains(inputs.tools, 'schema-tools') + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/schema-tools + + - name: Setup Node + if: inputs.tools == 'all' || contains(inputs.tools, 'nodejs') + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4 + with: + node-version: 20.x + registry-url: https://registry.npmjs.org + + - name: Setup DotNet + if: inputs.tools == 'all' || contains(inputs.tools, 'dotnet') + uses: actions/setup-dotnet@3951f0dfe7a07e2313ec93c75700083e2005cbab # v4.3.0 + with: + dotnet-version: 6.0.x + + - name: Setup Python + if: inputs.tools == 'all' || contains(inputs.tools, 'python') + uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0 + with: + python-version: 3.11.8 + + - name: Setup Java + if: inputs.tools == 'all' || contains(inputs.tools, 'java') + uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0 + with: + cache: gradle + distribution: temurin + java-version: 11 + + - name: Setup Gradle + if: inputs.tools == 'all' || contains(inputs.tools, 'java') + uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3 + with: + gradle-version: 7.6 diff --git a/.github/actions/upload-prerequisites/action.yml b/.github/actions/upload-prerequisites/action.yml new file mode 100644 index 0000000..5ae8166 --- /dev/null +++ b/.github/actions/upload-prerequisites/action.yml @@ -0,0 +1,23 @@ +name: Upload SDK asset +description: Upload the SDK for a specific language as an asset for the workflow. + +runs: + using: "composite" + steps: + - name: Capture executable permissions + shell: bash + run: find bin -type f -executable > bin/executables.txt + + - name: Upload prerequisites bin + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 + with: + name: prerequisites-bin + path: bin/* + retention-days: 30 + + - name: Upload schema-embed.json + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 + with: + name: schema-embed.json + path: provider/cmd/pulumi-resource-zitadel/schema-embed.json + retention-days: 30 diff --git a/.github/actions/upload-sdk/action.yml b/.github/actions/upload-sdk/action.yml new file mode 100644 index 0000000..401eeda --- /dev/null +++ b/.github/actions/upload-sdk/action.yml @@ -0,0 +1,20 @@ +name: Upload SDK asset +description: Upload the SDK for a specific language as an asset for the workflow. + +inputs: + language: + required: true + description: One of nodejs, python, dotnet, go, java + +runs: + using: "composite" + steps: + - name: Compress SDK folder + shell: bash + run: tar -zcf sdk/${{ inputs.language }}.tar.gz -C sdk/${{ inputs.language }} . + - name: Upload artifacts + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 + with: + name: ${{ inputs.language }}-sdk.tar.gz + path: ${{ github.workspace}}/sdk/${{ inputs.language }}.tar.gz + retention-days: 30 diff --git a/.github/workflows/build_provider.yml b/.github/workflows/build_provider.yml new file mode 100644 index 0000000..0fc9cc7 --- /dev/null +++ b/.github/workflows/build_provider.yml @@ -0,0 +1,73 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt + +name: "Build Provider" + +on: + workflow_call: + inputs: + version: + required: true + type: string + description: Version of the provider to build + +jobs: + build_provider: + name: Build ${{ matrix.platform.os }}-${{ matrix.platform.arch }} + runs-on: ubuntu-latest + env: + PROVIDER_VERSION: ${{ inputs.version }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + strategy: + fail-fast: true + matrix: + platform: + - os: linux + arch: amd64 + - os: linux + arch: arm64 + - os: darwin + arch: amd64 + - os: darwin + arch: arm64 + - os: windows + arch: amd64 + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + # Without ldid cross-compiling Node binaries on a Linux worker intended to work on darwin-arm64 fails to sign the + # binaries properly and they do not work as expected. See https://github.com/pulumi/pulumi-awsx/issues/1490 + - uses: MOZGIII/install-ldid-action@v1 + with: + tag: v2.1.5-procursus2 + - name: Setup tools + uses: ./.github/actions/setup-tools + with: + tools: pulumictl, go + - name: Prepare local workspace before restoring previously built + run: make prepare_local_workspace + - name: Restore prerequisites + uses: ./.github/actions/download-prerequisites + - name: Restore makefile progress + # This mirrors the targets completed in the prerequisites job + run: make --touch provider schema + + - name: Build provider + run: make "provider-${{ matrix.platform.os }}-${{ matrix.platform.arch }}" + env: + AZURE_SIGNING_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }} + AZURE_SIGNING_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }} + AZURE_SIGNING_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }} + AZURE_SIGNING_KEY_VAULT_URI: ${{ secrets.AZURE_SIGNING_KEY_VAULT_URI }} + SKIP_SIGNING: ${{ secrets.AZURE_SIGNING_CLIENT_ID == '' && secrets.AZURE_SIGNING_CLIENT_SECRET == '' && secrets.AZURE_SIGNING_TENANT_ID == '' && secrets.AZURE_SIGNING_KEY_VAULT_URI == '' }} + + - name: Package provider + run: make provider_dist-${{ matrix.platform.os }}-${{ matrix.platform.arch }} + + - name: Upload artifacts + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 + with: + name: pulumi-resource-zitadel-v${{ inputs.version }}-${{ matrix.platform.os }}-${{ matrix.platform.arch }}.tar.gz + path: bin/pulumi-resource-zitadel-v${{ inputs.version }}-${{ matrix.platform.os }}-${{ matrix.platform.arch }}.tar.gz + retention-days: 30 diff --git a/.github/workflows/build_sdk.yml b/.github/workflows/build_sdk.yml new file mode 100644 index 0000000..5151596 --- /dev/null +++ b/.github/workflows/build_sdk.yml @@ -0,0 +1,124 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt + +name: "Build SDK" + +on: + workflow_call: + inputs: + version: + required: true + type: string + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + PYPI_USERNAME: __token__ + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + TF_APPEND_USER_AGENT: pulumi + PROVIDER_VERSION: ${{ inputs.version }} + +jobs: + build_sdk: + name: build_sdk + runs-on: ubuntu-latest + strategy: + # We normally fail fast unless this is a PR from Renovate in which case + # we'll always build all SDKs in case there are any changes to commit. + fail-fast: ${{ ! contains(github.actor, 'renovate') }} + matrix: + language: + - dotnet + - go + - nodejs + - python + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + - name: Cache examples generation + uses: actions/cache@0c907a75c2c80ebcb7f088228285e798b750cf8f # v4 + with: + path: | + .pulumi/examples-cache + key: ${{ runner.os }}-${{ hashFiles('provider/go.sum') }} + - name: Setup tools + uses: ./.github/actions/setup-tools + with: + tools: pulumictl, pulumicli, ${{ matrix.language }} + - name: Prepare local workspace + run: make prepare_local_workspace + - name: Download prerequisites + uses: ./.github/actions/download-prerequisites + - name: Update path + run: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH" + - name: Restore makefile progress + run: make --touch provider schema + - name: Build SDK + run: make build_${{ matrix.language }} + - name: Check worktree clean + id: worktreeClean + uses: pulumi/git-status-check-action@v1 + with: + # Keep these in sync with the Renovate step below to avoid them getting checked in. + allowed-changes: | + sdk/**/pulumi-plugin.json + sdk/dotnet/*.csproj + sdk/go/**/pulumiUtilities.go + sdk/nodejs/package.json + sdk/python/pyproject.toml + - name: Commit ${{ matrix.language }} SDK changes for Renovate + # If the worktree is dirty and this is a Renovate PR to bump + # dependencies, commit the updated SDK and push it back to the PR. The + # job will still be marked as a failure. + if: failure() && steps.worktreeClean.outcome == 'failure' && contains(github.actor, 'renovate') && github.event_name == 'pull_request' + shell: bash + run: | + git diff --quiet -- sdk && echo "no changes to sdk" && exit + + git config --global user.email "bot@pulumi.com" + git config --global user.name "pulumi-bot" + + # Stash local changes and check out the PR's branch directly. + git stash + git fetch + git checkout "origin/$HEAD_REF" + + # Apply and add our changes, but don't commit any files we expect to + # always change due to versioning. + git stash pop + git add sdk + git reset \ + sdk/python/*/pulumi-plugin.json \ + sdk/python/pyproject.toml \ + sdk/dotnet/pulumi-plugin.json \ + sdk/dotnet/Pulumi.*.csproj \ + sdk/go/*/pulumi-plugin.json \ + sdk/go/*/internal/pulumiUtilities.go \ + sdk/nodejs/package.json + git commit -m 'Commit ${{ matrix.language }} SDK for Renovate' + + # Push with pulumi-bot credentials to trigger a re-run of the + # workflow. https://github.com/orgs/community/discussions/25702 + git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} \ + "HEAD:$HEAD_REF" + env: + # head_ref is untrusted so it's recommended to pass via env var to + # avoid injections. + HEAD_REF: ${{ github.head_ref }} + + - name: Upload SDK + uses: ./.github/actions/upload-sdk + with: + language: ${{ matrix.language }} diff --git a/.github/workflows/license.yml b/.github/workflows/license.yml new file mode 100644 index 0000000..16d825c --- /dev/null +++ b/.github/workflows/license.yml @@ -0,0 +1,63 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt + +name: license_check + +on: + workflow_call: + inputs: {} + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + PYPI_USERNAME: __token__ + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + TF_APPEND_USER_AGENT: pulumi + +jobs: + license_check: + name: License Check + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + - name: Setup tools + uses: ./.github/actions/setup-tools + with: + tools: go + cache-go: false + - run: make prepare_local_workspace + continue-on-error: true + - uses: pulumi/license-check-action@main + with: + module-path: provider + ignore-modules: >- + github.com/aead/chacha20, + github.com/apache/arrow/go/v12, + github.com/apache/thrift/lib/go/thrift, + github.com/cloudflare/circl, + github.com/golang, + github.com/gorhill/cronexpr, + github.com/in-toto/in-toto-golang, + github.com/jmespath/go-jmespath, + github.com/keybase/go-crypto, + github.com/klauspost/compress, + github.com/mattn/go-localereader, + github.com/modern-go/reflect2, + github.com/pierrec/lz4, + github.com/pjbgf/sha1cd, + github.com/pulumi, + github.com/segmentio/asm, + golang.org diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..63c10ee --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,54 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt + +name: lint + +on: + workflow_call: + inputs: {} + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + PYPI_USERNAME: __token__ + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + TF_APPEND_USER_AGENT: pulumi + +jobs: + lint: + name: lint + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + - name: Install go + uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5 + with: + # The versions of golangci-lint and setup-go here cross-depend and need to update together. + go-version: 1.23 + # Either this action or golangci-lint needs to disable the cache + cache: false + - name: disarm go:embed directives to enable lint + continue-on-error: true # this fails if there are no go:embed directives + run: | + git grep -l 'go:embed' -- provider | xargs sed -i 's/go:embed/ goembed/g' + - name: prepare workspace + continue-on-error: true + run: make prepare_local_workspace + - name: golangci-lint + uses: golangci/golangci-lint-action@2226d7cb06a077cd73e56eedd38eecad18e5d837 # v6 + with: + version: v1.60 + working-directory: provider diff --git a/.github/workflows/main-post-build.yml b/.github/workflows/main-post-build.yml new file mode 100644 index 0000000..4d34618 --- /dev/null +++ b/.github/workflows/main-post-build.yml @@ -0,0 +1,20 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt + +name: "Main post-build" + +on: + workflow_call: + inputs: + version: + type: string + required: true + +jobs: + post_build: + name: post_build + runs-on: ubuntu-latest + if: false + steps: + - name: Placeholder + shell: bash + run: echo "This is a placeholder job to ensure that the post_build job is always present" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cb7d9f3..ea028dc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,23 +1,121 @@ -name: main - -on: - push: - workflow_dispatch: +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + PYPI_USERNAME: __token__ + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + TF_APPEND_USER_AGENT: pulumi jobs: prerequisites: - permissions: - pull-requests: write - uses: pulumiverse/infra/.github/workflows/provider-prerequisites.yaml@actions-workflows-v0.0.4 + uses: ./.github/workflows/prerequisites.yml + secrets: inherit + with: + default_branch: ${{ github.event.repository.default_branch }} + is_pr: ${{ github.event_name == 'pull_request' }} + is_automated: ${{ github.actor == 'dependabot[bot]' }} + + build_provider: + uses: ./.github/workflows/build_provider.yml + needs: prerequisites + secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} + + build_sdk: + name: build_sdk + needs: prerequisites + uses: ./.github/workflows/build_sdk.yml + secrets: inherit with: - provider: zitadel - goversion: 1.21.x - build: + version: ${{ needs.prerequisites.outputs.version }} + + post_build: + name: post_build needs: prerequisites - uses: pulumiverse/infra/.github/workflows/provider-build-sdk.yaml@actions-workflows-v0.0.4 + uses: ./.github/workflows/main-post-build.yml + secrets: inherit with: - provider: zitadel - goversion: 1.21.x - dotnetversion: 6.0.300 - nodeversion: 20.x - pythonversion: 3.9 + version: ${{ needs.prerequisites.outputs.version }} + + lint: + name: lint + uses: ./.github/workflows/lint.yml + secrets: inherit + license_check: + name: License Check + uses: ./.github/workflows/license.yml + secrets: inherit + + publish: + name: publish + permissions: + contents: write + id-token: write + needs: + - prerequisites + - build_provider + - test + - license_check + uses: ./.github/workflows/publish.yml + secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} + isPrerelease: true + skipGoSdk: true + skipJavaSdk: true + + tag_release_if_labeled_needs_release: + name: Tag release if labeled as needs-release + needs: publish + runs-on: ubuntu-latest + steps: + - name: check if this commit needs release + if: ${{ env.RELEASE_BOT_ENDPOINT != '' }} + uses: pulumi/action-release-by-pr-label@main + with: + command: "release-if-needed" + repo: ${{ github.repository }} + commit: ${{ github.sha }} + slack_channel: ${{ secrets.RELEASE_OPS_SLACK_CHANNEL }} + env: + RELEASE_BOT_ENDPOINT: ${{ secrets.RELEASE_BOT_ENDPOINT }} + RELEASE_BOT_KEY: ${{ secrets.RELEASE_BOT_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + test: + uses: ./.github/workflows/test.yml + needs: + - prerequisites + - build_provider + - build_sdk + permissions: + contents: read + id-token: write + secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} + +name: main +on: + workflow_dispatch: {} + push: + branches: + - main + paths-ignore: + - "**.md" + tags-ignore: + - v* + - sdk/* + - "**" diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml new file mode 100644 index 0000000..0884bd7 --- /dev/null +++ b/.github/workflows/prerelease.yml @@ -0,0 +1,87 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt + +env: + IS_PRERELEASE: true + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + PYPI_USERNAME: __token__ + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + TF_APPEND_USER_AGENT: pulumi +jobs: + prerequisites: + uses: ./.github/workflows/prerequisites.yml + secrets: inherit + with: + default_branch: ${{ github.event.repository.default_branch }} + is_pr: ${{ github.event_name == 'pull_request' }} + is_automated: ${{ github.actor == 'dependabot[bot]' }} + + build_provider: + uses: ./.github/workflows/build_provider.yml + needs: prerequisites + secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} + + build_sdk: + name: build_sdk + needs: prerequisites + uses: ./.github/workflows/build_sdk.yml + secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} + + lint: + name: lint + uses: ./.github/workflows/lint.yml + secrets: inherit + license_check: + name: License Check + uses: ./.github/workflows/license.yml + secrets: inherit + + publish: + name: publish + permissions: + contents: write + id-token: write + needs: + - prerequisites + - build_provider + - test + - license_check + uses: ./.github/workflows/publish.yml + secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} + isPrerelease: true + + test: + uses: ./.github/workflows/test.yml + needs: + - prerequisites + - build_provider + - build_sdk + permissions: + contents: read + id-token: write + secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} + +name: prerelease +on: + push: + tags: + - v*.*.*-** diff --git a/.github/workflows/prerequisites.yml b/.github/workflows/prerequisites.yml new file mode 100644 index 0000000..cff96fa --- /dev/null +++ b/.github/workflows/prerequisites.yml @@ -0,0 +1,100 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt + +name: "Prerequisites" + +on: + workflow_call: + inputs: + is_pr: + type: boolean + required: true + is_automated: + type: boolean + required: true + default_branch: + type: string + required: true + outputs: + version: + description: "Provider version being built" + value: ${{ jobs.prerequisites.outputs.version }} + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + PYPI_USERNAME: __token__ + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + TF_APPEND_USER_AGENT: pulumi + +jobs: + prerequisites: + name: prerequisites + runs-on: ubuntu-latest + outputs: + version: ${{ steps.provider-version.outputs.version }} + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + - uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0 + id: provider-version + with: + major-version: 0 + set-env: 'PROVIDER_VERSION' + - name: Cache examples generation + uses: actions/cache@0c907a75c2c80ebcb7f088228285e798b750cf8f # v4 + with: + path: | + .pulumi/examples-cache + key: ${{ runner.os }}-${{ hashFiles('provider/go.sum') }} + - name: Setup tools + uses: ./.github/actions/setup-tools + with: + tools: go, pulumictl, pulumicli, schema-tools + - name: Prepare local workspace before restoring previously built files + run: make prepare_local_workspace + - name: Generate schema + run: make schema + - name: Build provider binary + run: make provider + - name: Unit-test provider code + run: make test_provider + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v5.3.1 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + - if: inputs.is_pr + name: Check Schema is Valid + run: | + EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) + { + echo "SCHEMA_CHANGES<<$EOF"; + schema-tools compare -r github://api.github.com/pulumiverse -p zitadel -o "${{ inputs.default_branch }}" -n --local-path=provider/cmd/pulumi-resource-zitadel/schema.json; + echo "$EOF"; + } >> "$GITHUB_ENV" + - if: inputs.is_pr && inputs.is_automated == false && github.actor != 'dependabot[bot]' + name: Comment on PR with Details of Schema Check + uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + comment-tag: schemaCheck + message: >+ + ${{ env.SCHEMA_CHANGES }} + + + Maintainer note: consult the [runbook](https://github.com/pulumi/platform-providers-team/blob/main/playbooks/tf-provider-updating.md) for dealing with any breaking changes. + + - name: Upload artifacts + uses: ./.github/actions/upload-prerequisites diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..3a6899d --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,195 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt +name: Publish + +on: + workflow_call: + inputs: + version: + required: true + type: string + isPrerelease: + required: true + type: boolean + skipGoSdk: + default: false + type: boolean + description: Skip publishing & verifying the Go SDK + skipJavaSdk: + default: false + type: boolean + description: Skip publishing the Java SDK + +env: + IS_PRERELEASE: ${{ inputs.isPrerelease }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + PYPI_USERNAME: __token__ + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + TF_APPEND_USER_AGENT: pulumi + +jobs: + publish: + name: publish + runs-on: ubuntu-latest + steps: + - name: Validate prerelease + if: inputs.isPrerelease == false && (contains(inputs.version, '-') || contains(inputs.version, '+')) + run: echo "Can't publish a prerelease version as a stable release. This is likely a bug in the calling workflow." && exit 1 + - name: Validate skipGoSdk + if: inputs.skipGoSdk && inputs.isPrerelease == false + run: echo "Can't skip Go SDK for stable releases. This is likely a bug in the calling workflow." && exit 1 + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + - name: Setup tools + uses: ./.github/actions/setup-tools + with: + tools: pulumictl, pulumicli, go, schema-tools + - name: Create dist directory + run: mkdir -p dist + - name: Download provider assets + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + pattern: pulumi-resource-zitadel-v${{ inputs.version }}-* + path: dist + # Don't create a directory for each artifact + merge-multiple: true + - name: Download schema + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + # Use a pattern to avoid failing if the artifact doesn't exist + pattern: schema-embed.* + # Avoid creating directories for each artifact + merge-multiple: true + path: dist + - name: Calculate checksums + working-directory: dist + run: shasum ./*.tar.gz > "pulumi-zitadel_${{ inputs.version }}_checksums.txt" + - name: Get Schema Change Summary + id: schema-summary + shell: bash + run: | + # Get latest stable release. Return only first column from result (tag). + LAST_VERSION=$(gh release view --repo pulumiverse/pulumi-zitadel --json tagName -q .tagName || echo "No stable release" ) + { + echo 'summary<> "$GITHUB_OUTPUT" + - name: Create GH Release + uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v2 + if: inputs.isPrerelease == false + with: + tag_name: v${{ inputs.version }} + prerelease: ${{ inputs.isPrerelease }} + # We keep pre-releases as drafts so they're not visible until we manually publish them. + draft: ${{ inputs.isPrerelease }} + body: ${{ steps.schema-summary.outputs.summary }} + generate_release_notes: true + files: dist/* + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + publish_sdk: + name: publish_sdk + needs: publish + runs-on: ubuntu-latest + outputs: + python_version: ${{ steps.python_version.outputs.version }} + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + # Persist credentials so we can push back to the repo + persist-credentials: true + - name: Setup tools + uses: ./.github/actions/setup-tools + with: + tools: pulumictl, pulumicli, dotnet, go, nodejs, python + - name: Publish SDKs + if: inputs.skipJavaSdk == false + uses: pulumi/pulumi-package-publisher@696a0fe98f86d86ada2a842d1859f3e8c40d6cd7 # v0.0.21 + with: + sdk: all,!java + version: ${{ inputs.version }} + - name: Publish SDKs (except Java) + if: inputs.skipJavaSdk == true + uses: pulumi/pulumi-package-publisher@696a0fe98f86d86ada2a842d1859f3e8c40d6cd7 # v0.0.21 + with: + sdk: all,!java,!java + version: ${{ inputs.version }} + - name: Download Go SDK + uses: ./.github/actions/download-sdk + with: + language: go + - uses: pulumi/publish-go-sdk-action@v1 + if: inputs.skipGoSdk == false + with: + repository: ${{ github.repository }} + base-ref: ${{ github.sha }} + source: sdk + path: sdk + version: ${{ inputs.version }} + additive: false + # Avoid including other language SDKs & artifacts in the commit + files: | + go.* + go/** + !*.tar.gz + - name: Extract python version + id: python_version + working-directory: sdk/python + run: | + pip install toml-cli==0.7.0 + version=$(toml get --toml-path pyproject.toml project.version) + echo "version=${version}" >> "$GITHUB_OUTPUT" + + clean_up_release_labels: + name: Clean up release labels + # Only run for non-prerelease, if the publish_go_sdk job was successful or skipped + if: inputs.isPrerelease == false + + needs: publish_sdk + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + - name: Clean up release labels + uses: pulumi/action-release-by-pr-label@main + with: + command: "clean-up-release-labels" + repo: ${{ github.repository }} + commit: ${{ github.sha }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + verify_release: + name: verify_release + needs: publish_sdk + permissions: + contents: write + id-token: write + uses: ./.github/workflows/verify-release.yml + secrets: inherit + with: + providerVersion: ${{ inputs.version }} + # Prelease is run often but we only have 5 concurrent macos runners, so we only test after the stable release. + enableMacRunner: ${{ inputs.isPrerelease == false }} + skipGoSdk: ${{ inputs.skipGoSdk }} + pythonVersion: ${{ needs.publish_sdk.outputs.python_version }} diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml new file mode 100644 index 0000000..99f8d80 --- /dev/null +++ b/.github/workflows/pull-request.yml @@ -0,0 +1,40 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + PYPI_USERNAME: __token__ + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + TF_APPEND_USER_AGENT: pulumi +jobs: + comment-on-pr: + if: github.event.pull_request.head.repo.full_name != github.repository + name: comment-on-pr + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + - name: Comment PR + uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + message: > + PR is now waiting for a maintainer to run the acceptance tests. + + **Note for the maintainer:** To run the acceptance tests, please comment */run-acceptance-tests* on the PR +name: pull-request +on: + pull_request_target: {} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ee9a754..c1df66f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,148 +1,87 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt name: release on: push: - branches: - - main + tags: + - v*.*.* + - "!v*.*.*-**" + env: - # THIS GITHUB_TOKEN IS A REQUIREMENT TO BE ABLE TO WRITE TO GH RELEASES GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # IF YOU NEED TO PUBLISH A NPM PACKAGE THEN ENSURE A NPM_TOKEN SECRET IS SET - # AND PUBLISH_NPM: TRUE. IF YOU WANT TO PUBLISH TO A PRIVATE NPM REGISTRY - # THEN ENSURE THE NPM_REGISTRY_URL IS CHANGED + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - PUBLISH_NPM: true - NPM_REGISTRY_URL: https://registry.npmjs.org - # IF YOU NEED TO PUBLISH A NUGET PACKAGE THEN ENSURE AN NUGET_PUBLISH_KEY - # SECRET IS SET AND PUBLISH_NUGET: TRUE. IF YOU WANT TO PUBLISH TO AN ALTERNATIVE - # NPM REGISTRY THEN ENSURE THE NPM_REGISTRY_URL IS CHANGED NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} - NUGET_FEED_URL: https://api.nuget.org/v3/index.json - PUBLISH_NUGET: true - # IF YOU NEED TO PUBLISH A PYPI PACKAGE THEN ENSURE AN PYPI_PASSWORD - # SECRET IS SET AND PUBLISH_PYPI: TRUE. IF YOU WANT TO PUBLISH TO AN ALTERNATIVE - # PYPI REGISTRY THEN ENSURE THE PYPI_REPOSITORY_URL IS SET. IF YOU ARE USING AN API_TOKEN THEN - # YOU DO NOT NEED TO CHANGE THE PYPI_USERNAME (__token__) , IF YOU ARE USING PASSWORD AUTHENTICATION THEN YOU WILL - # NEED TO CHANGE TO USE THE CORRECT PASSWORD - PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }} - PYPI_USERNAME: "__token__" - PYPI_REPOSITORY_URL: "" - PUBLISH_PYPI: true + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + PYPI_USERNAME: __token__ + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + TF_APPEND_USER_AGENT: pulumi jobs: - publish_binary: + prerequisites: + uses: ./.github/workflows/prerequisites.yml + secrets: inherit + with: + default_branch: ${{ github.event.repository.default_branch }} + is_pr: ${{ github.event_name == 'pull_request' }} + is_automated: ${{ github.actor == 'dependabot[bot]' }} + + build_provider: + uses: ./.github/workflows/build_provider.yml + needs: prerequisites + secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} + + build_sdk: + name: build_sdk + needs: prerequisites + uses: ./.github/workflows/build_sdk.yml + secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} + + lint: + name: lint + uses: ./.github/workflows/lint.yml + secrets: inherit + license_check: + name: License Check + uses: ./.github/workflows/license.yml + secrets: inherit + + publish: name: publish - runs-on: ubuntu-latest permissions: contents: write - steps: - - name: Checkout Repo - uses: actions/checkout@v2 - - name: Bump version - id: version - uses: mapped/action-vtl@latest - with: - baseVersion: 0.1.3 - gitHubToken: ${{ secrets.GITHUB_TOKEN }} - # No need to create VERSION file - versionFile: "" - - name: Unshallow clone for tags - run: git fetch --prune --unshallow --tags - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.5.0 - with: - repo: pulumi/pulumictl - - name: Set PreRelease Version - run: echo "GORELEASER_CURRENT_TAG=${{ steps.version.outputs.release_tag }}" >> $GITHUB_ENV - - name: Run GoReleaser - uses: goreleaser/goreleaser-action@v4 - with: - args: -p 3 release --rm-dist - version: latest - strategy: - fail-fast: true - matrix: - goversion: - - 1.21.x - publish_sdk: - name: Publish SDKs - runs-on: ubuntu-latest - needs: publish_binary - permissions: + pull-requests: write id-token: write - steps: - - name: Checkout Repo - uses: actions/checkout@v2 - - name: Unshallow clone for tags - run: git fetch --prune --unshallow --tags - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{ matrix.goversion }} - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.5.0 - with: - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/action-install-pulumi-cli@v2.0.0 - - name: Setup Node - uses: actions/setup-node@v1 - with: - node-version: ${{matrix.nodeversion}} - registry-url: ${{env.NPM_REGISTRY_URL}} - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Python - uses: actions/setup-python@v1 - with: - python-version: ${{matrix.pythonversion}} - - name: Build SDK - run: make build_${{ matrix.language }} - - name: Check worktree clean - run: | - git update-index -q --refresh - if ! git diff-files --quiet; then - >&2 echo "error: working tree is not clean, aborting!" - git status - git diff - exit 1 - fi - - if: ${{ matrix.language == 'python' && env.PUBLISH_PYPI == 'true' }} - name: Publish package to PyPI - uses: pypa/gh-action-pypi-publish@release/v1 - with: - user: ${{ env.PYPI_USERNAME }} - password: ${{ env.PYPI_PASSWORD }} - packages_dir: ${{github.workspace}}/sdk/python/bin/dist - - if: ${{ matrix.language == 'nodejs' && env.PUBLISH_NPM == 'true' }} - uses: JS-DevTools/npm-publish@v1 - with: - access: "public" - token: ${{ env.NPM_TOKEN }} - package: ${{github.workspace}}/sdk/nodejs/bin/package.json - - if: ${{ matrix.language == 'dotnet' && env.PUBLISH_NUGET == 'true' }} - name: publish nuget package - run: | - dotnet nuget push ${{github.workspace}}/sdk/dotnet/bin/Debug/*.nupkg -s ${{ env.NUGET_FEED_URL }} -k ${{ env.NUGET_PUBLISH_KEY }} - echo "done publishing packages" - strategy: - fail-fast: true - matrix: - dotnetversion: - - 6.0.300 - goversion: - - 1.21.x - language: - - nodejs - - python - - dotnet - - go - nodeversion: - - 20.x - pythonversion: - - "3.9" + needs: + - prerequisites + - build_provider + - test + - license_check + uses: ./.github/workflows/publish.yml + secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} + isPrerelease: false + test: + uses: ./.github/workflows/test.yml + needs: + - prerequisites + - build_provider + - build_sdk + permissions: + contents: read + id-token: write + secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} diff --git a/.github/workflows/resync-build.yml b/.github/workflows/resync-build.yml new file mode 100644 index 0000000..8c97612 --- /dev/null +++ b/.github/workflows/resync-build.yml @@ -0,0 +1,41 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt +name: "Resync Build Workflows" + +on: + schedule: + # 3 AM UTC ~ 8 PM PDT / 7 PM PST every Tuesday. + - cron: 0 3 * * TUE + +permissions: + contents: write + pull-requests: write + +env: + GITHUB_TOKEN: ${{ secrets.PULUMI_PROVIDER_AUTOMATION_TOKEN || secrets.PULUMI_BOT_TOKEN || secrets.GITHUB_TOKEN }} + +jobs: + upgrade_provider: + name: pull-workflow-changes + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@v4 + with: + # Persist credentials so pull-workflow-changes can push a new branch. + persist-credentials: true + - name: Regenerate the workflow files via https://github.com/pulumi/ci-mgmt + run: | + make ci-mgmt + - name: Create PR (no linked issue) + uses: peter-evans/create-pull-request@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f # v7.0.6 + with: + author: pulumi-bot + base: main + body: This pull request was generated automatically by the resync-build workflow + in this repository. + branch: chore/resync-${{ github.run_id }} + commit-message: Regenerate workflows for pulumi-zitadel + committer: pulumi-bot + labels: impact/no-changelog-required + title: Regenerate Github Actions workflows for pulumi-zitadel + token: ${{ env.GITHUB_TOKEN }} diff --git a/.github/workflows/run-acceptance-tests.yml b/.github/workflows/run-acceptance-tests.yml new file mode 100644 index 0000000..332bba0 --- /dev/null +++ b/.github/workflows/run-acceptance-tests.yml @@ -0,0 +1,135 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt + +name: run-acceptance-tests + +on: + pull_request: + paths-ignore: + - CHANGELOG.md + repository_dispatch: + types: + - run-acceptance-tests-command + +env: + PR_COMMIT_SHA: ${{ github.event.client_payload.pull_request.head.sha }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + PYPI_USERNAME: __token__ + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + TF_APPEND_USER_AGENT: pulumi + +# This should cancel any previous runs of the same workflow on the same branch which are still running. +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + prerequisites: + if: github.event_name == 'repository_dispatch' || + github.event.pull_request.head.repo.full_name == github.repository + permissions: + contents: read + pull-requests: write + uses: ./.github/workflows/prerequisites.yml + secrets: inherit + with: + default_branch: ${{ github.event.repository.default_branch }} + is_pr: ${{ github.event_name == 'pull_request' }} + is_automated: ${{ github.actor == 'dependabot[bot]' }} + + build_provider: + uses: ./.github/workflows/build_provider.yml + needs: prerequisites + secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} + + build_sdk: + if: github.event_name == 'repository_dispatch' || + github.event.pull_request.head.repo.full_name == github.repository + name: build_sdk + needs: prerequisites + uses: ./.github/workflows/build_sdk.yml + secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} + + comment-notification: + if: github.event_name == 'repository_dispatch' + name: comment-notification + permissions: + pull-requests: write + runs-on: ubuntu-latest + steps: + - id: run-url + name: Create URL to the run output + run: echo "run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> "$GITHUB_OUTPUT" + - name: Update with Result + uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 + with: + body: "Please view the PR build: ${{ steps.run-url.outputs.run-url }}" + issue-number: ${{ github.event.client_payload.github.payload.issue.number }} + repository: ${{ github.event.client_payload.github.payload.repository.full_name }} + token: ${{ secrets.GITHUB_TOKEN }} + lint: + if: github.event_name == 'repository_dispatch' || + github.event.pull_request.head.repo.full_name == github.repository + name: lint + uses: ./.github/workflows/lint.yml + secrets: inherit + sentinel: + name: sentinel + if: github.event_name == 'repository_dispatch' || + github.event.pull_request.head.repo.full_name == github.repository + permissions: + statuses: write + needs: + - test + - build_provider + - license_check + - lint + runs-on: ubuntu-latest + steps: + - uses: guibranco/github-status-action-v2@0849440ec82c5fa69b2377725b9b7852a3977e76 # v1.1.13 + with: + authToken: ${{secrets.GITHUB_TOKEN}} + # Write an explicit status check called "Sentinel" which will only pass if this code really runs. + # This should always be a required check for PRs. + context: 'Sentinel' + description: 'All required checks passed' + state: 'success' + # Write to the PR commit SHA if it's available as we don't want the merge commit sha, + # otherwise use the current SHA for any other type of build. + sha: ${{ github.event.pull_request.head.sha || github.sha }} + + test: + # Don't run tests on PRs from forks. + if: github.event_name == 'repository_dispatch' || + github.event.pull_request.head.repo.full_name == github.repository + uses: ./.github/workflows/test.yml + needs: + - prerequisites + - build_provider + - build_sdk + permissions: + contents: read + id-token: write + secrets: inherit + with: + version: ${{ needs.prerequisites.outputs.version }} + + license_check: + name: License Check + uses: ./.github/workflows/license.yml + secrets: inherit diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..fef197e --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,89 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt + +name: "Test Provider" + +on: + workflow_call: + inputs: + version: + required: true + type: string + description: Version of the provider to test + +env: + PR_COMMIT_SHA: ${{ github.event.client_payload.pull_request.head.sha }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + PYPI_USERNAME: __token__ + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + TF_APPEND_USER_AGENT: pulumi + +jobs: + test: + permissions: + contents: read + id-token: write + runs-on: ubuntu-latest + env: + PROVIDER_VERSION: ${{ inputs.version }} + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + ref: ${{ env.PR_COMMIT_SHA }} + persist-credentials: false + - name: Checkout p/examples + if: matrix.testTarget == 'pulumiExamples' + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + repository: pulumi/examples + path: p-examples + - name: Setup tools + uses: ./.github/actions/setup-tools + with: + tools: pulumictl, pulumicli, ${{ matrix.language }} + - name: Prepare local workspace + run: make prepare_local_workspace + - name: Download bin + uses: ./.github/actions/download-provider + - name: Download SDK + uses: ./.github/actions/download-sdk + with: + language: ${{ matrix.language }} + - name: Restore makefile progress + run: make --touch provider schema build_${{ matrix.language }} + - name: Update path + run: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH" + - name: Install Python deps + if: matrix.language == 'python' + run: |- + pip3 install virtualenv==20.0.23 + pip3 install pipenv + - name: Install dependencies + run: make install_${{ matrix.language}}_sdk + - name: Run tests + if: matrix.testTarget == 'local' + run: cd examples && go test -v -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -skip TestPulumiExamples -parallel 4 . + - name: Run pulumi/examples tests + if: matrix.testTarget == 'pulumiExamples' + run: cd examples && go test -v -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -run TestPulumiExamples -parallel 4 . + strategy: + fail-fast: false + matrix: + language: + - dotnet + - go + - nodejs + - python + testTarget: [local] diff --git a/.github/workflows/upgrade-bridge.yml b/.github/workflows/upgrade-bridge.yml new file mode 100644 index 0000000..dff77b2 --- /dev/null +++ b/.github/workflows/upgrade-bridge.yml @@ -0,0 +1,100 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt + +name: Upgrade bridge +on: + repository_dispatch: + types: + - upgrade-bridge + - upgrade-bridge-test + workflow_dispatch: + inputs: + kind: + description: Overrides the kind of upgrade. Must be one of `all`, `bridge`, `provider`, `code`, `pf`, or `pulumi`. + required: false + type: string + default: "bridge" + target-bridge-version: + description: pulumi-terraform-bridge version or hash reference + required: false + type: string + default: "latest" + target-pulumi-version: + description: | + Set the version of `pulumi/pkg` and `pulumi/sdk` to depend on for bridged providers. Currently, + these versions inform the linked runtime and SDK generation in all languages except Java. Valid + options are: + - "": Use the same version as pulumi-terraform-bridge + - A go version such as "v3.90.1" + - A commit SHA in pulumi/pulumi such as "ac71ebc1d34e5ccfd1a7fed61e6ff43a3160f3cb" + required: false + type: string + default: "" + pr-reviewers: + description: Reviewers to assign to the auto-opened pull request + required: false + type: string + default: "" + pr-description: + description: Extra description to add to the auto-opened pull request + required: false + type: string + default: "" + pr-title-prefix: + description: Prefix to add to the auto-opened pull request title + required: false + type: string + default: "" + automerge: + description: Mark created PR for auto-merging? + required: false + type: boolean + default: false + +permissions: + contents: write + issues: write + pull-requests: write + +env: + GH_TOKEN: ${{ secrets.PULUMI_PROVIDER_AUTOMATION_TOKEN || secrets.PULUMI_BOT_TOKEN || secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + upgrade_provider: + name: upgrade-provider + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + - name: Setup tools + uses: ./.github/actions/setup-tools + with: + tools: pulumictl, pulumicli, dotnet, go, nodejs, python + - name: Call upgrade provider action + if: github.event_name == 'workflow_dispatch' + uses: pulumi/pulumi-upgrade-provider-action@ff5cb5907aecba099e61146c4d4d074c7fd6ca99 # v0.0.15 + with: + kind: ${{ inputs.kind }} + email: bot@pulumi.com + username: pulumi-bot + automerge: ${{ inputs.automerge }} + target-bridge-version: ${{ inputs.target-bridge-version }} + target-pulumi-version: ${{ inputs.target-pulumi-version }} + pr-reviewers: ${{ inputs.pr-reviewers }} + pr-description: ${{ inputs.pr-description }} + pr-title-prefix: ${{ inputs.pr-title-prefix }} + - name: Call upgrade provider action + if: github.event_name == 'repository_dispatch' + uses: pulumi/pulumi-upgrade-provider-action@ff5cb5907aecba099e61146c4d4d074c7fd6ca99 # v0.0.15 + with: + kind: ${{ github.event.client_payload.kind || 'bridge' }} + email: bot@pulumi.com + username: pulumi-bot + automerge: ${{ github.event.client_payload.automerge }} + target-pulumi-version: ${{ github.event.client_payload.target-pulumi-version }} + target-bridge-version: ${{ github.event.client_payload.target-bridge-version }} + pr-reviewers: ${{ github.event.client_payload.pr-reviewers }} + pr-description: ${{ github.event.client_payload.pr-description }} + pr-title-prefix: ${{ github.event.client_payload.pr-title-prefix }} diff --git a/.github/workflows/upgrade-provider.yml b/.github/workflows/upgrade-provider.yml index aecec2a..791cb97 100644 --- a/.github/workflows/upgrade-provider.yml +++ b/.github/workflows/upgrade-provider.yml @@ -1,58 +1,85 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt + name: Upgrade provider on: workflow_dispatch: + inputs: + version: + description: | + The version of the upstream provider to upgrade to, without the 'v' prefix + + If no version is specified, it will be inferred from the upstream provider's release tags. + required: false + type: string + upgradeProviderVersion: + description: | + Version of upgrade-provider to use. This must be a valid git reference in the pulumi/upgrade-provider repo. Defaults to "main" - schedule: - - cron: "0 5 * * *" + See https://go.dev/ref/mod#versions for valid versions. E.g. "v0.1.0", "main", "da25dec". + default: main + type: string + +permissions: + contents: write + issues: write + pull-requests: write env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_TOKEN: ${{ secrets.PULUMI_PROVIDER_AUTOMATION_TOKEN || secrets.PULUMI_BOT_TOKEN || secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + jobs: - # TODO: Switch to shared CI like here - # https://github.com/pulumiverse/pulumi-vercel/blob/main/.github/workflows/upgrade-provider.yml - # after this issue is fixed - # https://github.com/pulumi/upgrade-provider/issues/179 - # or when have time to fix failing go mod tidy in "all" mode. upgrade_provider: name: upgrade-provider runs-on: ubuntu-latest - permissions: - contents: write - pull-requests: write - issues: write steps: - - name: Install Go - uses: actions/setup-go@v3 + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: - go-version: 1.21.x - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.10.0 + # Persist credentials so upgrade-provider can push a new branch. + persist-credentials: true + - name: Setup tools + uses: ./.github/actions/setup-tools with: - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v4 - - name: Checkout repo - uses: actions/checkout@v3 - with: - ref: ${{ github.ref_name }} - - - name: Unshallow clone for tags - run: git fetch --prune --unshallow --tags - shell: bash + tools: pulumictl, pulumicli, dotnet, go, nodejs, python - name: Install upgrade-provider - run: go install github.com/pulumi/upgrade-provider@176a45cf2471d5fccd6235c385ba1ec17b74a37f + run: go install github.com/pulumi/upgrade-provider@${{ inputs.upgradeProviderVersion || 'main' }} shell: bash - - name: Setup Gradle - uses: gradle/gradle-build-action@v2 - with: - gradle-version: "7.6" - - name: "Set up git identity: name" - run: git config --global user.name 'eliobischof' - shell: bash - - name: Run upgrade-provider + - name: "Set up git identity" run: | - upgrade-provider "$REPO" --kind="provider" --pr-reviewers="eliobischof" + git config --global user.name 'bot@pulumi.com' + git config --global user.email 'bot@pulumi.com' shell: bash + - name: Create issues for new upstream version + if: inputs.version == '' + id: upstream_version + # This step outputs `latest_version` if there is a pending upgrade + run: upgrade-provider "$REPO" --kind=check-upstream-version env: - GH_TOKEN: ${{ env.GH_TOKEN }} REPO: ${{ github.repository }} + shell: bash + - name: Calculate target version + id: target_version + # Prefer the manually specified version if it exists + # upstream_version will be empty if the provider is up-to-date + run: echo "version=${{ github.event.inputs.version || steps.upstream_version.outputs.latest_version }}" >> "$GITHUB_OUTPUT" + shell: bash + - name: Call upgrade provider action + id: upgrade_provider + if: steps.target_version.outputs.version != '' + continue-on-error: true + uses: pulumi/pulumi-upgrade-provider-action@ff5cb5907aecba099e61146c4d4d074c7fd6ca99 # v0.0.15 + with: + kind: all + email: bot@pulumi.com + username: pulumi-bot + automerge: true + target-version: ${{ steps.target_version.outputs.version }} + allow-missing-docs: true + - name: Comment on upgrade issue if automated PR failed + if: steps.upgrade_provider.outcome == 'failure' + shell: bash + run: | + issue_number=$(gh issue list --search "pulumiupgradeproviderissue" --repo "${{ github.repository }}" --json=number --jq=".[0].number") + gh issue comment "${issue_number}" --repo "${{ github.repository }}" --body "Failed to create automatic PR: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}/" + diff --git a/.github/workflows/verify-release.yml b/.github/workflows/verify-release.yml new file mode 100644 index 0000000..7c53f97 --- /dev/null +++ b/.github/workflows/verify-release.yml @@ -0,0 +1,88 @@ +name: "Verify Release" + +on: + workflow_dispatch: + inputs: + providerVersion: + description: "The version of the provider to verify" + required: true + type: string + enableMacRunner: + description: "Enable the MacOS runner in addition to Linux and Windows. Defaults to 'false'." + required: false + type: boolean + skipGoSdk: + description: "Skip the Go SDK verification. Defaults to 'false'. Enable this when verifying a pre-release for which we don't publish the Go SDK (for PRs and the default branch)." + required: false + type: boolean + default: false + pythonVersion: + description: "Optional python SDK version to verify. Defaults to inputs.providerVersion." + type: string + required: false + workflow_call: + inputs: + providerVersion: + description: "The version of the provider to verify" + required: true + type: string + enableMacRunner: + description: "Enable the macos-latest runner in addition to ubuntu-latest and windows-latest. Defaults to 'false'." + required: false + type: boolean + default: false + skipGoSdk: + description: "Skip the Go SDK verification. Defaults to 'false'. This is used when we're not publishing a Go SDK on the default branch build." + required: false + type: boolean + default: false + pythonVersion: + description: "Optional python SDK version to verify. Defaults to inputs.providerVersion." + type: string + required: false + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + PYPI_USERNAME: __token__ + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + TF_APPEND_USER_AGENT: pulumi + +jobs: + verify-release: + name: verify-release + # We don't have any release verification configurations, so we never run this workflow. + # Configure your .ci-mgmt.yaml files to include the release verification configurations e.g. + # releaseVerification: + # nodejs: path/to/nodejs/project + # python: path/to/python/project + # dotnet: path/to/dotnet/project + # go: path/to/go/project + if: false + strategy: + matrix: + # We don't have any release verification configurations, so we only run on Linux to print warnings to help users configure the release verification. + runner: ["ubuntu-latest"] + runs-on: ${{ matrix.runner }} + steps: + - name: Configure Git to checkout files with long names + run: git config --global core.longpaths true + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + - name: Setup tools + uses: ./.github/actions/setup-tools + with: + tools: pulumicli, dotnet, go, nodejs, python diff --git a/.gitignore b/.gitignore index 5ad2e40..d1bf5e6 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,11 @@ provider/**/schema-embed.json **/version.txt **/nuget **/dist + +**/__pycache__ +**/venv + +go.work* + +# Ignore local build tracking directory +.make diff --git a/.golangci.yml b/.golangci.yml index 6569b5b..238aa29 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,24 +1,37 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt + linters: enable: - - deadcode - - errcheck - - goconst - - gofmt - - golint - - gosec - - govet - - ineffassign - - interfacer - - lll - - megacheck - - misspell - - nakedret - - structcheck - - unconvert - - varcheck + - errcheck + - gci + - goconst + - gofmt + - gosec + - govet + - ineffassign + - lll + - gosimple + - staticcheck + - misspell + - nakedret + - revive + - unconvert + - unused enable-all: false +issues: + exclude-dirs: + - pkg/vendored + exclude-files: + - schema.go + - pulumiManifest.go run: - skip-files: - - schema.go - - pulumiManifest.go timeout: 20m +linters-settings: + gci: + sections: + - standard # Standard section: captures all standard library packages. + - blank # Blank section: contains all blank imports. + - default # Default section: contains all imports that could not be matched to another section type. + - prefix(github.com/pulumi/) # Custom section: groups all imports with the github.com/pulumi/ prefix. + - prefix(github.com/pulumiverse/pulumi-zitadel) # Custom section: local imports + custom-order: true diff --git a/.goreleaser.yml b/.goreleaser.yml deleted file mode 100644 index c8fbc35..0000000 --- a/.goreleaser.yml +++ /dev/null @@ -1,28 +0,0 @@ -archives: - - id: archive - name_template: '{{ .Binary }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}' -before: - hooks: - - make tfgen -builds: - - binary: pulumi-resource-zitadel - dir: provider - env: - - CGO_ENABLED=0 - goarch: - - amd64 - - arm64 - goos: - - darwin - - windows - - linux - ldflags: - - -X github.com/pulumiverse/pulumi-zitadel/provider/pkg/version.Version={{.Tag }} - main: ./cmd/pulumi-resource-zitadel/ -changelog: - skip: true -release: - disable: false - prerelease: auto -snapshot: - name_template: '{{ .Tag }}-SNAPSHOT' diff --git a/.pulumi-java-gen.version b/.pulumi-java-gen.version new file mode 100644 index 0000000..589268e --- /dev/null +++ b/.pulumi-java-gen.version @@ -0,0 +1 @@ +1.3.0 \ No newline at end of file diff --git a/Makefile b/Makefile index d4ae11b..234da06 100644 --- a/Makefile +++ b/Makefile @@ -1,125 +1,285 @@ -PROJECT_NAME := zitadel Package +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt -SHELL := /bin/bash -PACK := zitadel -ORG := pulumiverse -PROJECT := github.com/${ORG}/pulumi-${PACK} -NODE_MODULE_NAME := @pulumi/${PACK} -TF_NAME := ${PACK} -PROVIDER_PATH := provider -VERSION_PATH := ${PROVIDER_PATH}/pkg/version.Version +PACK := zitadel +ORG := pulumiverse +PROJECT := github.com/$(ORG)/pulumi-$(PACK) +PROVIDER_PATH := provider +VERSION_PATH := $(PROVIDER_PATH)/pkg/version.Version +CODEGEN := pulumi-tfgen-$(PACK) +PROVIDER := pulumi-resource-$(PACK) +JAVA_GEN := pulumi-java-gen +TESTPARALLELISM := 10 +GOTESTARGS := "" +WORKING_DIR := $(shell pwd) +PULUMI_PROVIDER_BUILD_PARALLELISM ?= +PULUMI_CONVERT := 1 +PULUMI_MISSING_DOCS_ERROR := true -TFGEN := pulumi-tfgen-${PACK} -PROVIDER := pulumi-resource-${PACK} -VERSION := $(shell pulumictl get version) +# Override during CI using `make [TARGET] PROVIDER_VERSION=""` or by setting a PROVIDER_VERSION environment variable +# Local & branch builds will just used this fixed default version unless specified +PROVIDER_VERSION ?= 0.0.0-alpha.0+dev -TESTPARALLELISM := 4 +# Check version doesn't start with a "v" - this is a common mistake +ifeq ($(shell echo $(PROVIDER_VERSION) | cut -c1),v) +$(error PROVIDER_VERSION should not start with a "v") +endif -WORKING_DIR := $(shell pwd) +# Strips debug information from the provider binary to reduce its size and speed up builds +LDFLAGS_STRIP_SYMBOLS=-s -w +LDFLAGS_PROJ_VERSION=-X $(PROJECT)/$(VERSION_PATH)=$(PROVIDER_VERSION) +LDFLAGS_UPSTREAM_VERSION= +LDFLAGS_EXTRAS= +LDFLAGS=$(LDFLAGS_PROJ_VERSION) $(LDFLAGS_UPSTREAM_VERSION) $(LDFLAGS_EXTRAS) $(LDFLAGS_STRIP_SYMBOLS) -OS := $(shell uname) -EMPTY_TO_AVOID_SED := "" +# Create a `.make` directory for tracking targets which don't generate a single file output. This should be ignored by git. +# For targets which either don't generate a single file output, or the output file is committed, we use a "sentinel" +# file within `.make/` to track the staleness of the target and only rebuild when needed. +# For each phony target, we create an internal target with the same name, but prefixed with `.make/` where the work is performed. +# At the end of each internal target we run `@touch $@` to update the file which is the name of the target. -prepare:: - @if test -z "${NAME}"; then echo "NAME not set"; exit 1; fi - @if test -z "${REPOSITORY}"; then echo "REPOSITORY not set"; exit 1; fi - @if test ! -d "provider/cmd/pulumi-tfgen-x${EMPTY_TO_AVOID_SED}yz"; then "Project already prepared"; exit 1; fi +# Ensure all directories exist before evaluating targets to avoid issues with `touch` creating directories. +_ := $(shell mkdir -p .make bin .pulumi/bin) - mv "provider/cmd/pulumi-tfgen-x${EMPTY_TO_AVOID_SED}yz" provider/cmd/pulumi-tfgen-${NAME} - mv "provider/cmd/pulumi-resource-x${EMPTY_TO_AVOID_SED}yz" provider/cmd/pulumi-resource-${NAME} +# Build the provider and all SDKs and install ready for testing +build: install_plugins provider build_sdks install_sdks +# Keep aliases for old targets to ensure backwards compatibility +development: build +only_build: build +# Prepare the workspace for building the provider and SDKs +# Importantly this is run by CI ahead of restoring the bin directory and resuming SDK builds +prepare_local_workspace: install_plugins upstream +# Creates all generated files which need to be committed +generate: generate_sdks schema +generate_sdks: generate_dotnet generate_go generate_nodejs generate_python +build_sdks: build_dotnet build_go build_nodejs build_python +install_sdks: install_dotnet_sdk install_go_sdk install_nodejs_sdk install_python_sdk +.PHONY: development only_build build generate generate_sdks build_sdks install_sdks - if [[ "${OS}" != "Darwin" ]]; then \ - sed -i 's,github.com/pulumi/pulumi-zitadel,${REPOSITORY},g' provider/go.mod; \ - find ./ ! -path './.git/*' -type f -exec sed -i 's/[x]yz/${NAME}/g' {} \; &> /dev/null; \ - fi +help: + @echo "Usage: make [target]" + @echo "" + @echo "Main Targets" + @echo " build (default) Build the provider and all SDKs and install for testing" + @echo " generate Generate all SDKs, documentation and schema" + @echo " provider Build the local provider binary" + @echo " lint_provider<.fix> Run the linter on the provider (& optionally fix)" + @echo " test_provider Run the provider tests" + @echo " test Run the example tests (must run 'build' first)" + @echo " clean Clean up generated files" + @echo "" + @echo "More Precise Targets" + @echo " schema Generate the schema" + @echo " generate_sdks Generate all SDKs" + @echo " build_sdks Build all SDKs" + @echo " install_sdks Install all SDKs" + @echo " provider_dist Build and package the provider for all platforms" + @echo "" + @echo "Tool Targets" + @echo " ci-mgmt Re-generate CI configuration from .ci-mgmt.yaml" + @echo " debug_tfgen Start a debug server for tfgen" + @echo "" + @echo "Internal Targets (automatically run as dependencies of other targets)" + @echo " prepare_local_workspace Prepare for building" + @echo " install_plugins Install plugin dependencies" + @echo " upstream Initialize the upstream submodule, if present" + @echo "" + @echo "Language-Specific Targets" + @echo " generate_[language] Generate the SDK files ready for committing" + @echo " build_[language] Build the SDK to check correctness" + @echo " install_[language]_sdk Install the SDK ready for testing" + @echo "" + @echo " [language] = dotnet go nodejs python" + @echo "" +.PHONY: help - # In MacOS the -i parameter needs an empty string to execute in place. - if [[ "${OS}" == "Darwin" ]]; then \ - sed -i '' 's,github.com/pulumi/pulumi-zitadel,${REPOSITORY},g' provider/go.mod; \ - find ./ ! -path './.git/*' -type f -exec sed -i '' 's/[x]yz/${NAME}/g' {} \; &> /dev/null; \ - fi +GEN_PULUMI_HOME := $(WORKING_DIR)/.pulumi +GEN_PULUMI_CONVERT_EXAMPLES_CACHE_DIR := $(GEN_PULUMI_HOME)/examples-cache +GEN_ENVS := PULUMI_HOME=$(GEN_PULUMI_HOME) PULUMI_CONVERT_EXAMPLES_CACHE_DIR=$(GEN_PULUMI_CONVERT_EXAMPLES_CACHE_DIR) PULUMI_CONVERT=$(PULUMI_CONVERT) PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION=$(PULUMI_CONVERT) -.PHONY: development provider build_sdks build_nodejs build_dotnet build_go build_python cleanup - -development:: install_plugins provider lint_provider build_sdks install_sdks cleanup # Build the provider & SDKs for a development environment - -# Required for the codegen action that runs in pulumi/pulumi and pulumi/pulumi-terraform-bridge -build:: install_plugins provider build_sdks install_sdks -only_build:: build - -tfgen:: install_plugins - (cd provider && go build -o $(WORKING_DIR)/bin/${TFGEN} -ldflags "-X ${PROJECT}/${VERSION_PATH}=${VERSION}" ${PROJECT}/${PROVIDER_PATH}/cmd/${TFGEN}) - $(WORKING_DIR)/bin/${TFGEN} schema --out provider/cmd/${PROVIDER} - (cd provider && VERSION=$(VERSION) go generate cmd/${PROVIDER}/main.go) +generate_dotnet: .make/generate_dotnet +build_dotnet: .make/build_dotnet +.make/generate_dotnet: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) +.make/generate_dotnet: .make/install_plugins bin/$(CODEGEN) + $(GEN_ENVS) $(WORKING_DIR)/bin/$(CODEGEN) dotnet --out sdk/dotnet/ + cd sdk/dotnet/ && \ + printf "module fake_dotnet_module // Exclude this directory from Go tools\n\ngo 1.17\n" > go.mod && \ + echo "$(PROVIDER_VERSION)" >version.txt + @touch $@ +.make/build_dotnet: .make/generate_dotnet + cd sdk/dotnet/ && dotnet build + @touch $@ +.PHONY: generate_dotnet build_dotnet -provider:: tfgen install_plugins # build the provider binary - (cd provider && go build -o $(WORKING_DIR)/bin/${PROVIDER} -ldflags "-X ${PROJECT}/${VERSION_PATH}=${VERSION}" ${PROJECT}/${PROVIDER_PATH}/cmd/${PROVIDER}) +generate_go: .make/generate_go +build_go: .make/build_go +.make/generate_go: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) +.make/generate_go: .make/install_plugins bin/$(CODEGEN) + $(GEN_ENVS) $(WORKING_DIR)/bin/$(CODEGEN) go --out sdk/go/ + @touch $@ +.make/build_go: .make/generate_go + cd sdk && go list "$$(grep -e "^module" go.mod | cut -d ' ' -f 2)/go/..." | xargs -I {} bash -c 'go build {} && go clean -i {}' + @touch $@ +.PHONY: generate_go build_go -build_sdks:: install_plugins provider build_nodejs build_python build_go build_dotnet # build all the sdks +generate_java: .make/generate_java +build_java: .make/build_java +.make/generate_java: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) +.make/generate_java: PACKAGE_VERSION := $(PROVIDER_VERSION) +.make/generate_java: .make/install_plugins bin/pulumi-java-gen .make/schema + PULUMI_HOME=$(GEN_PULUMI_HOME) PULUMI_CONVERT_EXAMPLES_CACHE_DIR=$(GEN_PULUMI_CONVERT_EXAMPLES_CACHE_DIR) bin/$(JAVA_GEN) generate --schema provider/cmd/$(PROVIDER)/schema.json --out sdk/java --build gradle-nexus + printf "module fake_java_module // Exclude this directory from Go tools\n\ngo 1.17\n" > sdk/java/go.mod + @touch $@ +.make/build_java: PACKAGE_VERSION := $(PROVIDER_VERSION) +.make/build_java: .make/generate_java + cd sdk/java/ && \ + gradle --console=plain build && \ + gradle --console=plain javadoc + @touch $@ +.PHONY: generate_java build_java -build_nodejs:: VERSION := $(shell pulumictl get version --language javascript) -build_nodejs:: install_plugins tfgen # build the node sdk - $(WORKING_DIR)/bin/$(TFGEN) nodejs --overlays provider/overlays/nodejs --out sdk/nodejs/ +generate_nodejs: .make/generate_nodejs +build_nodejs: .make/build_nodejs +.make/generate_nodejs: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) +.make/generate_nodejs: .make/install_plugins bin/$(CODEGEN) + $(GEN_ENVS) $(WORKING_DIR)/bin/$(CODEGEN) nodejs --out sdk/nodejs/ + printf "module fake_nodejs_module // Exclude this directory from Go tools\n\ngo 1.17\n" > sdk/nodejs/go.mod + @touch $@ +.make/build_nodejs: .make/generate_nodejs cd sdk/nodejs/ && \ - yarn install && \ - yarn run tsc && \ - cp ../../README.md ../../LICENSE package.json yarn.lock ./bin/ && \ - sed -i.bak -e "s/\$${VERSION}/$(VERSION)/g" ./bin/package.json - -build_python:: PYPI_VERSION := $(shell pulumictl get version --language python) -build_python:: install_plugins tfgen # build the python sdk - $(WORKING_DIR)/bin/$(TFGEN) python --overlays provider/overlays/python --out sdk/python/ + yarn install && \ + yarn run tsc && \ + cp ../../README.md ../../LICENSE* package.json yarn.lock ./bin/ + @touch $@ +.PHONY: generate_nodejs build_nodejs + +generate_python: .make/generate_python +build_python: .make/build_python +.make/generate_python: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) +.make/generate_python: .make/install_plugins bin/$(CODEGEN) + $(GEN_ENVS) $(WORKING_DIR)/bin/$(CODEGEN) python --out sdk/python/ + printf "module fake_python_module // Exclude this directory from Go tools\n\ngo 1.17\n" > sdk/python/go.mod + cp README.md sdk/python/ + @touch $@ +.make/build_python: .make/generate_python cd sdk/python/ && \ - cp ../../README.md . && \ - python3 setup.py clean --all 2>/dev/null && \ - rm -rf ./bin/ ../python.bin/ && cp -R . ../python.bin && mv ../python.bin ./bin && \ - sed -i.bak -e 's/^VERSION = .*/VERSION = "$(PYPI_VERSION)"/g' -e 's/^PLUGIN_VERSION = .*/PLUGIN_VERSION = "$(VERSION)"/g' ./bin/setup.py && \ - rm ./bin/setup.py.bak && \ - cd ./bin && python3 setup.py build sdist - -build_dotnet:: DOTNET_VERSION := $(shell pulumictl get version --language dotnet) -build_dotnet:: install_plugins tfgen # build the dotnet sdk - pulumictl get version --language dotnet - $(WORKING_DIR)/bin/$(TFGEN) dotnet --overlays provider/overlays/dotnet --out sdk/dotnet/ - cd sdk/dotnet/ && \ - echo "${DOTNET_VERSION}" >version.txt && \ - dotnet build /p:Version=${DOTNET_VERSION} + rm -rf ./bin/ ../python.bin/ && cp -R . ../python.bin && mv ../python.bin ./bin && \ + rm ./bin/go.mod && \ + python3 -m venv venv && \ + ./venv/bin/python -m pip install build==1.2.1 && \ + cd ./bin && \ + ../venv/bin/python -m build . + @touch $@ +.PHONY: generate_python build_python -build_go:: install_plugins tfgen # build the go sdk - $(WORKING_DIR)/bin/$(TFGEN) go --overlays provider/overlays/go --out sdk/go/ +clean: + rm -rf sdk/{dotnet,nodejs,go,python} + rm -rf bin/* + rm -rf .make/* + if dotnet nuget list source | grep "$(WORKING_DIR)/nuget"; then \ + dotnet nuget remove source "$(WORKING_DIR)/nuget" \ + ; fi +.PHONY: clean -lint_provider:: provider # lint the provider code - cd provider && golangci-lint run -c ../.golangci.yml +install_dotnet_sdk: .make/install_dotnet_sdk +.make/install_dotnet_sdk: .make/build_dotnet + mkdir -p nuget + find sdk/dotnet/bin -name '*.nupkg' -print -exec cp -p "{}" ${WORKING_DIR}/nuget \; + if ! dotnet nuget list source | grep "${WORKING_DIR}/nuget"; then \ + dotnet nuget add source "${WORKING_DIR}/nuget" --name "${WORKING_DIR}/nuget" \ + ; fi + @touch $@ +install_go_sdk: +install_java_sdk: +install_nodejs_sdk: .make/install_nodejs_sdk +.make/install_nodejs_sdk: .make/build_nodejs + yarn link --cwd $(WORKING_DIR)/sdk/nodejs/bin + @touch $@ +install_python_sdk: +.PHONY: install_dotnet_sdk install_go_sdk install_java_sdk install_nodejs_sdk install_python_sdk -cleanup:: # cleans up the temporary directory - rm -r $(WORKING_DIR)/bin - rm -f provider/cmd/${PROVIDER}/schema.go +lint_provider: provider + cd provider && golangci-lint run --path-prefix provider -c ../.golangci.yml +# `lint_provider.fix` is a utility target meant to be run manually +# that will run the linter and fix errors when possible. +lint_provider.fix: + cd provider && golangci-lint run --path-prefix provider -c ../.golangci.yml --fix +.PHONY: lint_provider lint_provider.fix +build_provider_cmd = cd provider && GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 go build $(PULUMI_PROVIDER_BUILD_PARALLELISM) -o "$(3)" -ldflags "$(LDFLAGS)" $(PROJECT)/$(PROVIDER_PATH)/cmd/$(PROVIDER) -help:: - @grep '^[^.#]\+:\s\+.*#' Makefile | \ - sed "s/\(.\+\):\s*\(.*\) #\s*\(.*\)/`printf "\033[93m"`\1`printf "\033[0m"` \3 [\2]/" | \ - expand -t20 +provider: bin/$(PROVIDER) -clean:: - rm -rf sdk/{dotnet,nodejs,go,python} +# `make provider_no_deps` builds the provider binary directly, without ensuring that +# `cmd/pulumi-resource-zitadel/schema.json` is valid and up to date. +# To create a release ready binary, you should use `make provider`. +provider_no_deps: + $(call build_provider_cmd,$(shell go env GOOS),$(shell go env GOARCH),$(WORKING_DIR)/bin/$(PROVIDER)) +bin/$(PROVIDER): .make/schema + $(call build_provider_cmd,$(shell go env GOOS),$(shell go env GOARCH),$(WORKING_DIR)/bin/$(PROVIDER)) +.PHONY: provider provider_no_deps -install_plugins:: - [ -x $(shell which pulumi) ] || curl -fsSL https://get.pulumi.com | sh - pulumi plugin install resource random 4.3.1 +test: export PATH := $(WORKING_DIR)/bin:$(PATH) +test: + cd examples && go test -v -tags=all -parallel $(TESTPARALLELISM) -timeout 2h $(value GOTESTARGS) +.PHONY: test +test_provider_cmd = cd provider && go test -v -short \ + -coverprofile="coverage.txt" \ + -coverpkg="./...,github.com/hashicorp/terraform-provider-..." \ + -parallel $(TESTPARALLELISM) \ + ./... +test_provider: + $(call test_provider_cmd) +.PHONY: test_provider -install_dotnet_sdk:: - mkdir -p $(WORKING_DIR)/nuget - find . -name '*.nupkg' -print -exec cp -p {} ${WORKING_DIR}/nuget \; +tfgen: schema +schema: .make/schema +# This does actually have dependencies, but we're keeping it around for backwards compatibility for now +tfgen_no_deps: .make/schema +.make/schema: export PULUMI_HOME := $(WORKING_DIR)/.pulumi +.make/schema: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) +.make/schema: export PULUMI_CONVERT := $(PULUMI_CONVERT) +.make/schema: export PULUMI_CONVERT_EXAMPLES_CACHE_DIR := $(WORKING_DIR)/.pulumi/examples-cache +.make/schema: export PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION := $(PULUMI_CONVERT) +.make/schema: export PULUMI_MISSING_DOCS_ERROR := $(PULUMI_MISSING_DOCS_ERROR) +.make/schema: bin/$(CODEGEN) .make/install_plugins .make/upstream + $(WORKING_DIR)/bin/$(CODEGEN) schema --out provider/cmd/$(PROVIDER) + (cd provider && VERSION=$(PROVIDER_VERSION) go generate cmd/$(PROVIDER)/main.go) + @touch $@ +tfgen_build_only: bin/$(CODEGEN) +bin/$(CODEGEN): provider/*.go provider/go.* .make/upstream + (cd provider && go build $(PULUMI_PROVIDER_BUILD_PARALLELISM) -o $(WORKING_DIR)/bin/$(CODEGEN) -ldflags "$(LDFLAGS_PROJ_VERSION) $(LDFLAGS_EXTRAS)" $(PROJECT)/$(PROVIDER_PATH)/cmd/$(CODEGEN)) +.PHONY: tfgen schema tfgen_no_deps tfgen_build_only -install_python_sdk:: +# Apply patches to the upstream submodule, if it exists +upstream: .make/upstream +# Re-run if the upstream commit or the patches change. +.make/upstream: $(wildcard patches/*) $(shell ./scripts/upstream.sh file_target) + ./scripts/upstream.sh init + @touch $@ +.PHONY: upstream -install_go_sdk:: +bin/pulumi-java-gen: PULUMI_JAVA_VERSION := $(shell cat .pulumi-java-gen.version) +bin/pulumi-java-gen: PLAT := $(shell go version | sed -En "s/go version go.* (.*)\/(.*)/\1-\2/p") +bin/pulumi-java-gen: PULUMI_JAVA_URL := "https://github.com/pulumi/pulumi-java/releases/download/v$(PULUMI_JAVA_VERSION)/pulumi-language-java-v$(PULUMI_JAVA_VERSION)-$(PLAT).tar.gz" +bin/pulumi-java-gen: + wget -q -O - "$(PULUMI_JAVA_URL)" | tar -xzf - -C $(WORKING_DIR)/bin pulumi-java-gen + @touch bin/pulumi-language-java -install_nodejs_sdk:: - yarn link --cwd $(WORKING_DIR)/sdk/nodejs/bin +# To make an immediately observable change to .ci-mgmt.yaml: +# +# - Edit .ci-mgmt.yaml +# - Run make ci-mgmt to apply the change locally. +# +ci-mgmt: .ci-mgmt.yaml + go run github.com/pulumi/ci-mgmt/provider-ci@master generate +.PHONY: ci-mgmt -install_sdks:: install_dotnet_sdk install_python_sdk install_nodejs_sdk +# Start debug server for tfgen +debug_tfgen: + dlv --listen=:2345 --headless=true --api-version=2 exec $(WORKING_DIR)/bin/$(CODEGEN) -- schema --out provider/cmd/$(PROVIDER) +.PHONY: debug_tfgen -test:: - cd examples && go test -v -tags=all -parallel ${TESTPARALLELISM} -timeout 2h +include scripts/plugins.mk +include scripts/crossbuild.mk +# Permit providers to extend the Makefile with provider-specific Make includes. +include $(wildcard .mk/*.mk) diff --git a/devbox.json b/devbox.json new file mode 100644 index 0000000..1917bf7 --- /dev/null +++ b/devbox.json @@ -0,0 +1,22 @@ +{ + "packages": [ + "yarn@latest", + "pulumictl@latest", + "go@1.21.", + "nodejs@20.", + "python3@3.11.8", + "dotnet-sdk@6.0.", + "gradle_7@7.6", + "curl@8" + ], + "shell": { + "init_hook": [ + "export PATH=\"$(pwd)/bin/:$PATH\"" + ], + "scripts": { + "test": [ + "echo \"Error: no test specified\" && exit 1" + ] + } + } +} diff --git a/devbox.lock b/devbox.lock new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/devbox.lock @@ -0,0 +1 @@ +{} diff --git a/examples/examples_nodejs_test.go b/examples/examples_nodejs_test.go index e63642f..371dcf1 100644 --- a/examples/examples_nodejs_test.go +++ b/examples/examples_nodejs_test.go @@ -4,7 +4,6 @@ package examples import ( - "path/filepath" "testing" "github.com/pulumi/pulumi/pkg/v3/testing/integration" @@ -14,7 +13,7 @@ func getJSBaseOptions(t *testing.T) integration.ProgramTestOptions { base := getBaseOptions() baseJS := base.With(integration.ProgramTestOptions{ Dependencies: []string{ - "@pulumi/foo", + "@pulumiverse/zitadel", }, }) diff --git a/provider/cmd/pulumi-resource-zitadel/main.go b/provider/cmd/pulumi-resource-zitadel/main.go index 1ee5b8c..279d673 100644 --- a/provider/cmd/pulumi-resource-zitadel/main.go +++ b/provider/cmd/pulumi-resource-zitadel/main.go @@ -20,6 +20,7 @@ import ( _ "embed" "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge" + zitadel "github.com/pulumiverse/pulumi-zitadel/provider" "github.com/pulumiverse/pulumi-zitadel/provider/pkg/version" ) diff --git a/provider/cmd/pulumi-resource-zitadel/schema.json b/provider/cmd/pulumi-resource-zitadel/schema.json index c4f8967..a3b462c 100644 --- a/provider/cmd/pulumi-resource-zitadel/schema.json +++ b/provider/cmd/pulumi-resource-zitadel/schema.json @@ -21,12 +21,14 @@ "Pulumi": "3.*" }, "compatibility": "tfbridge20", - "rootNamespace": "Pulumiverse" + "rootNamespace": "Pulumiverse", + "respectSchemaVersion": true }, "go": { "importBasePath": "github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel", "generateResourceContainerTypes": true, - "generateExtraInputTypes": true + "generateExtraInputTypes": true, + "respectSchemaVersion": true }, "nodejs": { "packageName": "@pulumiverse/zitadel", @@ -40,7 +42,8 @@ "@types/node": "^10.0.0" }, "compatibility": "tfbridge20", - "disableUnionOutputTypes": true + "disableUnionOutputTypes": true, + "respectSchemaVersion": true }, "python": { "packageName": "pulumiverse_zitadel", @@ -49,7 +52,10 @@ }, "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/zitadel/terraform-provider-zitadel)\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-zitadel` repo](https://github.com/pulumiverse/pulumi-zitadel/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-zitadel` repo](https://github.com/zitadel/terraform-provider-zitadel/issues).", "compatibility": "tfbridge20", - "pyproject": {} + "respectSchemaVersion": true, + "pyproject": { + "enabled": true + } } }, "config": { @@ -146,7 +152,7 @@ }, "resources": { "zitadel:index/action:Action": { - "description": "Resource representing an action belonging to an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Action(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n script: \"testscript\",\n timeout: \"10s\",\n allowedToFail: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Action(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n script=\"testscript\",\n timeout=\"10s\",\n allowed_to_fail=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Action(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Script = \"testscript\",\n Timeout = \"10s\",\n AllowedToFail = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewAction(ctx, \"default\", \u0026zitadel.ActionArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tScript: pulumi.String(\"testscript\"),\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tAllowedToFail: pulumi.Bool(true),\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.zitadel.Action;\nimport com.pulumi.zitadel.ActionArgs;\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 default_ = new Action(\"default\", ActionArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .script(\"testscript\")\n .timeout(\"10s\")\n .allowedToFail(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Action\n properties:\n orgId: ${data.zitadel_org.default.id}\n script: testscript\n timeout: 10s\n allowedToFail: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/action:Action imported '123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing an action belonging to an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Action(\"default\", {\n orgId: defaultZitadelOrg.id,\n name: \"actionname\",\n script: \"testscript\",\n timeout: \"10s\",\n allowedToFail: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Action(\"default\",\n org_id=default_zitadel_org[\"id\"],\n name=\"actionname\",\n script=\"testscript\",\n timeout=\"10s\",\n allowed_to_fail=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Action(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n Name = \"actionname\",\n Script = \"testscript\",\n Timeout = \"10s\",\n AllowedToFail = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewAction(ctx, \"default\", \u0026zitadel.ActionArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tName: pulumi.String(\"actionname\"),\n\t\t\tScript: pulumi.String(\"testscript\"),\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tAllowedToFail: pulumi.Bool(true),\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.zitadel.Action;\nimport com.pulumi.zitadel.ActionArgs;\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 default_ = new Action(\"default\", ActionArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .name(\"actionname\")\n .script(\"testscript\")\n .timeout(\"10s\")\n .allowedToFail(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Action\n properties:\n orgId: ${defaultZitadelOrg.id}\n name: actionname\n script: testscript\n timeout: 10s\n allowedToFail: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/action:Action imported '123456789012345678:123456789012345678'\n```\n\n ", "properties": { "allowedToFail": { "type": "boolean", @@ -235,7 +241,7 @@ } }, "zitadel:index/applicationApi:ApplicationApi": { - "description": "Resource representing an API application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationApi(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n authMethodType: \"API_AUTH_METHOD_TYPE_BASIC\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationApi(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n auth_method_type=\"API_AUTH_METHOD_TYPE_BASIC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationApi(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AuthMethodType = \"API_AUTH_METHOD_TYPE_BASIC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationApi(ctx, \"default\", \u0026zitadel.ApplicationApiArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tAuthMethodType: pulumi.String(\"API_AUTH_METHOD_TYPE_BASIC\"),\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.zitadel.ApplicationApi;\nimport com.pulumi.zitadel.ApplicationApiArgs;\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 default_ = new ApplicationApi(\"default\", ApplicationApiArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .authMethodType(\"API_AUTH_METHOD_TYPE_BASIC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationApi\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n authMethodType: API_AUTH_METHOD_TYPE_BASIC\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:project_id[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationApi:ApplicationApi imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df'\n```\n\n ", + "description": "Resource representing an API application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationApi(\"default\", {\n orgId: defaultZitadelOrg.id,\n projectId: defaultZitadelProject.id,\n name: \"applicationapi\",\n authMethodType: \"API_AUTH_METHOD_TYPE_BASIC\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationApi(\"default\",\n org_id=default_zitadel_org[\"id\"],\n project_id=default_zitadel_project[\"id\"],\n name=\"applicationapi\",\n auth_method_type=\"API_AUTH_METHOD_TYPE_BASIC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationApi(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n ProjectId = defaultZitadelProject.Id,\n Name = \"applicationapi\",\n AuthMethodType = \"API_AUTH_METHOD_TYPE_BASIC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationApi(ctx, \"default\", \u0026zitadel.ApplicationApiArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tProjectId: pulumi.Any(defaultZitadelProject.Id),\n\t\t\tName: pulumi.String(\"applicationapi\"),\n\t\t\tAuthMethodType: pulumi.String(\"API_AUTH_METHOD_TYPE_BASIC\"),\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.zitadel.ApplicationApi;\nimport com.pulumi.zitadel.ApplicationApiArgs;\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 default_ = new ApplicationApi(\"default\", ApplicationApiArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .projectId(defaultZitadelProject.id())\n .name(\"applicationapi\")\n .authMethodType(\"API_AUTH_METHOD_TYPE_BASIC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationApi\n properties:\n orgId: ${defaultZitadelOrg.id}\n projectId: ${defaultZitadelProject.id}\n name: applicationapi\n authMethodType: API_AUTH_METHOD_TYPE_BASIC\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:project_id[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationApi:ApplicationApi imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df'\n```\n\n ", "properties": { "authMethodType": { "type": "string", @@ -329,7 +335,7 @@ } }, "zitadel:index/applicationKey:ApplicationKey": { - "description": "Resource representing a app key\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationKey(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n appId: data.zitadel_application_api[\"default\"].id,\n keyType: \"KEY_TYPE_JSON\",\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationKey(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n app_id=data[\"zitadel_application_api\"][\"default\"][\"id\"],\n key_type=\"KEY_TYPE_JSON\",\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationKey(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AppId = data.Zitadel_application_api.Default.Id,\n KeyType = \"KEY_TYPE_JSON\",\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationKey(ctx, \"default\", \u0026zitadel.ApplicationKeyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tAppId: pulumi.Any(data.Zitadel_application_api.Default.Id),\n\t\t\tKeyType: pulumi.String(\"KEY_TYPE_JSON\"),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.ApplicationKey;\nimport com.pulumi.zitadel.ApplicationKeyArgs;\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 default_ = new ApplicationKey(\"default\", ApplicationKeyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .appId(data.zitadel_application_api().default().id())\n .keyType(\"KEY_TYPE_JSON\")\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationKey\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n appId: ${data.zitadel_application_api.default.id}\n keyType: KEY_TYPE_JSON\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:project_id:app_id[:org_id][:key_details]\u003e`. You can use __SEMICOLON__ to escape :, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationKey:ApplicationKey imported \"123456789012345678:123456789012345678:123456789012345678:123456789012345678:$(cat ~/Downloads/123456789012345678.json | sed -e 's/:/__SEMICOLON__/g')\"\n```\n\n ", + "description": "Resource representing a app key\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationKey(\"default\", {\n orgId: defaultZitadelOrg.id,\n projectId: defaultZitadelProject.id,\n appId: defaultZitadelApplicationApi.id,\n keyType: \"KEY_TYPE_JSON\",\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationKey(\"default\",\n org_id=default_zitadel_org[\"id\"],\n project_id=default_zitadel_project[\"id\"],\n app_id=default_zitadel_application_api[\"id\"],\n key_type=\"KEY_TYPE_JSON\",\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationKey(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n ProjectId = defaultZitadelProject.Id,\n AppId = defaultZitadelApplicationApi.Id,\n KeyType = \"KEY_TYPE_JSON\",\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationKey(ctx, \"default\", \u0026zitadel.ApplicationKeyArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tProjectId: pulumi.Any(defaultZitadelProject.Id),\n\t\t\tAppId: pulumi.Any(defaultZitadelApplicationApi.Id),\n\t\t\tKeyType: pulumi.String(\"KEY_TYPE_JSON\"),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.ApplicationKey;\nimport com.pulumi.zitadel.ApplicationKeyArgs;\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 default_ = new ApplicationKey(\"default\", ApplicationKeyArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .projectId(defaultZitadelProject.id())\n .appId(defaultZitadelApplicationApi.id())\n .keyType(\"KEY_TYPE_JSON\")\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationKey\n properties:\n orgId: ${defaultZitadelOrg.id}\n projectId: ${defaultZitadelProject.id}\n appId: ${defaultZitadelApplicationApi.id}\n keyType: KEY_TYPE_JSON\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:project_id:app_id[:org_id][:key_details]\u003e`. You can use __SEMICOLON__ to escape :, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationKey:ApplicationKey imported \"123456789012345678:123456789012345678:123456789012345678:123456789012345678:$(cat ~/Downloads/123456789012345678.json | sed -e 's/:/__SEMICOLON__/g')\"\n```\n\n ", "properties": { "appId": { "type": "string", @@ -435,7 +441,7 @@ } }, "zitadel:index/applicationOidc:ApplicationOidc": { - "description": "Resource representing an OIDC application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationOidc(\"default\", {\n projectId: data.zitadel_project[\"default\"].id,\n orgId: data.zitadel_org[\"default\"].id,\n redirectUris: [\"https://localhost.com\"],\n responseTypes: [\"OIDC_RESPONSE_TYPE_CODE\"],\n grantTypes: [\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"],\n postLogoutRedirectUris: [\"https://localhost.com\"],\n appType: \"OIDC_APP_TYPE_WEB\",\n authMethodType: \"OIDC_AUTH_METHOD_TYPE_BASIC\",\n version: \"OIDC_VERSION_1_0\",\n clockSkew: \"0s\",\n devMode: true,\n accessTokenType: \"OIDC_TOKEN_TYPE_BEARER\",\n accessTokenRoleAssertion: false,\n idTokenRoleAssertion: false,\n idTokenUserinfoAssertion: false,\n additionalOrigins: [],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationOidc(\"default\",\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n redirect_uris=[\"https://localhost.com\"],\n response_types=[\"OIDC_RESPONSE_TYPE_CODE\"],\n grant_types=[\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"],\n post_logout_redirect_uris=[\"https://localhost.com\"],\n app_type=\"OIDC_APP_TYPE_WEB\",\n auth_method_type=\"OIDC_AUTH_METHOD_TYPE_BASIC\",\n version=\"OIDC_VERSION_1_0\",\n clock_skew=\"0s\",\n dev_mode=True,\n access_token_type=\"OIDC_TOKEN_TYPE_BEARER\",\n access_token_role_assertion=False,\n id_token_role_assertion=False,\n id_token_userinfo_assertion=False,\n additional_origins=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationOidc(\"default\", new()\n {\n ProjectId = data.Zitadel_project.Default.Id,\n OrgId = data.Zitadel_org.Default.Id,\n RedirectUris = new[]\n {\n \"https://localhost.com\",\n },\n ResponseTypes = new[]\n {\n \"OIDC_RESPONSE_TYPE_CODE\",\n },\n GrantTypes = new[]\n {\n \"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\",\n },\n PostLogoutRedirectUris = new[]\n {\n \"https://localhost.com\",\n },\n AppType = \"OIDC_APP_TYPE_WEB\",\n AuthMethodType = \"OIDC_AUTH_METHOD_TYPE_BASIC\",\n Version = \"OIDC_VERSION_1_0\",\n ClockSkew = \"0s\",\n DevMode = true,\n AccessTokenType = \"OIDC_TOKEN_TYPE_BEARER\",\n AccessTokenRoleAssertion = false,\n IdTokenRoleAssertion = false,\n IdTokenUserinfoAssertion = false,\n AdditionalOrigins = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationOidc(ctx, \"default\", \u0026zitadel.ApplicationOidcArgs{\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tRedirectUris: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://localhost.com\"),\n\t\t\t},\n\t\t\tResponseTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OIDC_RESPONSE_TYPE_CODE\"),\n\t\t\t},\n\t\t\tGrantTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"),\n\t\t\t},\n\t\t\tPostLogoutRedirectUris: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://localhost.com\"),\n\t\t\t},\n\t\t\tAppType: pulumi.String(\"OIDC_APP_TYPE_WEB\"),\n\t\t\tAuthMethodType: pulumi.String(\"OIDC_AUTH_METHOD_TYPE_BASIC\"),\n\t\t\tVersion: pulumi.String(\"OIDC_VERSION_1_0\"),\n\t\t\tClockSkew: pulumi.String(\"0s\"),\n\t\t\tDevMode: pulumi.Bool(true),\n\t\t\tAccessTokenType: pulumi.String(\"OIDC_TOKEN_TYPE_BEARER\"),\n\t\t\tAccessTokenRoleAssertion: pulumi.Bool(false),\n\t\t\tIdTokenRoleAssertion: pulumi.Bool(false),\n\t\t\tIdTokenUserinfoAssertion: pulumi.Bool(false),\n\t\t\tAdditionalOrigins: pulumi.StringArray{},\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.zitadel.ApplicationOidc;\nimport com.pulumi.zitadel.ApplicationOidcArgs;\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 default_ = new ApplicationOidc(\"default\", ApplicationOidcArgs.builder() \n .projectId(data.zitadel_project().default().id())\n .orgId(data.zitadel_org().default().id())\n .redirectUris(\"https://localhost.com\")\n .responseTypes(\"OIDC_RESPONSE_TYPE_CODE\")\n .grantTypes(\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\")\n .postLogoutRedirectUris(\"https://localhost.com\")\n .appType(\"OIDC_APP_TYPE_WEB\")\n .authMethodType(\"OIDC_AUTH_METHOD_TYPE_BASIC\")\n .version(\"OIDC_VERSION_1_0\")\n .clockSkew(\"0s\")\n .devMode(true)\n .accessTokenType(\"OIDC_TOKEN_TYPE_BEARER\")\n .accessTokenRoleAssertion(false)\n .idTokenRoleAssertion(false)\n .idTokenUserinfoAssertion(false)\n .additionalOrigins()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationOidc\n properties:\n projectId: ${data.zitadel_project.default.id}\n orgId: ${data.zitadel_org.default.id}\n redirectUris:\n - https://localhost.com\n responseTypes:\n - OIDC_RESPONSE_TYPE_CODE\n grantTypes:\n - OIDC_GRANT_TYPE_AUTHORIZATION_CODE\n postLogoutRedirectUris:\n - https://localhost.com\n appType: OIDC_APP_TYPE_WEB\n authMethodType: OIDC_AUTH_METHOD_TYPE_BASIC\n version: OIDC_VERSION_1_0\n clockSkew: 0s\n devMode: true\n accessTokenType: OIDC_TOKEN_TYPE_BEARER\n accessTokenRoleAssertion: false\n idTokenRoleAssertion: false\n idTokenUserinfoAssertion: false\n additionalOrigins: []\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:project_id[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationOidc:ApplicationOidc imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df'\n```\n\n ", + "description": "Resource representing an OIDC application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationOidc(\"default\", {\n projectId: defaultZitadelProject.id,\n orgId: defaultZitadelOrg.id,\n name: \"applicationoidc\",\n redirectUris: [\"https://localhost.com\"],\n responseTypes: [\"OIDC_RESPONSE_TYPE_CODE\"],\n grantTypes: [\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"],\n postLogoutRedirectUris: [\"https://localhost.com\"],\n appType: \"OIDC_APP_TYPE_WEB\",\n authMethodType: \"OIDC_AUTH_METHOD_TYPE_BASIC\",\n version: \"OIDC_VERSION_1_0\",\n clockSkew: \"0s\",\n devMode: true,\n accessTokenType: \"OIDC_TOKEN_TYPE_BEARER\",\n accessTokenRoleAssertion: false,\n idTokenRoleAssertion: false,\n idTokenUserinfoAssertion: false,\n additionalOrigins: [],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationOidc(\"default\",\n project_id=default_zitadel_project[\"id\"],\n org_id=default_zitadel_org[\"id\"],\n name=\"applicationoidc\",\n redirect_uris=[\"https://localhost.com\"],\n response_types=[\"OIDC_RESPONSE_TYPE_CODE\"],\n grant_types=[\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"],\n post_logout_redirect_uris=[\"https://localhost.com\"],\n app_type=\"OIDC_APP_TYPE_WEB\",\n auth_method_type=\"OIDC_AUTH_METHOD_TYPE_BASIC\",\n version=\"OIDC_VERSION_1_0\",\n clock_skew=\"0s\",\n dev_mode=True,\n access_token_type=\"OIDC_TOKEN_TYPE_BEARER\",\n access_token_role_assertion=False,\n id_token_role_assertion=False,\n id_token_userinfo_assertion=False,\n additional_origins=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationOidc(\"default\", new()\n {\n ProjectId = defaultZitadelProject.Id,\n OrgId = defaultZitadelOrg.Id,\n Name = \"applicationoidc\",\n RedirectUris = new[]\n {\n \"https://localhost.com\",\n },\n ResponseTypes = new[]\n {\n \"OIDC_RESPONSE_TYPE_CODE\",\n },\n GrantTypes = new[]\n {\n \"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\",\n },\n PostLogoutRedirectUris = new[]\n {\n \"https://localhost.com\",\n },\n AppType = \"OIDC_APP_TYPE_WEB\",\n AuthMethodType = \"OIDC_AUTH_METHOD_TYPE_BASIC\",\n Version = \"OIDC_VERSION_1_0\",\n ClockSkew = \"0s\",\n DevMode = true,\n AccessTokenType = \"OIDC_TOKEN_TYPE_BEARER\",\n AccessTokenRoleAssertion = false,\n IdTokenRoleAssertion = false,\n IdTokenUserinfoAssertion = false,\n AdditionalOrigins = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationOidc(ctx, \"default\", \u0026zitadel.ApplicationOidcArgs{\n\t\t\tProjectId: pulumi.Any(defaultZitadelProject.Id),\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tName: pulumi.String(\"applicationoidc\"),\n\t\t\tRedirectUris: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://localhost.com\"),\n\t\t\t},\n\t\t\tResponseTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OIDC_RESPONSE_TYPE_CODE\"),\n\t\t\t},\n\t\t\tGrantTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\"),\n\t\t\t},\n\t\t\tPostLogoutRedirectUris: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://localhost.com\"),\n\t\t\t},\n\t\t\tAppType: pulumi.String(\"OIDC_APP_TYPE_WEB\"),\n\t\t\tAuthMethodType: pulumi.String(\"OIDC_AUTH_METHOD_TYPE_BASIC\"),\n\t\t\tVersion: pulumi.String(\"OIDC_VERSION_1_0\"),\n\t\t\tClockSkew: pulumi.String(\"0s\"),\n\t\t\tDevMode: pulumi.Bool(true),\n\t\t\tAccessTokenType: pulumi.String(\"OIDC_TOKEN_TYPE_BEARER\"),\n\t\t\tAccessTokenRoleAssertion: pulumi.Bool(false),\n\t\t\tIdTokenRoleAssertion: pulumi.Bool(false),\n\t\t\tIdTokenUserinfoAssertion: pulumi.Bool(false),\n\t\t\tAdditionalOrigins: pulumi.StringArray{},\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.zitadel.ApplicationOidc;\nimport com.pulumi.zitadel.ApplicationOidcArgs;\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 default_ = new ApplicationOidc(\"default\", ApplicationOidcArgs.builder() \n .projectId(defaultZitadelProject.id())\n .orgId(defaultZitadelOrg.id())\n .name(\"applicationoidc\")\n .redirectUris(\"https://localhost.com\")\n .responseTypes(\"OIDC_RESPONSE_TYPE_CODE\")\n .grantTypes(\"OIDC_GRANT_TYPE_AUTHORIZATION_CODE\")\n .postLogoutRedirectUris(\"https://localhost.com\")\n .appType(\"OIDC_APP_TYPE_WEB\")\n .authMethodType(\"OIDC_AUTH_METHOD_TYPE_BASIC\")\n .version(\"OIDC_VERSION_1_0\")\n .clockSkew(\"0s\")\n .devMode(true)\n .accessTokenType(\"OIDC_TOKEN_TYPE_BEARER\")\n .accessTokenRoleAssertion(false)\n .idTokenRoleAssertion(false)\n .idTokenUserinfoAssertion(false)\n .additionalOrigins()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationOidc\n properties:\n projectId: ${defaultZitadelProject.id}\n orgId: ${defaultZitadelOrg.id}\n name: applicationoidc\n redirectUris:\n - https://localhost.com\n responseTypes:\n - OIDC_RESPONSE_TYPE_CODE\n grantTypes:\n - OIDC_GRANT_TYPE_AUTHORIZATION_CODE\n postLogoutRedirectUris:\n - https://localhost.com\n appType: OIDC_APP_TYPE_WEB\n authMethodType: OIDC_AUTH_METHOD_TYPE_BASIC\n version: OIDC_VERSION_1_0\n clockSkew: 0s\n devMode: true\n accessTokenType: OIDC_TOKEN_TYPE_BEARER\n accessTokenRoleAssertion: false\n idTokenRoleAssertion: false\n idTokenUserinfoAssertion: false\n additionalOrigins: []\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:project_id[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationOidc:ApplicationOidc imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678@zitadel:JuaDFFeOak5DGE655KCYPSAclSkbMVEJXXuX1lEMBT14eLMSs0A0qhafKX5SA2Df'\n```\n\n ", "properties": { "accessTokenRoleAssertion": { "type": "boolean", @@ -738,7 +744,7 @@ } }, "zitadel:index/applicationSaml:ApplicationSaml": { - "description": "Resource representing a SAML application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationSaml(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n metadataXml: `\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e`,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationSaml(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n metadata_xml=\"\"\"\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationSaml(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n MetadataXml = @\"\u003c?xml version=\"\"1.0\"\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"\"urn:oasis:names:tc:SAML:2.0:metadata\"\"\n validUntil=\"\"2024-01-26T17:48:38Z\"\"\n cacheDuration=\"\"PT604800S\"\"\n entityID=\"\"http://example.com/saml/metadata\"\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"\"false\"\" WantAssertionsSigned=\"\"false\"\" protocolSupportEnumeration=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\"\n Location=\"\"http://example.com/saml/cas\"\"\n index=\"\"1\"\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationSaml(ctx, \"default\", \u0026zitadel.ApplicationSamlArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tMetadataXml: pulumi.String(`\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e`),\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.zitadel.ApplicationSaml;\nimport com.pulumi.zitadel.ApplicationSamlArgs;\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 default_ = new ApplicationSaml(\"default\", ApplicationSamlArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .metadataXml(\"\"\"\n\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationSaml\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n metadataXml: \"\u003c?xml version=\\\"1.0\\\"?\u003e\\n\u003cmd:EntityDescriptor xmlns:md=\\\"urn:oasis:names:tc:SAML:2.0:metadata\\\"\\n validUntil=\\\"2024-01-26T17:48:38Z\\\"\\n cacheDuration=\\\"PT604800S\\\"\\n entityID=\\\"http://example.com/saml/metadata\\\"\u003e\\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\\\"false\\\" WantAssertionsSigned=\\\"false\\\" protocolSupportEnumeration=\\\"urn:oasis:names:tc:SAML:2.0:protocol\\\"\u003e\\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\\n \u003cmd:AssertionConsumerService Binding=\\\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\\\"\\n Location=\\\"http://example.com/saml/cas\\\"\\n index=\\\"1\\\" /\u003e\\n \\n \u003c/md:SPSSODescriptor\u003e\\n\u003c/md:EntityDescriptor\u003e\"\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:project_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationSaml:ApplicationSaml imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing a SAML application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ApplicationSaml(\"default\", {\n orgId: defaultZitadelOrg.id,\n projectId: defaultZitadelProject.id,\n name: \"applicationapi\",\n metadataXml: `\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e`,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ApplicationSaml(\"default\",\n org_id=default_zitadel_org[\"id\"],\n project_id=default_zitadel_project[\"id\"],\n name=\"applicationapi\",\n metadata_xml=\"\"\"\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ApplicationSaml(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n ProjectId = defaultZitadelProject.Id,\n Name = \"applicationapi\",\n MetadataXml = @\"\u003c?xml version=\"\"1.0\"\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"\"urn:oasis:names:tc:SAML:2.0:metadata\"\"\n validUntil=\"\"2024-01-26T17:48:38Z\"\"\n cacheDuration=\"\"PT604800S\"\"\n entityID=\"\"http://example.com/saml/metadata\"\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"\"false\"\" WantAssertionsSigned=\"\"false\"\" protocolSupportEnumeration=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\"\n Location=\"\"http://example.com/saml/cas\"\"\n index=\"\"1\"\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewApplicationSaml(ctx, \"default\", \u0026zitadel.ApplicationSamlArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tProjectId: pulumi.Any(defaultZitadelProject.Id),\n\t\t\tName: pulumi.String(\"applicationapi\"),\n\t\t\tMetadataXml: pulumi.String(`\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e`),\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.zitadel.ApplicationSaml;\nimport com.pulumi.zitadel.ApplicationSamlArgs;\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 default_ = new ApplicationSaml(\"default\", ApplicationSamlArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .projectId(defaultZitadelProject.id())\n .name(\"applicationapi\")\n .metadataXml(\"\"\"\n\u003c?xml version=\"1.0\"?\u003e\n\u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n validUntil=\"2024-01-26T17:48:38Z\"\n cacheDuration=\"PT604800S\"\n entityID=\"http://example.com/saml/metadata\"\u003e\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\"false\" WantAssertionsSigned=\"false\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\n \u003cmd:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://example.com/saml/cas\"\n index=\"1\" /\u003e\n \n \u003c/md:SPSSODescriptor\u003e\n\u003c/md:EntityDescriptor\u003e \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ApplicationSaml\n properties:\n orgId: ${defaultZitadelOrg.id}\n projectId: ${defaultZitadelProject.id}\n name: applicationapi\n metadataXml: \"\u003c?xml version=\\\"1.0\\\"?\u003e\\n\u003cmd:EntityDescriptor xmlns:md=\\\"urn:oasis:names:tc:SAML:2.0:metadata\\\"\\n validUntil=\\\"2024-01-26T17:48:38Z\\\"\\n cacheDuration=\\\"PT604800S\\\"\\n entityID=\\\"http://example.com/saml/metadata\\\"\u003e\\n \u003cmd:SPSSODescriptor AuthnRequestsSigned=\\\"false\\\" WantAssertionsSigned=\\\"false\\\" protocolSupportEnumeration=\\\"urn:oasis:names:tc:SAML:2.0:protocol\\\"\u003e\\n \u003cmd:NameIDFormat\u003eurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\u003c/md:NameIDFormat\u003e\\n \u003cmd:AssertionConsumerService Binding=\\\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\\\"\\n Location=\\\"http://example.com/saml/cas\\\"\\n index=\\\"1\\\" /\u003e\\n \\n \u003c/md:SPSSODescriptor\u003e\\n\u003c/md:EntityDescriptor\u003e\"\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:project_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/applicationSaml:ApplicationSaml imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "metadataXml": { "type": "string", @@ -815,7 +821,7 @@ } }, "zitadel:index/defaultDomainPolicy:DefaultDomainPolicy": { - "description": "Resource representing the default domain policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultDomainPolicy(\"default\", {\n smtpSenderAddressMatchesInstanceDomain: true,\n userLoginMustBeDomain: false,\n validateOrgDomains: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultDomainPolicy(\"default\",\n smtp_sender_address_matches_instance_domain=True,\n user_login_must_be_domain=False,\n validate_org_domains=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultDomainPolicy(\"default\", new()\n {\n SmtpSenderAddressMatchesInstanceDomain = true,\n UserLoginMustBeDomain = false,\n ValidateOrgDomains = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultDomainPolicy(ctx, \"default\", \u0026zitadel.DefaultDomainPolicyArgs{\n\t\t\tSmtpSenderAddressMatchesInstanceDomain: pulumi.Bool(true),\n\t\t\tUserLoginMustBeDomain: pulumi.Bool(false),\n\t\t\tValidateOrgDomains: pulumi.Bool(true),\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.zitadel.DefaultDomainPolicy;\nimport com.pulumi.zitadel.DefaultDomainPolicyArgs;\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 default_ = new DefaultDomainPolicy(\"default\", DefaultDomainPolicyArgs.builder() \n .smtpSenderAddressMatchesInstanceDomain(true)\n .userLoginMustBeDomain(false)\n .validateOrgDomains(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultDomainPolicy\n properties:\n smtpSenderAddressMatchesInstanceDomain: true\n userLoginMustBeDomain: false\n validateOrgDomains: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultDomainPolicy:DefaultDomainPolicy imported ''\n```\n\n ", + "description": "Resource representing the default domain policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultDomainPolicy(\"default\", {\n userLoginMustBeDomain: false,\n validateOrgDomains: true,\n smtpSenderAddressMatchesInstanceDomain: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultDomainPolicy(\"default\",\n user_login_must_be_domain=False,\n validate_org_domains=True,\n smtp_sender_address_matches_instance_domain=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultDomainPolicy(\"default\", new()\n {\n UserLoginMustBeDomain = false,\n ValidateOrgDomains = true,\n SmtpSenderAddressMatchesInstanceDomain = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultDomainPolicy(ctx, \"default\", \u0026zitadel.DefaultDomainPolicyArgs{\n\t\t\tUserLoginMustBeDomain: pulumi.Bool(false),\n\t\t\tValidateOrgDomains: pulumi.Bool(true),\n\t\t\tSmtpSenderAddressMatchesInstanceDomain: pulumi.Bool(true),\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.zitadel.DefaultDomainPolicy;\nimport com.pulumi.zitadel.DefaultDomainPolicyArgs;\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 default_ = new DefaultDomainPolicy(\"default\", DefaultDomainPolicyArgs.builder() \n .userLoginMustBeDomain(false)\n .validateOrgDomains(true)\n .smtpSenderAddressMatchesInstanceDomain(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultDomainPolicy\n properties:\n userLoginMustBeDomain: false\n validateOrgDomains: true\n smtpSenderAddressMatchesInstanceDomain: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultDomainPolicy:DefaultDomainPolicy imported ''\n```\n\n ", "properties": { "smtpSenderAddressMatchesInstanceDomain": { "type": "boolean" @@ -1196,7 +1202,7 @@ } }, "zitadel:index/defaultLoginPolicy:DefaultLoginPolicy": { - "description": "Resource representing the default login policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultLoginPolicy(\"default\", {\n userLogin: true,\n allowRegister: true,\n allowExternalIdp: true,\n forceMfa: false,\n forceMfaLocalOnly: false,\n passwordlessType: \"PASSWORDLESS_TYPE_ALLOWED\",\n hidePasswordReset: false,\n passwordCheckLifetime: \"240h0m0s\",\n externalLoginCheckLifetime: \"240h0m0s\",\n multiFactorCheckLifetime: \"24h0m0s\",\n mfaInitSkipLifetime: \"720h0m0s\",\n secondFactorCheckLifetime: \"24h0m0s\",\n ignoreUnknownUsernames: true,\n defaultRedirectUri: \"localhost:8080\",\n secondFactors: [\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multiFactors: [\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps: [\n data.zitadel_idp_google[\"default\"].id,\n data.zitadel_idp_azure_ad[\"default\"].id,\n ],\n allowDomainDiscovery: true,\n disableLoginWithEmail: true,\n disableLoginWithPhone: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultLoginPolicy(\"default\",\n user_login=True,\n allow_register=True,\n allow_external_idp=True,\n force_mfa=False,\n force_mfa_local_only=False,\n passwordless_type=\"PASSWORDLESS_TYPE_ALLOWED\",\n hide_password_reset=False,\n password_check_lifetime=\"240h0m0s\",\n external_login_check_lifetime=\"240h0m0s\",\n multi_factor_check_lifetime=\"24h0m0s\",\n mfa_init_skip_lifetime=\"720h0m0s\",\n second_factor_check_lifetime=\"24h0m0s\",\n ignore_unknown_usernames=True,\n default_redirect_uri=\"localhost:8080\",\n second_factors=[\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multi_factors=[\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps=[\n data[\"zitadel_idp_google\"][\"default\"][\"id\"],\n data[\"zitadel_idp_azure_ad\"][\"default\"][\"id\"],\n ],\n allow_domain_discovery=True,\n disable_login_with_email=True,\n disable_login_with_phone=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultLoginPolicy(\"default\", new()\n {\n UserLogin = true,\n AllowRegister = true,\n AllowExternalIdp = true,\n ForceMfa = false,\n ForceMfaLocalOnly = false,\n PasswordlessType = \"PASSWORDLESS_TYPE_ALLOWED\",\n HidePasswordReset = false,\n PasswordCheckLifetime = \"240h0m0s\",\n ExternalLoginCheckLifetime = \"240h0m0s\",\n MultiFactorCheckLifetime = \"24h0m0s\",\n MfaInitSkipLifetime = \"720h0m0s\",\n SecondFactorCheckLifetime = \"24h0m0s\",\n IgnoreUnknownUsernames = true,\n DefaultRedirectUri = \"localhost:8080\",\n SecondFactors = new[]\n {\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n },\n MultiFactors = new[]\n {\n \"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\",\n },\n Idps = new[]\n {\n data.Zitadel_idp_google.Default.Id,\n data.Zitadel_idp_azure_ad.Default.Id,\n },\n AllowDomainDiscovery = true,\n DisableLoginWithEmail = true,\n DisableLoginWithPhone = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultLoginPolicy(ctx, \"default\", \u0026zitadel.DefaultLoginPolicyArgs{\n\t\t\tUserLogin: pulumi.Bool(true),\n\t\t\tAllowRegister: pulumi.Bool(true),\n\t\t\tAllowExternalIdp: pulumi.Bool(true),\n\t\t\tForceMfa: pulumi.Bool(false),\n\t\t\tForceMfaLocalOnly: pulumi.Bool(false),\n\t\t\tPasswordlessType: pulumi.String(\"PASSWORDLESS_TYPE_ALLOWED\"),\n\t\t\tHidePasswordReset: pulumi.Bool(false),\n\t\t\tPasswordCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tExternalLoginCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tMultiFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tMfaInitSkipLifetime: pulumi.String(\"720h0m0s\"),\n\t\t\tSecondFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tIgnoreUnknownUsernames: pulumi.Bool(true),\n\t\t\tDefaultRedirectUri: pulumi.String(\"localhost:8080\"),\n\t\t\tSecondFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_OTP\"),\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_U2F\"),\n\t\t\t},\n\t\t\tMultiFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"),\n\t\t\t},\n\t\t\tIdps: pulumi.StringArray{\n\t\t\t\tdata.Zitadel_idp_google.Default.Id,\n\t\t\t\tdata.Zitadel_idp_azure_ad.Default.Id,\n\t\t\t},\n\t\t\tAllowDomainDiscovery: pulumi.Bool(true),\n\t\t\tDisableLoginWithEmail: pulumi.Bool(true),\n\t\t\tDisableLoginWithPhone: pulumi.Bool(true),\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.zitadel.DefaultLoginPolicy;\nimport com.pulumi.zitadel.DefaultLoginPolicyArgs;\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 default_ = new DefaultLoginPolicy(\"default\", DefaultLoginPolicyArgs.builder() \n .userLogin(true)\n .allowRegister(true)\n .allowExternalIdp(true)\n .forceMfa(false)\n .forceMfaLocalOnly(false)\n .passwordlessType(\"PASSWORDLESS_TYPE_ALLOWED\")\n .hidePasswordReset(\"false\")\n .passwordCheckLifetime(\"240h0m0s\")\n .externalLoginCheckLifetime(\"240h0m0s\")\n .multiFactorCheckLifetime(\"24h0m0s\")\n .mfaInitSkipLifetime(\"720h0m0s\")\n .secondFactorCheckLifetime(\"24h0m0s\")\n .ignoreUnknownUsernames(true)\n .defaultRedirectUri(\"localhost:8080\")\n .secondFactors( \n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\")\n .multiFactors(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\")\n .idps( \n data.zitadel_idp_google().default().id(),\n data.zitadel_idp_azure_ad().default().id())\n .allowDomainDiscovery(true)\n .disableLoginWithEmail(true)\n .disableLoginWithPhone(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultLoginPolicy\n properties:\n userLogin: true\n allowRegister: true\n allowExternalIdp: true\n forceMfa: false\n forceMfaLocalOnly: false\n passwordlessType: PASSWORDLESS_TYPE_ALLOWED\n hidePasswordReset: 'false'\n passwordCheckLifetime: 240h0m0s\n externalLoginCheckLifetime: 240h0m0s\n multiFactorCheckLifetime: 24h0m0s\n mfaInitSkipLifetime: 720h0m0s\n secondFactorCheckLifetime: 24h0m0s\n ignoreUnknownUsernames: true\n defaultRedirectUri: localhost:8080\n secondFactors:\n - SECOND_FACTOR_TYPE_OTP\n - SECOND_FACTOR_TYPE_U2F\n multiFactors:\n - MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\n idps:\n - ${data.zitadel_idp_google.default.id}\n - ${data.zitadel_idp_azure_ad.default.id}\n allowDomainDiscovery: true\n disableLoginWithEmail: true\n disableLoginWithPhone: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultLoginPolicy:DefaultLoginPolicy imported ''\n```\n\n ", + "description": "Resource representing the default login policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultLoginPolicy(\"default\", {\n userLogin: true,\n allowRegister: true,\n allowExternalIdp: true,\n forceMfa: false,\n forceMfaLocalOnly: false,\n passwordlessType: \"PASSWORDLESS_TYPE_ALLOWED\",\n hidePasswordReset: false,\n passwordCheckLifetime: \"240h0m0s\",\n externalLoginCheckLifetime: \"240h0m0s\",\n multiFactorCheckLifetime: \"24h0m0s\",\n mfaInitSkipLifetime: \"720h0m0s\",\n secondFactorCheckLifetime: \"24h0m0s\",\n ignoreUnknownUsernames: true,\n defaultRedirectUri: \"localhost:8080\",\n secondFactors: [\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multiFactors: [\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps: [\n defaultZitadelIdpGoogle.id,\n defaultZitadelIdpAzureAd.id,\n ],\n allowDomainDiscovery: true,\n disableLoginWithEmail: true,\n disableLoginWithPhone: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultLoginPolicy(\"default\",\n user_login=True,\n allow_register=True,\n allow_external_idp=True,\n force_mfa=False,\n force_mfa_local_only=False,\n passwordless_type=\"PASSWORDLESS_TYPE_ALLOWED\",\n hide_password_reset=False,\n password_check_lifetime=\"240h0m0s\",\n external_login_check_lifetime=\"240h0m0s\",\n multi_factor_check_lifetime=\"24h0m0s\",\n mfa_init_skip_lifetime=\"720h0m0s\",\n second_factor_check_lifetime=\"24h0m0s\",\n ignore_unknown_usernames=True,\n default_redirect_uri=\"localhost:8080\",\n second_factors=[\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multi_factors=[\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps=[\n default_zitadel_idp_google[\"id\"],\n default_zitadel_idp_azure_ad[\"id\"],\n ],\n allow_domain_discovery=True,\n disable_login_with_email=True,\n disable_login_with_phone=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultLoginPolicy(\"default\", new()\n {\n UserLogin = true,\n AllowRegister = true,\n AllowExternalIdp = true,\n ForceMfa = false,\n ForceMfaLocalOnly = false,\n PasswordlessType = \"PASSWORDLESS_TYPE_ALLOWED\",\n HidePasswordReset = false,\n PasswordCheckLifetime = \"240h0m0s\",\n ExternalLoginCheckLifetime = \"240h0m0s\",\n MultiFactorCheckLifetime = \"24h0m0s\",\n MfaInitSkipLifetime = \"720h0m0s\",\n SecondFactorCheckLifetime = \"24h0m0s\",\n IgnoreUnknownUsernames = true,\n DefaultRedirectUri = \"localhost:8080\",\n SecondFactors = new[]\n {\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n },\n MultiFactors = new[]\n {\n \"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\",\n },\n Idps = new[]\n {\n defaultZitadelIdpGoogle.Id,\n defaultZitadelIdpAzureAd.Id,\n },\n AllowDomainDiscovery = true,\n DisableLoginWithEmail = true,\n DisableLoginWithPhone = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultLoginPolicy(ctx, \"default\", \u0026zitadel.DefaultLoginPolicyArgs{\n\t\t\tUserLogin: pulumi.Bool(true),\n\t\t\tAllowRegister: pulumi.Bool(true),\n\t\t\tAllowExternalIdp: pulumi.Bool(true),\n\t\t\tForceMfa: pulumi.Bool(false),\n\t\t\tForceMfaLocalOnly: pulumi.Bool(false),\n\t\t\tPasswordlessType: pulumi.String(\"PASSWORDLESS_TYPE_ALLOWED\"),\n\t\t\tHidePasswordReset: pulumi.Bool(false),\n\t\t\tPasswordCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tExternalLoginCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tMultiFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tMfaInitSkipLifetime: pulumi.String(\"720h0m0s\"),\n\t\t\tSecondFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tIgnoreUnknownUsernames: pulumi.Bool(true),\n\t\t\tDefaultRedirectUri: pulumi.String(\"localhost:8080\"),\n\t\t\tSecondFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_OTP\"),\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_U2F\"),\n\t\t\t},\n\t\t\tMultiFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"),\n\t\t\t},\n\t\t\tIdps: pulumi.StringArray{\n\t\t\t\tdefaultZitadelIdpGoogle.Id,\n\t\t\t\tdefaultZitadelIdpAzureAd.Id,\n\t\t\t},\n\t\t\tAllowDomainDiscovery: pulumi.Bool(true),\n\t\t\tDisableLoginWithEmail: pulumi.Bool(true),\n\t\t\tDisableLoginWithPhone: pulumi.Bool(true),\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.zitadel.DefaultLoginPolicy;\nimport com.pulumi.zitadel.DefaultLoginPolicyArgs;\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 default_ = new DefaultLoginPolicy(\"default\", DefaultLoginPolicyArgs.builder() \n .userLogin(true)\n .allowRegister(true)\n .allowExternalIdp(true)\n .forceMfa(false)\n .forceMfaLocalOnly(false)\n .passwordlessType(\"PASSWORDLESS_TYPE_ALLOWED\")\n .hidePasswordReset(\"false\")\n .passwordCheckLifetime(\"240h0m0s\")\n .externalLoginCheckLifetime(\"240h0m0s\")\n .multiFactorCheckLifetime(\"24h0m0s\")\n .mfaInitSkipLifetime(\"720h0m0s\")\n .secondFactorCheckLifetime(\"24h0m0s\")\n .ignoreUnknownUsernames(true)\n .defaultRedirectUri(\"localhost:8080\")\n .secondFactors( \n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\")\n .multiFactors(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\")\n .idps( \n defaultZitadelIdpGoogle.id(),\n defaultZitadelIdpAzureAd.id())\n .allowDomainDiscovery(true)\n .disableLoginWithEmail(true)\n .disableLoginWithPhone(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultLoginPolicy\n properties:\n userLogin: true\n allowRegister: true\n allowExternalIdp: true\n forceMfa: false\n forceMfaLocalOnly: false\n passwordlessType: PASSWORDLESS_TYPE_ALLOWED\n hidePasswordReset: 'false'\n passwordCheckLifetime: 240h0m0s\n externalLoginCheckLifetime: 240h0m0s\n multiFactorCheckLifetime: 24h0m0s\n mfaInitSkipLifetime: 720h0m0s\n secondFactorCheckLifetime: 24h0m0s\n ignoreUnknownUsernames: true\n defaultRedirectUri: localhost:8080\n secondFactors:\n - SECOND_FACTOR_TYPE_OTP\n - SECOND_FACTOR_TYPE_U2F\n multiFactors:\n - MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\n idps:\n - ${defaultZitadelIdpGoogle.id}\n - ${defaultZitadelIdpAzureAd.id}\n allowDomainDiscovery: true\n disableLoginWithEmail: true\n disableLoginWithPhone: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultLoginPolicy:DefaultLoginPolicy imported ''\n```\n\n ", "properties": { "allowDomainDiscovery": { "type": "boolean", @@ -1597,7 +1603,7 @@ } }, "zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy": { - "description": "Resource representing the default password complexity policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultPasswordComplexityPolicy(\"default\", {\n hasLowercase: true,\n hasNumber: true,\n hasSymbol: true,\n hasUppercase: true,\n minLength: 8,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultPasswordComplexityPolicy(\"default\",\n has_lowercase=True,\n has_number=True,\n has_symbol=True,\n has_uppercase=True,\n min_length=8)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultPasswordComplexityPolicy(\"default\", new()\n {\n HasLowercase = true,\n HasNumber = true,\n HasSymbol = true,\n HasUppercase = true,\n MinLength = 8,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultPasswordComplexityPolicy(ctx, \"default\", \u0026zitadel.DefaultPasswordComplexityPolicyArgs{\n\t\t\tHasLowercase: pulumi.Bool(true),\n\t\t\tHasNumber: pulumi.Bool(true),\n\t\t\tHasSymbol: pulumi.Bool(true),\n\t\t\tHasUppercase: pulumi.Bool(true),\n\t\t\tMinLength: pulumi.Int(8),\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.zitadel.DefaultPasswordComplexityPolicy;\nimport com.pulumi.zitadel.DefaultPasswordComplexityPolicyArgs;\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 default_ = new DefaultPasswordComplexityPolicy(\"default\", DefaultPasswordComplexityPolicyArgs.builder() \n .hasLowercase(true)\n .hasNumber(true)\n .hasSymbol(true)\n .hasUppercase(true)\n .minLength(\"8\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultPasswordComplexityPolicy\n properties:\n hasLowercase: true\n hasNumber: true\n hasSymbol: true\n hasUppercase: true\n minLength: '8'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy imported ''\n```\n\n ", + "description": "Resource representing the default password complexity policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultPasswordComplexityPolicy(\"default\", {\n minLength: 8,\n hasUppercase: true,\n hasLowercase: true,\n hasNumber: true,\n hasSymbol: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultPasswordComplexityPolicy(\"default\",\n min_length=8,\n has_uppercase=True,\n has_lowercase=True,\n has_number=True,\n has_symbol=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultPasswordComplexityPolicy(\"default\", new()\n {\n MinLength = 8,\n HasUppercase = true,\n HasLowercase = true,\n HasNumber = true,\n HasSymbol = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultPasswordComplexityPolicy(ctx, \"default\", \u0026zitadel.DefaultPasswordComplexityPolicyArgs{\n\t\t\tMinLength: pulumi.Int(8),\n\t\t\tHasUppercase: pulumi.Bool(true),\n\t\t\tHasLowercase: pulumi.Bool(true),\n\t\t\tHasNumber: pulumi.Bool(true),\n\t\t\tHasSymbol: pulumi.Bool(true),\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.zitadel.DefaultPasswordComplexityPolicy;\nimport com.pulumi.zitadel.DefaultPasswordComplexityPolicyArgs;\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 default_ = new DefaultPasswordComplexityPolicy(\"default\", DefaultPasswordComplexityPolicyArgs.builder() \n .minLength(\"8\")\n .hasUppercase(true)\n .hasLowercase(true)\n .hasNumber(true)\n .hasSymbol(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultPasswordComplexityPolicy\n properties:\n minLength: '8'\n hasUppercase: true\n hasLowercase: true\n hasNumber: true\n hasSymbol: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultPasswordComplexityPolicy:DefaultPasswordComplexityPolicy imported ''\n```\n\n ", "properties": { "hasLowercase": { "type": "boolean", @@ -1684,7 +1690,7 @@ } }, "zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy": { - "description": "Resource representing the default privacy policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultPrivacyPolicy(\"default\", {\n helpLink: \"https://example.com/help\",\n privacyLink: \"https://example.com/privacy\",\n supportEmail: \"support@example.com\",\n tosLink: \"https://example.com/tos\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultPrivacyPolicy(\"default\",\n help_link=\"https://example.com/help\",\n privacy_link=\"https://example.com/privacy\",\n support_email=\"support@example.com\",\n tos_link=\"https://example.com/tos\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultPrivacyPolicy(\"default\", new()\n {\n HelpLink = \"https://example.com/help\",\n PrivacyLink = \"https://example.com/privacy\",\n SupportEmail = \"support@example.com\",\n TosLink = \"https://example.com/tos\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultPrivacyPolicy(ctx, \"default\", \u0026zitadel.DefaultPrivacyPolicyArgs{\n\t\t\tHelpLink: pulumi.String(\"https://example.com/help\"),\n\t\t\tPrivacyLink: pulumi.String(\"https://example.com/privacy\"),\n\t\t\tSupportEmail: pulumi.String(\"support@example.com\"),\n\t\t\tTosLink: pulumi.String(\"https://example.com/tos\"),\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.zitadel.DefaultPrivacyPolicy;\nimport com.pulumi.zitadel.DefaultPrivacyPolicyArgs;\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 default_ = new DefaultPrivacyPolicy(\"default\", DefaultPrivacyPolicyArgs.builder() \n .helpLink(\"https://example.com/help\")\n .privacyLink(\"https://example.com/privacy\")\n .supportEmail(\"support@example.com\")\n .tosLink(\"https://example.com/tos\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultPrivacyPolicy\n properties:\n helpLink: https://example.com/help\n privacyLink: https://example.com/privacy\n supportEmail: support@example.com\n tosLink: https://example.com/tos\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy imported ''\n```\n\n ", + "description": "Resource representing the default privacy policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DefaultPrivacyPolicy(\"default\", {\n tosLink: \"https://example.com/tos\",\n privacyLink: \"https://example.com/privacy\",\n helpLink: \"https://example.com/help\",\n supportEmail: \"support@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DefaultPrivacyPolicy(\"default\",\n tos_link=\"https://example.com/tos\",\n privacy_link=\"https://example.com/privacy\",\n help_link=\"https://example.com/help\",\n support_email=\"support@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DefaultPrivacyPolicy(\"default\", new()\n {\n TosLink = \"https://example.com/tos\",\n PrivacyLink = \"https://example.com/privacy\",\n HelpLink = \"https://example.com/help\",\n SupportEmail = \"support@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDefaultPrivacyPolicy(ctx, \"default\", \u0026zitadel.DefaultPrivacyPolicyArgs{\n\t\t\tTosLink: pulumi.String(\"https://example.com/tos\"),\n\t\t\tPrivacyLink: pulumi.String(\"https://example.com/privacy\"),\n\t\t\tHelpLink: pulumi.String(\"https://example.com/help\"),\n\t\t\tSupportEmail: pulumi.String(\"support@example.com\"),\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.zitadel.DefaultPrivacyPolicy;\nimport com.pulumi.zitadel.DefaultPrivacyPolicyArgs;\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 default_ = new DefaultPrivacyPolicy(\"default\", DefaultPrivacyPolicyArgs.builder() \n .tosLink(\"https://example.com/tos\")\n .privacyLink(\"https://example.com/privacy\")\n .helpLink(\"https://example.com/help\")\n .supportEmail(\"support@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DefaultPrivacyPolicy\n properties:\n tosLink: https://example.com/tos\n privacyLink: https://example.com/privacy\n helpLink: https://example.com/help\n supportEmail: support@example.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/defaultPrivacyPolicy:DefaultPrivacyPolicy imported ''\n```\n\n ", "properties": { "helpLink": { "type": "string" @@ -1733,7 +1739,7 @@ } }, "zitadel:index/domain:Domain": { - "description": "Resource representing a domain of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Domain(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n isPrimary: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Domain(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n is_primary=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Domain(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n IsPrimary = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDomain(ctx, \"default\", \u0026zitadel.DomainArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tIsPrimary: pulumi.Bool(false),\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.zitadel.Domain;\nimport com.pulumi.zitadel.DomainArgs;\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 default_ = new Domain(\"default\", DomainArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .isPrimary(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Domain\n properties:\n orgId: ${data.zitadel_org.default.id}\n isPrimary: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `name[:org_id]`, e.g.\n\n```sh\n $ pulumi import zitadel:index/domain:Domain imported 'example.com:123456789012345678'\n```\n\n ", + "description": "Resource representing a domain of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Domain(\"default\", {\n orgId: defaultZitadelOrg.id,\n name: \"zitadel.default.127.0.0.1.sslip.io\",\n isPrimary: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Domain(\"default\",\n org_id=default_zitadel_org[\"id\"],\n name=\"zitadel.default.127.0.0.1.sslip.io\",\n is_primary=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Domain(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n Name = \"zitadel.default.127.0.0.1.sslip.io\",\n IsPrimary = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDomain(ctx, \"default\", \u0026zitadel.DomainArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tName: pulumi.String(\"zitadel.default.127.0.0.1.sslip.io\"),\n\t\t\tIsPrimary: pulumi.Bool(false),\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.zitadel.Domain;\nimport com.pulumi.zitadel.DomainArgs;\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 default_ = new Domain(\"default\", DomainArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .name(\"zitadel.default.127.0.0.1.sslip.io\")\n .isPrimary(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Domain\n properties:\n orgId: ${defaultZitadelOrg.id}\n name: zitadel.default.127.0.0.1.sslip.io\n isPrimary: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `name[:org_id]`, e.g.\n\n```sh\n $ pulumi import zitadel:index/domain:Domain imported 'example.com:123456789012345678'\n```\n\n ", "properties": { "isPrimary": { "type": "boolean", @@ -1807,7 +1813,7 @@ } }, "zitadel:index/domainPolicy:DomainPolicy": { - "description": "Resource representing the custom domain policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DomainPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userLoginMustBeDomain: false,\n validateOrgDomains: true,\n smtpSenderAddressMatchesInstanceDomain: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DomainPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_login_must_be_domain=False,\n validate_org_domains=True,\n smtp_sender_address_matches_instance_domain=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DomainPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserLoginMustBeDomain = false,\n ValidateOrgDomains = true,\n SmtpSenderAddressMatchesInstanceDomain = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDomainPolicy(ctx, \"default\", \u0026zitadel.DomainPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserLoginMustBeDomain: pulumi.Bool(false),\n\t\t\tValidateOrgDomains: pulumi.Bool(true),\n\t\t\tSmtpSenderAddressMatchesInstanceDomain: pulumi.Bool(true),\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.zitadel.DomainPolicy;\nimport com.pulumi.zitadel.DomainPolicyArgs;\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 default_ = new DomainPolicy(\"default\", DomainPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userLoginMustBeDomain(false)\n .validateOrgDomains(true)\n .smtpSenderAddressMatchesInstanceDomain(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DomainPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n userLoginMustBeDomain: false\n validateOrgDomains: true\n smtpSenderAddressMatchesInstanceDomain: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/domainPolicy:DomainPolicy imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the custom domain policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.DomainPolicy(\"default\", {\n orgId: defaultZitadelOrg.id,\n userLoginMustBeDomain: false,\n validateOrgDomains: true,\n smtpSenderAddressMatchesInstanceDomain: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.DomainPolicy(\"default\",\n org_id=default_zitadel_org[\"id\"],\n user_login_must_be_domain=False,\n validate_org_domains=True,\n smtp_sender_address_matches_instance_domain=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.DomainPolicy(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n UserLoginMustBeDomain = false,\n ValidateOrgDomains = true,\n SmtpSenderAddressMatchesInstanceDomain = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewDomainPolicy(ctx, \"default\", \u0026zitadel.DomainPolicyArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tUserLoginMustBeDomain: pulumi.Bool(false),\n\t\t\tValidateOrgDomains: pulumi.Bool(true),\n\t\t\tSmtpSenderAddressMatchesInstanceDomain: pulumi.Bool(true),\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.zitadel.DomainPolicy;\nimport com.pulumi.zitadel.DomainPolicyArgs;\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 default_ = new DomainPolicy(\"default\", DomainPolicyArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .userLoginMustBeDomain(false)\n .validateOrgDomains(true)\n .smtpSenderAddressMatchesInstanceDomain(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:DomainPolicy\n properties:\n orgId: ${defaultZitadelOrg.id}\n userLoginMustBeDomain: false\n validateOrgDomains: true\n smtpSenderAddressMatchesInstanceDomain: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/domainPolicy:DomainPolicy imported '123456789012345678'\n```\n\n ", "properties": { "orgId": { "type": "string", @@ -1877,7 +1883,7 @@ } }, "zitadel:index/humanUser:HumanUser": { - "description": "**Caution: Email can only be set verified if a password is set for the user, either with initial_password or during runtime**\n\nResource representing a human user situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.HumanUser(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userName: \"humanfull@localhost.com\",\n firstName: \"firstname\",\n lastName: \"lastname\",\n nickName: \"nickname\",\n displayName: \"displayname\",\n preferredLanguage: \"de\",\n gender: \"GENDER_MALE\",\n phone: \"+41799999999\",\n isPhoneVerified: true,\n email: \"test@zitadel.com\",\n isEmailVerified: true,\n initialPassword: \"Password1!\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.HumanUser(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_name=\"humanfull@localhost.com\",\n first_name=\"firstname\",\n last_name=\"lastname\",\n nick_name=\"nickname\",\n display_name=\"displayname\",\n preferred_language=\"de\",\n gender=\"GENDER_MALE\",\n phone=\"+41799999999\",\n is_phone_verified=True,\n email=\"test@zitadel.com\",\n is_email_verified=True,\n initial_password=\"Password1!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.HumanUser(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserName = \"humanfull@localhost.com\",\n FirstName = \"firstname\",\n LastName = \"lastname\",\n NickName = \"nickname\",\n DisplayName = \"displayname\",\n PreferredLanguage = \"de\",\n Gender = \"GENDER_MALE\",\n Phone = \"+41799999999\",\n IsPhoneVerified = true,\n Email = \"test@zitadel.com\",\n IsEmailVerified = true,\n InitialPassword = \"Password1!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewHumanUser(ctx, \"default\", \u0026zitadel.HumanUserArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserName: pulumi.String(\"humanfull@localhost.com\"),\n\t\t\tFirstName: pulumi.String(\"firstname\"),\n\t\t\tLastName: pulumi.String(\"lastname\"),\n\t\t\tNickName: pulumi.String(\"nickname\"),\n\t\t\tDisplayName: pulumi.String(\"displayname\"),\n\t\t\tPreferredLanguage: pulumi.String(\"de\"),\n\t\t\tGender: pulumi.String(\"GENDER_MALE\"),\n\t\t\tPhone: pulumi.String(\"+41799999999\"),\n\t\t\tIsPhoneVerified: pulumi.Bool(true),\n\t\t\tEmail: pulumi.String(\"test@zitadel.com\"),\n\t\t\tIsEmailVerified: pulumi.Bool(true),\n\t\t\tInitialPassword: pulumi.String(\"Password1!\"),\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.zitadel.HumanUser;\nimport com.pulumi.zitadel.HumanUserArgs;\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 default_ = new HumanUser(\"default\", HumanUserArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userName(\"humanfull@localhost.com\")\n .firstName(\"firstname\")\n .lastName(\"lastname\")\n .nickName(\"nickname\")\n .displayName(\"displayname\")\n .preferredLanguage(\"de\")\n .gender(\"GENDER_MALE\")\n .phone(\"+41799999999\")\n .isPhoneVerified(true)\n .email(\"test@zitadel.com\")\n .isEmailVerified(true)\n .initialPassword(\"Password1!\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:HumanUser\n properties:\n orgId: ${data.zitadel_org.default.id}\n userName: humanfull@localhost.com\n firstName: firstname\n lastName: lastname\n nickName: nickname\n displayName: displayname\n preferredLanguage: de\n gender: GENDER_MALE\n phone: '+41799999999'\n isPhoneVerified: true\n email: test@zitadel.com\n isEmailVerified: true\n initialPassword: Password1!\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `id[:org_id][:initial_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/humanUser:HumanUser imported '123456789012345678:123456789012345678:Password1!'\n```\n\n ", + "description": "**Caution: Email can only be set verified if a password is set for the user, either with initial_password or during runtime**\n\nResource representing a human user situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.HumanUser(\"default\", {\n orgId: defaultZitadelOrg.id,\n userName: \"humanfull@localhost.com\",\n firstName: \"firstname\",\n lastName: \"lastname\",\n nickName: \"nickname\",\n displayName: \"displayname\",\n preferredLanguage: \"de\",\n gender: \"GENDER_MALE\",\n phone: \"+41799999999\",\n isPhoneVerified: true,\n email: \"test@zitadel.com\",\n isEmailVerified: true,\n initialPassword: \"Password1!\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.HumanUser(\"default\",\n org_id=default_zitadel_org[\"id\"],\n user_name=\"humanfull@localhost.com\",\n first_name=\"firstname\",\n last_name=\"lastname\",\n nick_name=\"nickname\",\n display_name=\"displayname\",\n preferred_language=\"de\",\n gender=\"GENDER_MALE\",\n phone=\"+41799999999\",\n is_phone_verified=True,\n email=\"test@zitadel.com\",\n is_email_verified=True,\n initial_password=\"Password1!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.HumanUser(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n UserName = \"humanfull@localhost.com\",\n FirstName = \"firstname\",\n LastName = \"lastname\",\n NickName = \"nickname\",\n DisplayName = \"displayname\",\n PreferredLanguage = \"de\",\n Gender = \"GENDER_MALE\",\n Phone = \"+41799999999\",\n IsPhoneVerified = true,\n Email = \"test@zitadel.com\",\n IsEmailVerified = true,\n InitialPassword = \"Password1!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewHumanUser(ctx, \"default\", \u0026zitadel.HumanUserArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tUserName: pulumi.String(\"humanfull@localhost.com\"),\n\t\t\tFirstName: pulumi.String(\"firstname\"),\n\t\t\tLastName: pulumi.String(\"lastname\"),\n\t\t\tNickName: pulumi.String(\"nickname\"),\n\t\t\tDisplayName: pulumi.String(\"displayname\"),\n\t\t\tPreferredLanguage: pulumi.String(\"de\"),\n\t\t\tGender: pulumi.String(\"GENDER_MALE\"),\n\t\t\tPhone: pulumi.String(\"+41799999999\"),\n\t\t\tIsPhoneVerified: pulumi.Bool(true),\n\t\t\tEmail: pulumi.String(\"test@zitadel.com\"),\n\t\t\tIsEmailVerified: pulumi.Bool(true),\n\t\t\tInitialPassword: pulumi.String(\"Password1!\"),\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.zitadel.HumanUser;\nimport com.pulumi.zitadel.HumanUserArgs;\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 default_ = new HumanUser(\"default\", HumanUserArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .userName(\"humanfull@localhost.com\")\n .firstName(\"firstname\")\n .lastName(\"lastname\")\n .nickName(\"nickname\")\n .displayName(\"displayname\")\n .preferredLanguage(\"de\")\n .gender(\"GENDER_MALE\")\n .phone(\"+41799999999\")\n .isPhoneVerified(true)\n .email(\"test@zitadel.com\")\n .isEmailVerified(true)\n .initialPassword(\"Password1!\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:HumanUser\n properties:\n orgId: ${defaultZitadelOrg.id}\n userName: humanfull@localhost.com\n firstName: firstname\n lastName: lastname\n nickName: nickname\n displayName: displayname\n preferredLanguage: de\n gender: GENDER_MALE\n phone: '+41799999999'\n isPhoneVerified: true\n email: test@zitadel.com\n isEmailVerified: true\n initialPassword: Password1!\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `id[:org_id][:initial_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/humanUser:HumanUser imported '123456789012345678:123456789012345678:Password1!'\n```\n\n ", "properties": { "displayName": { "type": "string", @@ -2101,7 +2107,7 @@ } }, "zitadel:index/idpAzureAd:IdpAzureAd": { - "description": "Resource representing an Azure AD IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpAzureAd(\"default\", {\n clientId: \"9065bfc8-a08a...\",\n clientSecret: \"H2n***\",\n emailVerified: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenantType: \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpAzureAd(\"default\",\n client_id=\"9065bfc8-a08a...\",\n client_secret=\"H2n***\",\n email_verified=True,\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenant_type=\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpAzureAd(\"default\", new()\n {\n ClientId = \"9065bfc8-a08a...\",\n ClientSecret = \"H2n***\",\n EmailVerified = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n },\n TenantType = \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpAzureAd(ctx, \"default\", \u0026zitadel.IdpAzureAdArgs{\n\t\t\tClientId: pulumi.String(\"9065bfc8-a08a...\"),\n\t\t\tClientSecret: pulumi.String(\"H2n***\"),\n\t\t\tEmailVerified: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"User.Read\"),\n\t\t\t},\n\t\t\tTenantType: pulumi.String(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\"),\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.zitadel.IdpAzureAd;\nimport com.pulumi.zitadel.IdpAzureAdArgs;\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 default_ = new IdpAzureAd(\"default\", IdpAzureAdArgs.builder() \n .clientId(\"9065bfc8-a08a...\")\n .clientSecret(\"H2n***\")\n .emailVerified(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\")\n .tenantType(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpAzureAd\n properties:\n clientId: 9065bfc8-a08a...\n clientSecret: H2n***\n emailVerified: true\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n - User.Read\n tenantType: AZURE_AD_TENANT_TYPE_ORGANISATIONS\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpAzureAd:IdpAzureAd imported '123456789012345678:12345678-1234-1234-1234-123456789012'\n```\n\n ", + "description": "Resource representing an Azure AD IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpAzureAd(\"default\", {\n name: \"Azure AD\",\n clientId: \"9065bfc8-a08a...\",\n clientSecret: \"H2n***\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenantType: \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n emailVerified: true,\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpAzureAd(\"default\",\n name=\"Azure AD\",\n client_id=\"9065bfc8-a08a...\",\n client_secret=\"H2n***\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenant_type=\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n email_verified=True,\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpAzureAd(\"default\", new()\n {\n Name = \"Azure AD\",\n ClientId = \"9065bfc8-a08a...\",\n ClientSecret = \"H2n***\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n },\n TenantType = \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n EmailVerified = true,\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpAzureAd(ctx, \"default\", \u0026zitadel.IdpAzureAdArgs{\n\t\t\tName: pulumi.String(\"Azure AD\"),\n\t\t\tClientId: pulumi.String(\"9065bfc8-a08a...\"),\n\t\t\tClientSecret: pulumi.String(\"H2n***\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"User.Read\"),\n\t\t\t},\n\t\t\tTenantType: pulumi.String(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\"),\n\t\t\tEmailVerified: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.IdpAzureAd;\nimport com.pulumi.zitadel.IdpAzureAdArgs;\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 default_ = new IdpAzureAd(\"default\", IdpAzureAdArgs.builder() \n .name(\"Azure AD\")\n .clientId(\"9065bfc8-a08a...\")\n .clientSecret(\"H2n***\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\")\n .tenantType(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n .emailVerified(true)\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpAzureAd\n properties:\n name: Azure AD\n clientId: 9065bfc8-a08a...\n clientSecret: H2n***\n scopes:\n - openid\n - profile\n - email\n - User.Read\n tenantType: AZURE_AD_TENANT_TYPE_ORGANISATIONS\n emailVerified: true\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpAzureAd:IdpAzureAd imported '123456789012345678:12345678-1234-1234-1234-123456789012'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -2277,7 +2283,7 @@ } }, "zitadel:index/idpGithub:IdpGithub": { - "description": "Resource representing a GitHub IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGithub(\"default\", {\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGithub(\"default\",\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGithub(\"default\", new()\n {\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGithub(ctx, \"default\", \u0026zitadel.IdpGithubArgs{\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGithub;\nimport com.pulumi.zitadel.IdpGithubArgs;\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 default_ = new IdpGithub(\"default\", IdpGithubArgs.builder() \n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGithub\n properties:\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGithub:IdpGithub imported '123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", + "description": "Resource representing a GitHub IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGithub(\"default\", {\n name: \"GitHub\",\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGithub(\"default\",\n name=\"GitHub\",\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGithub(\"default\", new()\n {\n Name = \"GitHub\",\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGithub(ctx, \"default\", \u0026zitadel.IdpGithubArgs{\n\t\t\tName: pulumi.String(\"GitHub\"),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.IdpGithub;\nimport com.pulumi.zitadel.IdpGithubArgs;\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 default_ = new IdpGithub(\"default\", IdpGithubArgs.builder() \n .name(\"GitHub\")\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGithub\n properties:\n name: GitHub\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGithub:IdpGithub imported '123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -2415,7 +2421,7 @@ } }, "zitadel:index/idpGithubEs:IdpGithubEs": { - "description": "Resource representing a GitHub Enterprise IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGithubEs(\"default\", {\n authorizationEndpoint: \"https://auth.endpoint\",\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n tokenEndpoint: \"https://token.endpoint\",\n userEndpoint: \"https://user.endpoint\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGithubEs(\"default\",\n authorization_endpoint=\"https://auth.endpoint\",\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n token_endpoint=\"https://token.endpoint\",\n user_endpoint=\"https://user.endpoint\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGithubEs(\"default\", new()\n {\n AuthorizationEndpoint = \"https://auth.endpoint\",\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n TokenEndpoint = \"https://token.endpoint\",\n UserEndpoint = \"https://user.endpoint\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGithubEs(ctx, \"default\", \u0026zitadel.IdpGithubEsArgs{\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.endpoint\"),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tTokenEndpoint: pulumi.String(\"https://token.endpoint\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://user.endpoint\"),\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.zitadel.IdpGithubEs;\nimport com.pulumi.zitadel.IdpGithubEsArgs;\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 default_ = new IdpGithubEs(\"default\", IdpGithubEsArgs.builder() \n .authorizationEndpoint(\"https://auth.endpoint\")\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .tokenEndpoint(\"https://token.endpoint\")\n .userEndpoint(\"https://user.endpoint\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGithubEs\n properties:\n authorizationEndpoint: https://auth.endpoint\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n tokenEndpoint: https://token.endpoint\n userEndpoint: https://user.endpoint\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGithubEs:IdpGithubEs imported '123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", + "description": "Resource representing a GitHub Enterprise IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGithubEs(\"default\", {\n name: \"GitHub Enterprise Server\",\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n authorizationEndpoint: \"https://auth.endpoint\",\n tokenEndpoint: \"https://token.endpoint\",\n userEndpoint: \"https://user.endpoint\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGithubEs(\"default\",\n name=\"GitHub Enterprise Server\",\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n authorization_endpoint=\"https://auth.endpoint\",\n token_endpoint=\"https://token.endpoint\",\n user_endpoint=\"https://user.endpoint\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGithubEs(\"default\", new()\n {\n Name = \"GitHub Enterprise Server\",\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n AuthorizationEndpoint = \"https://auth.endpoint\",\n TokenEndpoint = \"https://token.endpoint\",\n UserEndpoint = \"https://user.endpoint\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGithubEs(ctx, \"default\", \u0026zitadel.IdpGithubEsArgs{\n\t\t\tName: pulumi.String(\"GitHub Enterprise Server\"),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.endpoint\"),\n\t\t\tTokenEndpoint: pulumi.String(\"https://token.endpoint\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://user.endpoint\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.IdpGithubEs;\nimport com.pulumi.zitadel.IdpGithubEsArgs;\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 default_ = new IdpGithubEs(\"default\", IdpGithubEsArgs.builder() \n .name(\"GitHub Enterprise Server\")\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .authorizationEndpoint(\"https://auth.endpoint\")\n .tokenEndpoint(\"https://token.endpoint\")\n .userEndpoint(\"https://user.endpoint\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGithubEs\n properties:\n name: GitHub Enterprise Server\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n scopes:\n - openid\n - profile\n - email\n authorizationEndpoint: https://auth.endpoint\n tokenEndpoint: https://token.endpoint\n userEndpoint: https://user.endpoint\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGithubEs:IdpGithubEs imported '123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", "properties": { "authorizationEndpoint": { "type": "string", @@ -2595,7 +2601,7 @@ } }, "zitadel:index/idpGitlab:IdpGitlab": { - "description": "Resource representing a GitLab IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGitlab(\"default\", {\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGitlab(\"default\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGitlab(\"default\", new()\n {\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGitlab(ctx, \"default\", \u0026zitadel.IdpGitlabArgs{\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGitlab;\nimport com.pulumi.zitadel.IdpGitlabArgs;\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 default_ = new IdpGitlab(\"default\", IdpGitlabArgs.builder() \n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGitlab\n properties:\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGitlab:IdpGitlab imported '123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a GitLab IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGitlab(\"default\", {\n name: \"GitLab\",\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGitlab(\"default\",\n name=\"GitLab\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGitlab(\"default\", new()\n {\n Name = \"GitLab\",\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGitlab(ctx, \"default\", \u0026zitadel.IdpGitlabArgs{\n\t\t\tName: pulumi.String(\"GitLab\"),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.IdpGitlab;\nimport com.pulumi.zitadel.IdpGitlabArgs;\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 default_ = new IdpGitlab(\"default\", IdpGitlabArgs.builder() \n .name(\"GitLab\")\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGitlab\n properties:\n name: GitLab\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGitlab:IdpGitlab imported '123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -2733,7 +2739,7 @@ } }, "zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted": { - "description": "Resource representing a GitLab Self Hosted IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGitlabSelfHosted(\"default\", {\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n issuer: \"https://my.issuer\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGitlabSelfHosted(\"default\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n issuer=\"https://my.issuer\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGitlabSelfHosted(\"default\", new()\n {\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Issuer = \"https://my.issuer\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGitlabSelfHosted(ctx, \"default\", \u0026zitadel.IdpGitlabSelfHostedArgs{\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIssuer: pulumi.String(\"https://my.issuer\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGitlabSelfHosted;\nimport com.pulumi.zitadel.IdpGitlabSelfHostedArgs;\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 default_ = new IdpGitlabSelfHosted(\"default\", IdpGitlabSelfHostedArgs.builder() \n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .issuer(\"https://my.issuer\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGitlabSelfHosted\n properties:\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n issuer: https://my.issuer\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted imported '123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a GitLab Self Hosted IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGitlabSelfHosted(\"default\", {\n name: \"GitLab Self Hosted\",\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer: \"https://my.issuer\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGitlabSelfHosted(\"default\",\n name=\"GitLab Self Hosted\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer=\"https://my.issuer\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGitlabSelfHosted(\"default\", new()\n {\n Name = \"GitLab Self Hosted\",\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n Issuer = \"https://my.issuer\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGitlabSelfHosted(ctx, \"default\", \u0026zitadel.IdpGitlabSelfHostedArgs{\n\t\t\tName: pulumi.String(\"GitLab Self Hosted\"),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIssuer: pulumi.String(\"https://my.issuer\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.IdpGitlabSelfHosted;\nimport com.pulumi.zitadel.IdpGitlabSelfHostedArgs;\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 default_ = new IdpGitlabSelfHosted(\"default\", IdpGitlabSelfHostedArgs.builder() \n .name(\"GitLab Self Hosted\")\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .issuer(\"https://my.issuer\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGitlabSelfHosted\n properties:\n name: GitLab Self Hosted\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n scopes:\n - openid\n - profile\n - email\n issuer: https://my.issuer\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGitlabSelfHosted:IdpGitlabSelfHosted imported '123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -2885,7 +2891,7 @@ } }, "zitadel:index/idpGoogle:IdpGoogle": { - "description": "Resource representing a Google IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGoogle(\"default\", {\n clientId: \"182902...\",\n clientSecret: \"GOCSPX-*****\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGoogle(\"default\",\n client_id=\"182902...\",\n client_secret=\"GOCSPX-*****\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGoogle(\"default\", new()\n {\n ClientId = \"182902...\",\n ClientSecret = \"GOCSPX-*****\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGoogle(ctx, \"default\", \u0026zitadel.IdpGoogleArgs{\n\t\t\tClientId: pulumi.String(\"182902...\"),\n\t\t\tClientSecret: pulumi.String(\"GOCSPX-*****\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\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.zitadel.IdpGoogle;\nimport com.pulumi.zitadel.IdpGoogleArgs;\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 default_ = new IdpGoogle(\"default\", IdpGoogleArgs.builder() \n .clientId(\"182902...\")\n .clientSecret(\"GOCSPX-*****\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGoogle\n properties:\n clientId: 182902...\n clientSecret: GOCSPX-*****\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n scopes:\n - openid\n - profile\n - email\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGoogle:IdpGoogle imported '123456789012345678:G1234567890123'\n```\n\n ", + "description": "Resource representing a Google IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpGoogle(\"default\", {\n name: \"Google\",\n clientId: \"182902...\",\n clientSecret: \"GOCSPX-*****\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpGoogle(\"default\",\n name=\"Google\",\n client_id=\"182902...\",\n client_secret=\"GOCSPX-*****\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpGoogle(\"default\", new()\n {\n Name = \"Google\",\n ClientId = \"182902...\",\n ClientSecret = \"GOCSPX-*****\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpGoogle(ctx, \"default\", \u0026zitadel.IdpGoogleArgs{\n\t\t\tName: pulumi.String(\"Google\"),\n\t\t\tClientId: pulumi.String(\"182902...\"),\n\t\t\tClientSecret: pulumi.String(\"GOCSPX-*****\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.IdpGoogle;\nimport com.pulumi.zitadel.IdpGoogleArgs;\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 default_ = new IdpGoogle(\"default\", IdpGoogleArgs.builder() \n .name(\"Google\")\n .clientId(\"182902...\")\n .clientSecret(\"GOCSPX-*****\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpGoogle\n properties:\n name: Google\n clientId: 182902...\n clientSecret: GOCSPX-*****\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpGoogle:IdpGoogle imported '123456789012345678:G1234567890123'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -3023,7 +3029,7 @@ } }, "zitadel:index/idpLdap:IdpLdap": { - "description": "Resource representing an LDAP IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpLdap(\"default\", {\n baseDn: \"dc=example,dc=com\",\n bindDn: \"cn=admin,dc=example,dc=com\",\n bindPassword: \"Password1!\",\n firstNameAttribute: \"firstname\",\n idAttribute: \"uid\",\n isAutoCreation: false,\n isAutoUpdate: true,\n isCreationAllowed: true,\n isLinkingAllowed: false,\n lastNameAttribute: \"lastname\",\n servers: [\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n startTls: false,\n timeout: \"10s\",\n userBase: \"dn\",\n userFilters: [\n \"uid\",\n \"email\",\n ],\n userObjectClasses: [\"inetOrgPerson\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpLdap(\"default\",\n base_dn=\"dc=example,dc=com\",\n bind_dn=\"cn=admin,dc=example,dc=com\",\n bind_password=\"Password1!\",\n first_name_attribute=\"firstname\",\n id_attribute=\"uid\",\n is_auto_creation=False,\n is_auto_update=True,\n is_creation_allowed=True,\n is_linking_allowed=False,\n last_name_attribute=\"lastname\",\n servers=[\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n start_tls=False,\n timeout=\"10s\",\n user_base=\"dn\",\n user_filters=[\n \"uid\",\n \"email\",\n ],\n user_object_classes=[\"inetOrgPerson\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpLdap(\"default\", new()\n {\n BaseDn = \"dc=example,dc=com\",\n BindDn = \"cn=admin,dc=example,dc=com\",\n BindPassword = \"Password1!\",\n FirstNameAttribute = \"firstname\",\n IdAttribute = \"uid\",\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsCreationAllowed = true,\n IsLinkingAllowed = false,\n LastNameAttribute = \"lastname\",\n Servers = new[]\n {\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n },\n StartTls = false,\n Timeout = \"10s\",\n UserBase = \"dn\",\n UserFilters = new[]\n {\n \"uid\",\n \"email\",\n },\n UserObjectClasses = new[]\n {\n \"inetOrgPerson\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpLdap(ctx, \"default\", \u0026zitadel.IdpLdapArgs{\n\t\t\tBaseDn: pulumi.String(\"dc=example,dc=com\"),\n\t\t\tBindDn: pulumi.String(\"cn=admin,dc=example,dc=com\"),\n\t\t\tBindPassword: pulumi.String(\"Password1!\"),\n\t\t\tFirstNameAttribute: pulumi.String(\"firstname\"),\n\t\t\tIdAttribute: pulumi.String(\"uid\"),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tLastNameAttribute: pulumi.String(\"lastname\"),\n\t\t\tServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ldaps://my.primary.server:389\"),\n\t\t\t\tpulumi.String(\"ldaps://my.secondary.server:389\"),\n\t\t\t},\n\t\t\tStartTls: pulumi.Bool(false),\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tUserBase: pulumi.String(\"dn\"),\n\t\t\tUserFilters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"uid\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tUserObjectClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"inetOrgPerson\"),\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.zitadel.IdpLdap;\nimport com.pulumi.zitadel.IdpLdapArgs;\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 default_ = new IdpLdap(\"default\", IdpLdapArgs.builder() \n .baseDn(\"dc=example,dc=com\")\n .bindDn(\"cn=admin,dc=example,dc=com\")\n .bindPassword(\"Password1!\")\n .firstNameAttribute(\"firstname\")\n .idAttribute(\"uid\")\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isCreationAllowed(true)\n .isLinkingAllowed(false)\n .lastNameAttribute(\"lastname\")\n .servers( \n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\")\n .startTls(false)\n .timeout(\"10s\")\n .userBase(\"dn\")\n .userFilters( \n \"uid\",\n \"email\")\n .userObjectClasses(\"inetOrgPerson\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpLdap\n properties:\n baseDn: dc=example,dc=com\n bindDn: cn=admin,dc=example,dc=com\n bindPassword: Password1!\n firstNameAttribute: firstname\n idAttribute: uid\n isAutoCreation: false\n isAutoUpdate: true\n isCreationAllowed: true\n isLinkingAllowed: false\n lastNameAttribute: lastname\n servers:\n - ldaps://my.primary.server:389\n - ldaps://my.secondary.server:389\n startTls: false\n timeout: 10s\n userBase: dn\n userFilters:\n - uid\n - email\n userObjectClasses:\n - inetOrgPerson\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:bind_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpLdap:IdpLdap imported '123456789012345678:b1nd_p4ssw0rd'\n```\n\n ", + "description": "Resource representing an LDAP IDP on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.IdpLdap(\"default\", {\n name: \"LDAP\",\n servers: [\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n startTls: false,\n baseDn: \"dc=example,dc=com\",\n bindDn: \"cn=admin,dc=example,dc=com\",\n bindPassword: \"Password1!\",\n userBase: \"dn\",\n userObjectClasses: [\"inetOrgPerson\"],\n userFilters: [\n \"uid\",\n \"email\",\n ],\n timeout: \"10s\",\n idAttribute: \"uid\",\n firstNameAttribute: \"firstname\",\n lastNameAttribute: \"lastname\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.IdpLdap(\"default\",\n name=\"LDAP\",\n servers=[\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n start_tls=False,\n base_dn=\"dc=example,dc=com\",\n bind_dn=\"cn=admin,dc=example,dc=com\",\n bind_password=\"Password1!\",\n user_base=\"dn\",\n user_object_classes=[\"inetOrgPerson\"],\n user_filters=[\n \"uid\",\n \"email\",\n ],\n timeout=\"10s\",\n id_attribute=\"uid\",\n first_name_attribute=\"firstname\",\n last_name_attribute=\"lastname\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.IdpLdap(\"default\", new()\n {\n Name = \"LDAP\",\n Servers = new[]\n {\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n },\n StartTls = false,\n BaseDn = \"dc=example,dc=com\",\n BindDn = \"cn=admin,dc=example,dc=com\",\n BindPassword = \"Password1!\",\n UserBase = \"dn\",\n UserObjectClasses = new[]\n {\n \"inetOrgPerson\",\n },\n UserFilters = new[]\n {\n \"uid\",\n \"email\",\n },\n Timeout = \"10s\",\n IdAttribute = \"uid\",\n FirstNameAttribute = \"firstname\",\n LastNameAttribute = \"lastname\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewIdpLdap(ctx, \"default\", \u0026zitadel.IdpLdapArgs{\n\t\t\tName: pulumi.String(\"LDAP\"),\n\t\t\tServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ldaps://my.primary.server:389\"),\n\t\t\t\tpulumi.String(\"ldaps://my.secondary.server:389\"),\n\t\t\t},\n\t\t\tStartTls: pulumi.Bool(false),\n\t\t\tBaseDn: pulumi.String(\"dc=example,dc=com\"),\n\t\t\tBindDn: pulumi.String(\"cn=admin,dc=example,dc=com\"),\n\t\t\tBindPassword: pulumi.String(\"Password1!\"),\n\t\t\tUserBase: pulumi.String(\"dn\"),\n\t\t\tUserObjectClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"inetOrgPerson\"),\n\t\t\t},\n\t\t\tUserFilters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"uid\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tIdAttribute: pulumi.String(\"uid\"),\n\t\t\tFirstNameAttribute: pulumi.String(\"firstname\"),\n\t\t\tLastNameAttribute: pulumi.String(\"lastname\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.IdpLdap;\nimport com.pulumi.zitadel.IdpLdapArgs;\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 default_ = new IdpLdap(\"default\", IdpLdapArgs.builder() \n .name(\"LDAP\")\n .servers( \n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\")\n .startTls(false)\n .baseDn(\"dc=example,dc=com\")\n .bindDn(\"cn=admin,dc=example,dc=com\")\n .bindPassword(\"Password1!\")\n .userBase(\"dn\")\n .userObjectClasses(\"inetOrgPerson\")\n .userFilters( \n \"uid\",\n \"email\")\n .timeout(\"10s\")\n .idAttribute(\"uid\")\n .firstNameAttribute(\"firstname\")\n .lastNameAttribute(\"lastname\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:IdpLdap\n properties:\n name: LDAP\n servers:\n - ldaps://my.primary.server:389\n - ldaps://my.secondary.server:389\n startTls: false\n baseDn: dc=example,dc=com\n bindDn: cn=admin,dc=example,dc=com\n bindPassword: Password1!\n userBase: dn\n userObjectClasses:\n - inetOrgPerson\n userFilters:\n - uid\n - email\n timeout: 10s\n idAttribute: uid\n firstNameAttribute: firstname\n lastNameAttribute: lastname\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:bind_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/idpLdap:IdpLdap imported '123456789012345678:b1nd_p4ssw0rd'\n```\n\n ", "properties": { "avatarUrlAttribute": { "type": "string", @@ -3421,7 +3427,7 @@ } }, "zitadel:index/instanceMember:InstanceMember": { - "description": "Resource representing the membership of a user on an instance, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.InstanceMember(\"default\", {\n userId: data.zitadel_human_user[\"default\"].id,\n roles: [\"IAM_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.InstanceMember(\"default\",\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n roles=[\"IAM_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.InstanceMember(\"default\", new()\n {\n UserId = data.Zitadel_human_user.Default.Id,\n Roles = new[]\n {\n \"IAM_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewInstanceMember(ctx, \"default\", \u0026zitadel.InstanceMemberArgs{\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"IAM_OWNER\"),\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.zitadel.InstanceMember;\nimport com.pulumi.zitadel.InstanceMemberArgs;\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 default_ = new InstanceMember(\"default\", InstanceMemberArgs.builder() \n .userId(data.zitadel_human_user().default().id())\n .roles(\"IAM_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:InstanceMember\n properties:\n userId: ${data.zitadel_human_user.default.id}\n roles:\n - IAM_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cuser_id\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/instanceMember:InstanceMember imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the membership of a user on an instance, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.InstanceMember(\"default\", {\n userId: defaultZitadelHumanUser.id,\n roles: [\"IAM_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.InstanceMember(\"default\",\n user_id=default_zitadel_human_user[\"id\"],\n roles=[\"IAM_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.InstanceMember(\"default\", new()\n {\n UserId = defaultZitadelHumanUser.Id,\n Roles = new[]\n {\n \"IAM_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewInstanceMember(ctx, \"default\", \u0026zitadel.InstanceMemberArgs{\n\t\t\tUserId: pulumi.Any(defaultZitadelHumanUser.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"IAM_OWNER\"),\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.zitadel.InstanceMember;\nimport com.pulumi.zitadel.InstanceMemberArgs;\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 default_ = new InstanceMember(\"default\", InstanceMemberArgs.builder() \n .userId(defaultZitadelHumanUser.id())\n .roles(\"IAM_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:InstanceMember\n properties:\n userId: ${defaultZitadelHumanUser.id}\n roles:\n - IAM_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cuser_id\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/instanceMember:InstanceMember imported '123456789012345678'\n```\n\n ", "properties": { "roles": { "type": "array", @@ -3785,7 +3791,7 @@ } }, "zitadel:index/lockoutPolicy:LockoutPolicy": { - "description": "Resource representing the custom lockout policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.LockoutPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n maxPasswordAttempts: 5,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.LockoutPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n max_password_attempts=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.LockoutPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n MaxPasswordAttempts = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewLockoutPolicy(ctx, \"default\", \u0026zitadel.LockoutPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tMaxPasswordAttempts: pulumi.Int(5),\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.zitadel.LockoutPolicy;\nimport com.pulumi.zitadel.LockoutPolicyArgs;\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 default_ = new LockoutPolicy(\"default\", LockoutPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .maxPasswordAttempts(\"5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:LockoutPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n maxPasswordAttempts: '5'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/lockoutPolicy:LockoutPolicy imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the custom lockout policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.LockoutPolicy(\"default\", {\n orgId: defaultZitadelOrg.id,\n maxPasswordAttempts: 5,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.LockoutPolicy(\"default\",\n org_id=default_zitadel_org[\"id\"],\n max_password_attempts=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.LockoutPolicy(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n MaxPasswordAttempts = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewLockoutPolicy(ctx, \"default\", \u0026zitadel.LockoutPolicyArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tMaxPasswordAttempts: pulumi.Int(5),\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.zitadel.LockoutPolicy;\nimport com.pulumi.zitadel.LockoutPolicyArgs;\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 default_ = new LockoutPolicy(\"default\", LockoutPolicyArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .maxPasswordAttempts(\"5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:LockoutPolicy\n properties:\n orgId: ${defaultZitadelOrg.id}\n maxPasswordAttempts: '5'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/lockoutPolicy:LockoutPolicy imported '123456789012345678'\n```\n\n ", "properties": { "maxPasswordAttempts": { "type": "integer", @@ -3830,7 +3836,7 @@ } }, "zitadel:index/loginPolicy:LoginPolicy": { - "description": "Resource representing the custom login policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.LoginPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userLogin: true,\n allowRegister: true,\n allowExternalIdp: true,\n forceMfa: false,\n forceMfaLocalOnly: false,\n passwordlessType: \"PASSWORDLESS_TYPE_ALLOWED\",\n hidePasswordReset: false,\n passwordCheckLifetime: \"240h0m0s\",\n externalLoginCheckLifetime: \"240h0m0s\",\n multiFactorCheckLifetime: \"24h0m0s\",\n mfaInitSkipLifetime: \"720h0m0s\",\n secondFactorCheckLifetime: \"24h0m0s\",\n ignoreUnknownUsernames: true,\n defaultRedirectUri: \"localhost:8080\",\n secondFactors: [\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multiFactors: [\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps: [\n data.zitadel_idp_google[\"default\"].id,\n data.zitadel_idp_azure_ad[\"default\"].id,\n ],\n allowDomainDiscovery: true,\n disableLoginWithEmail: true,\n disableLoginWithPhone: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.LoginPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_login=True,\n allow_register=True,\n allow_external_idp=True,\n force_mfa=False,\n force_mfa_local_only=False,\n passwordless_type=\"PASSWORDLESS_TYPE_ALLOWED\",\n hide_password_reset=False,\n password_check_lifetime=\"240h0m0s\",\n external_login_check_lifetime=\"240h0m0s\",\n multi_factor_check_lifetime=\"24h0m0s\",\n mfa_init_skip_lifetime=\"720h0m0s\",\n second_factor_check_lifetime=\"24h0m0s\",\n ignore_unknown_usernames=True,\n default_redirect_uri=\"localhost:8080\",\n second_factors=[\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multi_factors=[\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps=[\n data[\"zitadel_idp_google\"][\"default\"][\"id\"],\n data[\"zitadel_idp_azure_ad\"][\"default\"][\"id\"],\n ],\n allow_domain_discovery=True,\n disable_login_with_email=True,\n disable_login_with_phone=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.LoginPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserLogin = true,\n AllowRegister = true,\n AllowExternalIdp = true,\n ForceMfa = false,\n ForceMfaLocalOnly = false,\n PasswordlessType = \"PASSWORDLESS_TYPE_ALLOWED\",\n HidePasswordReset = false,\n PasswordCheckLifetime = \"240h0m0s\",\n ExternalLoginCheckLifetime = \"240h0m0s\",\n MultiFactorCheckLifetime = \"24h0m0s\",\n MfaInitSkipLifetime = \"720h0m0s\",\n SecondFactorCheckLifetime = \"24h0m0s\",\n IgnoreUnknownUsernames = true,\n DefaultRedirectUri = \"localhost:8080\",\n SecondFactors = new[]\n {\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n },\n MultiFactors = new[]\n {\n \"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\",\n },\n Idps = new[]\n {\n data.Zitadel_idp_google.Default.Id,\n data.Zitadel_idp_azure_ad.Default.Id,\n },\n AllowDomainDiscovery = true,\n DisableLoginWithEmail = true,\n DisableLoginWithPhone = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewLoginPolicy(ctx, \"default\", \u0026zitadel.LoginPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserLogin: pulumi.Bool(true),\n\t\t\tAllowRegister: pulumi.Bool(true),\n\t\t\tAllowExternalIdp: pulumi.Bool(true),\n\t\t\tForceMfa: pulumi.Bool(false),\n\t\t\tForceMfaLocalOnly: pulumi.Bool(false),\n\t\t\tPasswordlessType: pulumi.String(\"PASSWORDLESS_TYPE_ALLOWED\"),\n\t\t\tHidePasswordReset: pulumi.Bool(false),\n\t\t\tPasswordCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tExternalLoginCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tMultiFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tMfaInitSkipLifetime: pulumi.String(\"720h0m0s\"),\n\t\t\tSecondFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tIgnoreUnknownUsernames: pulumi.Bool(true),\n\t\t\tDefaultRedirectUri: pulumi.String(\"localhost:8080\"),\n\t\t\tSecondFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_OTP\"),\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_U2F\"),\n\t\t\t},\n\t\t\tMultiFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"),\n\t\t\t},\n\t\t\tIdps: pulumi.StringArray{\n\t\t\t\tdata.Zitadel_idp_google.Default.Id,\n\t\t\t\tdata.Zitadel_idp_azure_ad.Default.Id,\n\t\t\t},\n\t\t\tAllowDomainDiscovery: pulumi.Bool(true),\n\t\t\tDisableLoginWithEmail: pulumi.Bool(true),\n\t\t\tDisableLoginWithPhone: pulumi.Bool(true),\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.zitadel.LoginPolicy;\nimport com.pulumi.zitadel.LoginPolicyArgs;\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 default_ = new LoginPolicy(\"default\", LoginPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userLogin(true)\n .allowRegister(true)\n .allowExternalIdp(true)\n .forceMfa(false)\n .forceMfaLocalOnly(false)\n .passwordlessType(\"PASSWORDLESS_TYPE_ALLOWED\")\n .hidePasswordReset(\"false\")\n .passwordCheckLifetime(\"240h0m0s\")\n .externalLoginCheckLifetime(\"240h0m0s\")\n .multiFactorCheckLifetime(\"24h0m0s\")\n .mfaInitSkipLifetime(\"720h0m0s\")\n .secondFactorCheckLifetime(\"24h0m0s\")\n .ignoreUnknownUsernames(true)\n .defaultRedirectUri(\"localhost:8080\")\n .secondFactors( \n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\")\n .multiFactors(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\")\n .idps( \n data.zitadel_idp_google().default().id(),\n data.zitadel_idp_azure_ad().default().id())\n .allowDomainDiscovery(true)\n .disableLoginWithEmail(true)\n .disableLoginWithPhone(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:LoginPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n userLogin: true\n allowRegister: true\n allowExternalIdp: true\n forceMfa: false\n forceMfaLocalOnly: false\n passwordlessType: PASSWORDLESS_TYPE_ALLOWED\n hidePasswordReset: 'false'\n passwordCheckLifetime: 240h0m0s\n externalLoginCheckLifetime: 240h0m0s\n multiFactorCheckLifetime: 24h0m0s\n mfaInitSkipLifetime: 720h0m0s\n secondFactorCheckLifetime: 24h0m0s\n ignoreUnknownUsernames: true\n defaultRedirectUri: localhost:8080\n secondFactors:\n - SECOND_FACTOR_TYPE_OTP\n - SECOND_FACTOR_TYPE_U2F\n multiFactors:\n - MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\n idps:\n - ${data.zitadel_idp_google.default.id}\n - ${data.zitadel_idp_azure_ad.default.id}\n allowDomainDiscovery: true\n disableLoginWithEmail: true\n disableLoginWithPhone: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/loginPolicy:LoginPolicy imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the custom login policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.LoginPolicy(\"default\", {\n orgId: defaultZitadelOrg.id,\n userLogin: true,\n allowRegister: true,\n allowExternalIdp: true,\n forceMfa: false,\n forceMfaLocalOnly: false,\n passwordlessType: \"PASSWORDLESS_TYPE_ALLOWED\",\n hidePasswordReset: false,\n passwordCheckLifetime: \"240h0m0s\",\n externalLoginCheckLifetime: \"240h0m0s\",\n multiFactorCheckLifetime: \"24h0m0s\",\n mfaInitSkipLifetime: \"720h0m0s\",\n secondFactorCheckLifetime: \"24h0m0s\",\n ignoreUnknownUsernames: true,\n defaultRedirectUri: \"localhost:8080\",\n secondFactors: [\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multiFactors: [\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps: [\n defaultZitadelIdpGoogle.id,\n defaultZitadelIdpAzureAd.id,\n ],\n allowDomainDiscovery: true,\n disableLoginWithEmail: true,\n disableLoginWithPhone: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.LoginPolicy(\"default\",\n org_id=default_zitadel_org[\"id\"],\n user_login=True,\n allow_register=True,\n allow_external_idp=True,\n force_mfa=False,\n force_mfa_local_only=False,\n passwordless_type=\"PASSWORDLESS_TYPE_ALLOWED\",\n hide_password_reset=False,\n password_check_lifetime=\"240h0m0s\",\n external_login_check_lifetime=\"240h0m0s\",\n multi_factor_check_lifetime=\"24h0m0s\",\n mfa_init_skip_lifetime=\"720h0m0s\",\n second_factor_check_lifetime=\"24h0m0s\",\n ignore_unknown_usernames=True,\n default_redirect_uri=\"localhost:8080\",\n second_factors=[\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n ],\n multi_factors=[\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"],\n idps=[\n default_zitadel_idp_google[\"id\"],\n default_zitadel_idp_azure_ad[\"id\"],\n ],\n allow_domain_discovery=True,\n disable_login_with_email=True,\n disable_login_with_phone=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.LoginPolicy(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n UserLogin = true,\n AllowRegister = true,\n AllowExternalIdp = true,\n ForceMfa = false,\n ForceMfaLocalOnly = false,\n PasswordlessType = \"PASSWORDLESS_TYPE_ALLOWED\",\n HidePasswordReset = false,\n PasswordCheckLifetime = \"240h0m0s\",\n ExternalLoginCheckLifetime = \"240h0m0s\",\n MultiFactorCheckLifetime = \"24h0m0s\",\n MfaInitSkipLifetime = \"720h0m0s\",\n SecondFactorCheckLifetime = \"24h0m0s\",\n IgnoreUnknownUsernames = true,\n DefaultRedirectUri = \"localhost:8080\",\n SecondFactors = new[]\n {\n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\",\n },\n MultiFactors = new[]\n {\n \"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\",\n },\n Idps = new[]\n {\n defaultZitadelIdpGoogle.Id,\n defaultZitadelIdpAzureAd.Id,\n },\n AllowDomainDiscovery = true,\n DisableLoginWithEmail = true,\n DisableLoginWithPhone = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewLoginPolicy(ctx, \"default\", \u0026zitadel.LoginPolicyArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tUserLogin: pulumi.Bool(true),\n\t\t\tAllowRegister: pulumi.Bool(true),\n\t\t\tAllowExternalIdp: pulumi.Bool(true),\n\t\t\tForceMfa: pulumi.Bool(false),\n\t\t\tForceMfaLocalOnly: pulumi.Bool(false),\n\t\t\tPasswordlessType: pulumi.String(\"PASSWORDLESS_TYPE_ALLOWED\"),\n\t\t\tHidePasswordReset: pulumi.Bool(false),\n\t\t\tPasswordCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tExternalLoginCheckLifetime: pulumi.String(\"240h0m0s\"),\n\t\t\tMultiFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tMfaInitSkipLifetime: pulumi.String(\"720h0m0s\"),\n\t\t\tSecondFactorCheckLifetime: pulumi.String(\"24h0m0s\"),\n\t\t\tIgnoreUnknownUsernames: pulumi.Bool(true),\n\t\t\tDefaultRedirectUri: pulumi.String(\"localhost:8080\"),\n\t\t\tSecondFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_OTP\"),\n\t\t\t\tpulumi.String(\"SECOND_FACTOR_TYPE_U2F\"),\n\t\t\t},\n\t\t\tMultiFactors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\"),\n\t\t\t},\n\t\t\tIdps: pulumi.StringArray{\n\t\t\t\tdefaultZitadelIdpGoogle.Id,\n\t\t\t\tdefaultZitadelIdpAzureAd.Id,\n\t\t\t},\n\t\t\tAllowDomainDiscovery: pulumi.Bool(true),\n\t\t\tDisableLoginWithEmail: pulumi.Bool(true),\n\t\t\tDisableLoginWithPhone: pulumi.Bool(true),\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.zitadel.LoginPolicy;\nimport com.pulumi.zitadel.LoginPolicyArgs;\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 default_ = new LoginPolicy(\"default\", LoginPolicyArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .userLogin(true)\n .allowRegister(true)\n .allowExternalIdp(true)\n .forceMfa(false)\n .forceMfaLocalOnly(false)\n .passwordlessType(\"PASSWORDLESS_TYPE_ALLOWED\")\n .hidePasswordReset(\"false\")\n .passwordCheckLifetime(\"240h0m0s\")\n .externalLoginCheckLifetime(\"240h0m0s\")\n .multiFactorCheckLifetime(\"24h0m0s\")\n .mfaInitSkipLifetime(\"720h0m0s\")\n .secondFactorCheckLifetime(\"24h0m0s\")\n .ignoreUnknownUsernames(true)\n .defaultRedirectUri(\"localhost:8080\")\n .secondFactors( \n \"SECOND_FACTOR_TYPE_OTP\",\n \"SECOND_FACTOR_TYPE_U2F\")\n .multiFactors(\"MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\")\n .idps( \n defaultZitadelIdpGoogle.id(),\n defaultZitadelIdpAzureAd.id())\n .allowDomainDiscovery(true)\n .disableLoginWithEmail(true)\n .disableLoginWithPhone(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:LoginPolicy\n properties:\n orgId: ${defaultZitadelOrg.id}\n userLogin: true\n allowRegister: true\n allowExternalIdp: true\n forceMfa: false\n forceMfaLocalOnly: false\n passwordlessType: PASSWORDLESS_TYPE_ALLOWED\n hidePasswordReset: 'false'\n passwordCheckLifetime: 240h0m0s\n externalLoginCheckLifetime: 240h0m0s\n multiFactorCheckLifetime: 24h0m0s\n mfaInitSkipLifetime: 720h0m0s\n secondFactorCheckLifetime: 24h0m0s\n ignoreUnknownUsernames: true\n defaultRedirectUri: localhost:8080\n secondFactors:\n - SECOND_FACTOR_TYPE_OTP\n - SECOND_FACTOR_TYPE_U2F\n multiFactors:\n - MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION\n idps:\n - ${defaultZitadelIdpGoogle.id}\n - ${defaultZitadelIdpAzureAd.id}\n allowDomainDiscovery: true\n disableLoginWithEmail: true\n disableLoginWithPhone: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/loginPolicy:LoginPolicy imported '123456789012345678'\n```\n\n ", "properties": { "allowDomainDiscovery": { "type": "boolean", @@ -4141,7 +4147,7 @@ } }, "zitadel:index/machineKey:MachineKey": { - "description": "Resource representing a machine key\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.MachineKey(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_machine_user[\"default\"].id,\n keyType: \"KEY_TYPE_JSON\",\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.MachineKey(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_machine_user\"][\"default\"][\"id\"],\n key_type=\"KEY_TYPE_JSON\",\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.MachineKey(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_machine_user.Default.Id,\n KeyType = \"KEY_TYPE_JSON\",\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewMachineKey(ctx, \"default\", \u0026zitadel.MachineKeyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_machine_user.Default.Id),\n\t\t\tKeyType: pulumi.String(\"KEY_TYPE_JSON\"),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.MachineKey;\nimport com.pulumi.zitadel.MachineKeyArgs;\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 default_ = new MachineKey(\"default\", MachineKeyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_machine_user().default().id())\n .keyType(\"KEY_TYPE_JSON\")\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:MachineKey\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_machine_user.default.id}\n keyType: KEY_TYPE_JSON\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:user_id[:org_id][:key_details]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/machineKey:MachineKey imported '123456789012345678:123456789012345678:123456789012345678:{\"type\":\"serviceaccount\",\"keyId\":\"123456789012345678\",\"key\":\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQ...-----END RSA PRIVATE KEY-----\\n\",\"userId\":\"123456789012345678\"}'\n```\n\n ", + "description": "Resource representing a machine key\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.MachineKey(\"default\", {\n orgId: defaultZitadelOrg.id,\n userId: defaultZitadelMachineUser.id,\n keyType: \"KEY_TYPE_JSON\",\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.MachineKey(\"default\",\n org_id=default_zitadel_org[\"id\"],\n user_id=default_zitadel_machine_user[\"id\"],\n key_type=\"KEY_TYPE_JSON\",\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.MachineKey(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n UserId = defaultZitadelMachineUser.Id,\n KeyType = \"KEY_TYPE_JSON\",\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewMachineKey(ctx, \"default\", \u0026zitadel.MachineKeyArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tUserId: pulumi.Any(defaultZitadelMachineUser.Id),\n\t\t\tKeyType: pulumi.String(\"KEY_TYPE_JSON\"),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.MachineKey;\nimport com.pulumi.zitadel.MachineKeyArgs;\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 default_ = new MachineKey(\"default\", MachineKeyArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .userId(defaultZitadelMachineUser.id())\n .keyType(\"KEY_TYPE_JSON\")\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:MachineKey\n properties:\n orgId: ${defaultZitadelOrg.id}\n userId: ${defaultZitadelMachineUser.id}\n keyType: KEY_TYPE_JSON\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:user_id[:org_id][:key_details]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/machineKey:MachineKey imported '123456789012345678:123456789012345678:123456789012345678:{\"type\":\"serviceaccount\",\"keyId\":\"123456789012345678\",\"key\":\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQ...-----END RSA PRIVATE KEY-----\\n\",\"userId\":\"123456789012345678\"}'\n```\n\n ", "properties": { "expirationDate": { "type": "string", @@ -4230,7 +4236,7 @@ } }, "zitadel:index/machineUser:MachineUser": { - "description": "Resource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.MachineUser(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userName: \"machine@example.com\",\n description: \"a machine user\",\n withSecret: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.MachineUser(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_name=\"machine@example.com\",\n description=\"a machine user\",\n with_secret=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.MachineUser(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserName = \"machine@example.com\",\n Description = \"a machine user\",\n WithSecret = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewMachineUser(ctx, \"default\", \u0026zitadel.MachineUserArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserName: pulumi.String(\"machine@example.com\"),\n\t\t\tDescription: pulumi.String(\"a machine user\"),\n\t\t\tWithSecret: pulumi.Bool(false),\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.zitadel.MachineUser;\nimport com.pulumi.zitadel.MachineUserArgs;\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 default_ = new MachineUser(\"default\", MachineUserArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userName(\"machine@example.com\")\n .description(\"a machine user\")\n .withSecret(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:MachineUser\n properties:\n orgId: ${data.zitadel_org.default.id}\n userName: machine@example.com\n description: a machine user\n withSecret: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:has_secret[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/machineUser:MachineUser imported '123456789012345678:123456789012345678:true:my-machine-user:j76mh34CHVrGGoXPQOg80lch67FIxwc2qIXjBkZoB6oMbf31eGMkB6bvRyaPjR2t'\n```\n\n ", + "description": "Resource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.MachineUser(\"default\", {\n orgId: defaultZitadelOrg.id,\n userName: \"machine@example.com\",\n name: \"name\",\n description: \"a machine user\",\n withSecret: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.MachineUser(\"default\",\n org_id=default_zitadel_org[\"id\"],\n user_name=\"machine@example.com\",\n name=\"name\",\n description=\"a machine user\",\n with_secret=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.MachineUser(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n UserName = \"machine@example.com\",\n Name = \"name\",\n Description = \"a machine user\",\n WithSecret = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewMachineUser(ctx, \"default\", \u0026zitadel.MachineUserArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tUserName: pulumi.String(\"machine@example.com\"),\n\t\t\tName: pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"a machine user\"),\n\t\t\tWithSecret: pulumi.Bool(false),\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.zitadel.MachineUser;\nimport com.pulumi.zitadel.MachineUserArgs;\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 default_ = new MachineUser(\"default\", MachineUserArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .userName(\"machine@example.com\")\n .name(\"name\")\n .description(\"a machine user\")\n .withSecret(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:MachineUser\n properties:\n orgId: ${defaultZitadelOrg.id}\n userName: machine@example.com\n name: name\n description: a machine user\n withSecret: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:has_secret[:org_id][:client_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/machineUser:MachineUser imported '123456789012345678:123456789012345678:true:my-machine-user:j76mh34CHVrGGoXPQOg80lch67FIxwc2qIXjBkZoB6oMbf31eGMkB6bvRyaPjR2t'\n```\n\n ", "properties": { "accessTokenType": { "type": "string", @@ -4379,7 +4385,7 @@ } }, "zitadel:index/notificationPolicy:NotificationPolicy": { - "description": "Resource representing the custom notification policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.NotificationPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n passwordChange: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.NotificationPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n password_change=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.NotificationPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n PasswordChange = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewNotificationPolicy(ctx, \"default\", \u0026zitadel.NotificationPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tPasswordChange: pulumi.Bool(false),\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.zitadel.NotificationPolicy;\nimport com.pulumi.zitadel.NotificationPolicyArgs;\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 default_ = new NotificationPolicy(\"default\", NotificationPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .passwordChange(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:NotificationPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n passwordChange: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/notificationPolicy:NotificationPolicy imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the custom notification policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.NotificationPolicy(\"default\", {\n orgId: defaultZitadelOrg.id,\n passwordChange: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.NotificationPolicy(\"default\",\n org_id=default_zitadel_org[\"id\"],\n password_change=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.NotificationPolicy(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n PasswordChange = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewNotificationPolicy(ctx, \"default\", \u0026zitadel.NotificationPolicyArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tPasswordChange: pulumi.Bool(false),\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.zitadel.NotificationPolicy;\nimport com.pulumi.zitadel.NotificationPolicyArgs;\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 default_ = new NotificationPolicy(\"default\", NotificationPolicyArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .passwordChange(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:NotificationPolicy\n properties:\n orgId: ${defaultZitadelOrg.id}\n passwordChange: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/notificationPolicy:NotificationPolicy imported '123456789012345678'\n```\n\n ", "properties": { "orgId": { "type": "string", @@ -4424,7 +4430,7 @@ } }, "zitadel:index/org:Org": { - "description": "Resource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Org(\"default\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Org(\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Org(\"default\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrg(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.Org;\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 default_ = new Org(\"default\");\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Org\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/org:Org imported '123456789012345678'\n```\n\n ", + "description": "Resource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Org(\"default\", {name: \"terraform-test\"});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Org(\"default\", name=\"terraform-test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Org(\"default\", new()\n {\n Name = \"terraform-test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrg(ctx, \"default\", \u0026zitadel.OrgArgs{\n\t\t\tName: pulumi.String(\"terraform-test\"),\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.zitadel.Org;\nimport com.pulumi.zitadel.OrgArgs;\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 default_ = new Org(\"default\", OrgArgs.builder() \n .name(\"terraform-test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Org\n properties:\n name: terraform-test\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/org:Org imported '123456789012345678'\n```\n\n ", "properties": { "isDefault": { "type": "boolean", @@ -4482,7 +4488,7 @@ } }, "zitadel:index/orgIdpAzureAd:OrgIdpAzureAd": { - "description": "Resource representing an Azure AD IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpAzureAd(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"9065bfc8-a08a...\",\n clientSecret: \"H2n***\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenantType: \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n emailVerified: true,\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpAzureAd(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"9065bfc8-a08a...\",\n client_secret=\"H2n***\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenant_type=\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n email_verified=True,\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpAzureAd(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"9065bfc8-a08a...\",\n ClientSecret = \"H2n***\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n },\n TenantType = \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n EmailVerified = true,\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpAzureAd(ctx, \"default\", \u0026zitadel.OrgIdpAzureAdArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"9065bfc8-a08a...\"),\n\t\t\tClientSecret: pulumi.String(\"H2n***\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"User.Read\"),\n\t\t\t},\n\t\t\tTenantType: pulumi.String(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\"),\n\t\t\tEmailVerified: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.OrgIdpAzureAd;\nimport com.pulumi.zitadel.OrgIdpAzureAdArgs;\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 default_ = new OrgIdpAzureAd(\"default\", OrgIdpAzureAdArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"9065bfc8-a08a...\")\n .clientSecret(\"H2n***\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\")\n .tenantType(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n .emailVerified(true)\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpAzureAd\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 9065bfc8-a08a...\n clientSecret: H2n***\n scopes:\n - openid\n - profile\n - email\n - User.Read\n tenantType: AZURE_AD_TENANT_TYPE_ORGANISATIONS\n emailVerified: true\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpAzureAd:OrgIdpAzureAd imported '123456789012345678:123456789012345678:12345678-1234-1234-1234-123456789012'\n```\n\n ", + "description": "Resource representing an Azure AD IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpAzureAd(\"default\", {\n orgId: defaultZitadelOrg.id,\n name: \"Azure AD\",\n clientId: \"9065bfc8-a08a...\",\n clientSecret: \"H2n***\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenantType: \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n emailVerified: true,\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpAzureAd(\"default\",\n org_id=default_zitadel_org[\"id\"],\n name=\"Azure AD\",\n client_id=\"9065bfc8-a08a...\",\n client_secret=\"H2n***\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n ],\n tenant_type=\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n email_verified=True,\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpAzureAd(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n Name = \"Azure AD\",\n ClientId = \"9065bfc8-a08a...\",\n ClientSecret = \"H2n***\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\",\n },\n TenantType = \"AZURE_AD_TENANT_TYPE_ORGANISATIONS\",\n EmailVerified = true,\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpAzureAd(ctx, \"default\", \u0026zitadel.OrgIdpAzureAdArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tName: pulumi.String(\"Azure AD\"),\n\t\t\tClientId: pulumi.String(\"9065bfc8-a08a...\"),\n\t\t\tClientSecret: pulumi.String(\"H2n***\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\tpulumi.String(\"User.Read\"),\n\t\t\t},\n\t\t\tTenantType: pulumi.String(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\"),\n\t\t\tEmailVerified: pulumi.Bool(true),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.OrgIdpAzureAd;\nimport com.pulumi.zitadel.OrgIdpAzureAdArgs;\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 default_ = new OrgIdpAzureAd(\"default\", OrgIdpAzureAdArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .name(\"Azure AD\")\n .clientId(\"9065bfc8-a08a...\")\n .clientSecret(\"H2n***\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\",\n \"User.Read\")\n .tenantType(\"AZURE_AD_TENANT_TYPE_ORGANISATIONS\")\n .emailVerified(true)\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpAzureAd\n properties:\n orgId: ${defaultZitadelOrg.id}\n name: Azure AD\n clientId: 9065bfc8-a08a...\n clientSecret: H2n***\n scopes:\n - openid\n - profile\n - email\n - User.Read\n tenantType: AZURE_AD_TENANT_TYPE_ORGANISATIONS\n emailVerified: true\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpAzureAd:OrgIdpAzureAd imported '123456789012345678:123456789012345678:12345678-1234-1234-1234-123456789012'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -4672,7 +4678,7 @@ } }, "zitadel:index/orgIdpGithub:OrgIdpGithub": { - "description": "Resource representing a GitHub IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGithub(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGithub(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGithub(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGithub(ctx, \"default\", \u0026zitadel.OrgIdpGithubArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.OrgIdpGithub;\nimport com.pulumi.zitadel.OrgIdpGithubArgs;\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 default_ = new OrgIdpGithub(\"default\", OrgIdpGithubArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGithub\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGithub:OrgIdpGithub imported '123456789012345678:123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", + "description": "Resource representing a GitHub IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGithub(\"default\", {\n orgId: defaultZitadelOrg.id,\n name: \"GitHub\",\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGithub(\"default\",\n org_id=default_zitadel_org[\"id\"],\n name=\"GitHub\",\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGithub(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n Name = \"GitHub\",\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGithub(ctx, \"default\", \u0026zitadel.OrgIdpGithubArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tName: pulumi.String(\"GitHub\"),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.OrgIdpGithub;\nimport com.pulumi.zitadel.OrgIdpGithubArgs;\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 default_ = new OrgIdpGithub(\"default\", OrgIdpGithubArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .name(\"GitHub\")\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGithub\n properties:\n orgId: ${defaultZitadelOrg.id}\n name: GitHub\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGithub:OrgIdpGithub imported '123456789012345678:123456789012345678:1234567890123456781234567890123456787890'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -4824,7 +4830,7 @@ } }, "zitadel:index/orgIdpGithubEs:OrgIdpGithubEs": { - "description": "Resource representing a GitHub Enterprise IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGithubEs(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n authorizationEndpoint: \"https://auth.endpoint\",\n tokenEndpoint: \"https://token.endpoint\",\n userEndpoint: \"https://user.endpoint\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGithubEs(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n authorization_endpoint=\"https://auth.endpoint\",\n token_endpoint=\"https://token.endpoint\",\n user_endpoint=\"https://user.endpoint\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGithubEs(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n AuthorizationEndpoint = \"https://auth.endpoint\",\n TokenEndpoint = \"https://token.endpoint\",\n UserEndpoint = \"https://user.endpoint\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGithubEs(ctx, \"default\", \u0026zitadel.OrgIdpGithubEsArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.endpoint\"),\n\t\t\tTokenEndpoint: pulumi.String(\"https://token.endpoint\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://user.endpoint\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.OrgIdpGithubEs;\nimport com.pulumi.zitadel.OrgIdpGithubEsArgs;\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 default_ = new OrgIdpGithubEs(\"default\", OrgIdpGithubEsArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .authorizationEndpoint(\"https://auth.endpoint\")\n .tokenEndpoint(\"https://token.endpoint\")\n .userEndpoint(\"https://user.endpoint\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGithubEs\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n scopes:\n - openid\n - profile\n - email\n authorizationEndpoint: https://auth.endpoint\n tokenEndpoint: https://token.endpoint\n userEndpoint: https://user.endpoint\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGithubEs:OrgIdpGithubEs imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing a GitHub Enterprise IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGithubEs(\"default\", {\n orgId: defaultZitadelOrg.id,\n name: \"GitHub Enterprise Server\",\n clientId: \"86a165...\",\n clientSecret: \"*****afdbac18\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n authorizationEndpoint: \"https://auth.endpoint\",\n tokenEndpoint: \"https://token.endpoint\",\n userEndpoint: \"https://user.endpoint\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGithubEs(\"default\",\n org_id=default_zitadel_org[\"id\"],\n name=\"GitHub Enterprise Server\",\n client_id=\"86a165...\",\n client_secret=\"*****afdbac18\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n authorization_endpoint=\"https://auth.endpoint\",\n token_endpoint=\"https://token.endpoint\",\n user_endpoint=\"https://user.endpoint\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGithubEs(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n Name = \"GitHub Enterprise Server\",\n ClientId = \"86a165...\",\n ClientSecret = \"*****afdbac18\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n AuthorizationEndpoint = \"https://auth.endpoint\",\n TokenEndpoint = \"https://token.endpoint\",\n UserEndpoint = \"https://user.endpoint\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGithubEs(ctx, \"default\", \u0026zitadel.OrgIdpGithubEsArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tName: pulumi.String(\"GitHub Enterprise Server\"),\n\t\t\tClientId: pulumi.String(\"86a165...\"),\n\t\t\tClientSecret: pulumi.String(\"*****afdbac18\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.endpoint\"),\n\t\t\tTokenEndpoint: pulumi.String(\"https://token.endpoint\"),\n\t\t\tUserEndpoint: pulumi.String(\"https://user.endpoint\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.OrgIdpGithubEs;\nimport com.pulumi.zitadel.OrgIdpGithubEsArgs;\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 default_ = new OrgIdpGithubEs(\"default\", OrgIdpGithubEsArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .name(\"GitHub Enterprise Server\")\n .clientId(\"86a165...\")\n .clientSecret(\"*****afdbac18\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .authorizationEndpoint(\"https://auth.endpoint\")\n .tokenEndpoint(\"https://token.endpoint\")\n .userEndpoint(\"https://user.endpoint\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGithubEs\n properties:\n orgId: ${defaultZitadelOrg.id}\n name: GitHub Enterprise Server\n clientId: 86a165...\n clientSecret: '*****afdbac18'\n scopes:\n - openid\n - profile\n - email\n authorizationEndpoint: https://auth.endpoint\n tokenEndpoint: https://token.endpoint\n userEndpoint: https://user.endpoint\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGithubEs:OrgIdpGithubEs imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "authorizationEndpoint": { "type": "string", @@ -5018,7 +5024,7 @@ } }, "zitadel:index/orgIdpGitlab:OrgIdpGitlab": { - "description": "Resource representing a GitLab IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGitlab(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGitlab(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGitlab(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGitlab(ctx, \"default\", \u0026zitadel.OrgIdpGitlabArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.OrgIdpGitlab;\nimport com.pulumi.zitadel.OrgIdpGitlabArgs;\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 default_ = new OrgIdpGitlab(\"default\", OrgIdpGitlabArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGitlab\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGitlab:OrgIdpGitlab imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a GitLab IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGitlab(\"default\", {\n orgId: defaultZitadelOrg.id,\n name: \"GitLab\",\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGitlab(\"default\",\n org_id=default_zitadel_org[\"id\"],\n name=\"GitLab\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGitlab(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n Name = \"GitLab\",\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGitlab(ctx, \"default\", \u0026zitadel.OrgIdpGitlabArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tName: pulumi.String(\"GitLab\"),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.OrgIdpGitlab;\nimport com.pulumi.zitadel.OrgIdpGitlabArgs;\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 default_ = new OrgIdpGitlab(\"default\", OrgIdpGitlabArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .name(\"GitLab\")\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGitlab\n properties:\n orgId: ${defaultZitadelOrg.id}\n name: GitLab\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGitlab:OrgIdpGitlab imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -5170,7 +5176,7 @@ } }, "zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted": { - "description": "Resource representing a GitLab Self Hosted IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGitlabSelfHosted(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer: \"https://my.issuer\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGitlabSelfHosted(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer=\"https://my.issuer\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGitlabSelfHosted(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n Issuer = \"https://my.issuer\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGitlabSelfHosted(ctx, \"default\", \u0026zitadel.OrgIdpGitlabSelfHostedArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIssuer: pulumi.String(\"https://my.issuer\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.OrgIdpGitlabSelfHosted;\nimport com.pulumi.zitadel.OrgIdpGitlabSelfHostedArgs;\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 default_ = new OrgIdpGitlabSelfHosted(\"default\", OrgIdpGitlabSelfHostedArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .issuer(\"https://my.issuer\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGitlabSelfHosted\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n scopes:\n - openid\n - profile\n - email\n issuer: https://my.issuer\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a GitLab Self Hosted IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGitlabSelfHosted(\"default\", {\n orgId: defaultZitadelOrg.id,\n name: \"GitLab Self Hosted\",\n clientId: \"15765e...\",\n clientSecret: \"*****abcxyz\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer: \"https://my.issuer\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGitlabSelfHosted(\"default\",\n org_id=default_zitadel_org[\"id\"],\n name=\"GitLab Self Hosted\",\n client_id=\"15765e...\",\n client_secret=\"*****abcxyz\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer=\"https://my.issuer\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGitlabSelfHosted(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n Name = \"GitLab Self Hosted\",\n ClientId = \"15765e...\",\n ClientSecret = \"*****abcxyz\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n Issuer = \"https://my.issuer\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGitlabSelfHosted(ctx, \"default\", \u0026zitadel.OrgIdpGitlabSelfHostedArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tName: pulumi.String(\"GitLab Self Hosted\"),\n\t\t\tClientId: pulumi.String(\"15765e...\"),\n\t\t\tClientSecret: pulumi.String(\"*****abcxyz\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIssuer: pulumi.String(\"https://my.issuer\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.OrgIdpGitlabSelfHosted;\nimport com.pulumi.zitadel.OrgIdpGitlabSelfHostedArgs;\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 default_ = new OrgIdpGitlabSelfHosted(\"default\", OrgIdpGitlabSelfHostedArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .name(\"GitLab Self Hosted\")\n .clientId(\"15765e...\")\n .clientSecret(\"*****abcxyz\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .issuer(\"https://my.issuer\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGitlabSelfHosted\n properties:\n orgId: ${defaultZitadelOrg.id}\n name: GitLab Self Hosted\n clientId: 15765e...\n clientSecret: '*****abcxyz'\n scopes:\n - openid\n - profile\n - email\n issuer: https://my.issuer\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGitlabSelfHosted:OrgIdpGitlabSelfHosted imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -5336,7 +5342,7 @@ } }, "zitadel:index/orgIdpGoogle:OrgIdpGoogle": { - "description": "Resource representing a Google IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGoogle(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"182902...\",\n clientSecret: \"GOCSPX-*****\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGoogle(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"182902...\",\n client_secret=\"GOCSPX-*****\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGoogle(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"182902...\",\n ClientSecret = \"GOCSPX-*****\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGoogle(ctx, \"default\", \u0026zitadel.OrgIdpGoogleArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"182902...\"),\n\t\t\tClientSecret: pulumi.String(\"GOCSPX-*****\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.OrgIdpGoogle;\nimport com.pulumi.zitadel.OrgIdpGoogleArgs;\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 default_ = new OrgIdpGoogle(\"default\", OrgIdpGoogleArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"182902...\")\n .clientSecret(\"GOCSPX-*****\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGoogle\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: 182902...\n clientSecret: GOCSPX-*****\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGoogle:OrgIdpGoogle imported '123456789012345678:123456789012345678:G1234567890123'\n```\n\n ", + "description": "Resource representing a Google IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpGoogle(\"default\", {\n orgId: defaultZitadelOrg.id,\n name: \"Google\",\n clientId: \"182902...\",\n clientSecret: \"GOCSPX-*****\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpGoogle(\"default\",\n org_id=default_zitadel_org[\"id\"],\n name=\"Google\",\n client_id=\"182902...\",\n client_secret=\"GOCSPX-*****\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpGoogle(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n Name = \"Google\",\n ClientId = \"182902...\",\n ClientSecret = \"GOCSPX-*****\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpGoogle(ctx, \"default\", \u0026zitadel.OrgIdpGoogleArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tName: pulumi.String(\"Google\"),\n\t\t\tClientId: pulumi.String(\"182902...\"),\n\t\t\tClientSecret: pulumi.String(\"GOCSPX-*****\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.OrgIdpGoogle;\nimport com.pulumi.zitadel.OrgIdpGoogleArgs;\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 default_ = new OrgIdpGoogle(\"default\", OrgIdpGoogleArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .name(\"Google\")\n .clientId(\"182902...\")\n .clientSecret(\"GOCSPX-*****\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpGoogle\n properties:\n orgId: ${defaultZitadelOrg.id}\n name: Google\n clientId: 182902...\n clientSecret: GOCSPX-*****\n scopes:\n - openid\n - profile\n - email\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpGoogle:OrgIdpGoogle imported '123456789012345678:123456789012345678:G1234567890123'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -5488,7 +5494,7 @@ } }, "zitadel:index/orgIdpJwt:OrgIdpJwt": { - "description": "Resource representing a generic JWT IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpJwt(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n stylingType: \"STYLING_TYPE_UNSPECIFIED\",\n jwtEndpoint: \"https://jwtendpoint.com/jwt\",\n issuer: \"https://google.com\",\n keysEndpoint: \"https://jwtendpoint.com/keys\",\n headerName: \"x-auth-token\",\n autoRegister: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpJwt(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n styling_type=\"STYLING_TYPE_UNSPECIFIED\",\n jwt_endpoint=\"https://jwtendpoint.com/jwt\",\n issuer=\"https://google.com\",\n keys_endpoint=\"https://jwtendpoint.com/keys\",\n header_name=\"x-auth-token\",\n auto_register=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpJwt(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n StylingType = \"STYLING_TYPE_UNSPECIFIED\",\n JwtEndpoint = \"https://jwtendpoint.com/jwt\",\n Issuer = \"https://google.com\",\n KeysEndpoint = \"https://jwtendpoint.com/keys\",\n HeaderName = \"x-auth-token\",\n AutoRegister = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpJwt(ctx, \"default\", \u0026zitadel.OrgIdpJwtArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tStylingType: pulumi.String(\"STYLING_TYPE_UNSPECIFIED\"),\n\t\t\tJwtEndpoint: pulumi.String(\"https://jwtendpoint.com/jwt\"),\n\t\t\tIssuer: pulumi.String(\"https://google.com\"),\n\t\t\tKeysEndpoint: pulumi.String(\"https://jwtendpoint.com/keys\"),\n\t\t\tHeaderName: pulumi.String(\"x-auth-token\"),\n\t\t\tAutoRegister: pulumi.Bool(false),\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.zitadel.OrgIdpJwt;\nimport com.pulumi.zitadel.OrgIdpJwtArgs;\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 default_ = new OrgIdpJwt(\"default\", OrgIdpJwtArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .stylingType(\"STYLING_TYPE_UNSPECIFIED\")\n .jwtEndpoint(\"https://jwtendpoint.com/jwt\")\n .issuer(\"https://google.com\")\n .keysEndpoint(\"https://jwtendpoint.com/keys\")\n .headerName(\"x-auth-token\")\n .autoRegister(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpJwt\n properties:\n orgId: ${data.zitadel_org.default.id}\n stylingType: STYLING_TYPE_UNSPECIFIED\n jwtEndpoint: https://jwtendpoint.com/jwt\n issuer: https://google.com\n keysEndpoint: https://jwtendpoint.com/keys\n headerName: x-auth-token\n autoRegister: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpJwt:OrgIdpJwt imported '123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing a generic JWT IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpJwt(\"default\", {\n orgId: defaultZitadelOrg.id,\n name: \"jwtidp\",\n stylingType: \"STYLING_TYPE_UNSPECIFIED\",\n jwtEndpoint: \"https://jwtendpoint.com/jwt\",\n issuer: \"https://google.com\",\n keysEndpoint: \"https://jwtendpoint.com/keys\",\n headerName: \"x-auth-token\",\n autoRegister: false,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpJwt(\"default\",\n org_id=default_zitadel_org[\"id\"],\n name=\"jwtidp\",\n styling_type=\"STYLING_TYPE_UNSPECIFIED\",\n jwt_endpoint=\"https://jwtendpoint.com/jwt\",\n issuer=\"https://google.com\",\n keys_endpoint=\"https://jwtendpoint.com/keys\",\n header_name=\"x-auth-token\",\n auto_register=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpJwt(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n Name = \"jwtidp\",\n StylingType = \"STYLING_TYPE_UNSPECIFIED\",\n JwtEndpoint = \"https://jwtendpoint.com/jwt\",\n Issuer = \"https://google.com\",\n KeysEndpoint = \"https://jwtendpoint.com/keys\",\n HeaderName = \"x-auth-token\",\n AutoRegister = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpJwt(ctx, \"default\", \u0026zitadel.OrgIdpJwtArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tName: pulumi.String(\"jwtidp\"),\n\t\t\tStylingType: pulumi.String(\"STYLING_TYPE_UNSPECIFIED\"),\n\t\t\tJwtEndpoint: pulumi.String(\"https://jwtendpoint.com/jwt\"),\n\t\t\tIssuer: pulumi.String(\"https://google.com\"),\n\t\t\tKeysEndpoint: pulumi.String(\"https://jwtendpoint.com/keys\"),\n\t\t\tHeaderName: pulumi.String(\"x-auth-token\"),\n\t\t\tAutoRegister: pulumi.Bool(false),\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.zitadel.OrgIdpJwt;\nimport com.pulumi.zitadel.OrgIdpJwtArgs;\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 default_ = new OrgIdpJwt(\"default\", OrgIdpJwtArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .name(\"jwtidp\")\n .stylingType(\"STYLING_TYPE_UNSPECIFIED\")\n .jwtEndpoint(\"https://jwtendpoint.com/jwt\")\n .issuer(\"https://google.com\")\n .keysEndpoint(\"https://jwtendpoint.com/keys\")\n .headerName(\"x-auth-token\")\n .autoRegister(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpJwt\n properties:\n orgId: ${defaultZitadelOrg.id}\n name: jwtidp\n stylingType: STYLING_TYPE_UNSPECIFIED\n jwtEndpoint: https://jwtendpoint.com/jwt\n issuer: https://google.com\n keysEndpoint: https://jwtendpoint.com/keys\n headerName: x-auth-token\n autoRegister: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpJwt:OrgIdpJwt imported '123456789012345678:123456789012345678'\n```\n\n ", "properties": { "autoRegister": { "type": "boolean", @@ -5616,7 +5622,7 @@ } }, "zitadel:index/orgIdpLdap:OrgIdpLdap": { - "description": "Resource representing an LDAP IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpLdap(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n servers: [\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n startTls: false,\n baseDn: \"dc=example,dc=com\",\n bindDn: \"cn=admin,dc=example,dc=com\",\n bindPassword: \"Password1!\",\n userBase: \"dn\",\n userObjectClasses: [\"inetOrgPerson\"],\n userFilters: [\n \"uid\",\n \"email\",\n ],\n timeout: \"10s\",\n idAttribute: \"uid\",\n firstNameAttribute: \"firstname\",\n lastNameAttribute: \"lastname\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpLdap(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n servers=[\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n start_tls=False,\n base_dn=\"dc=example,dc=com\",\n bind_dn=\"cn=admin,dc=example,dc=com\",\n bind_password=\"Password1!\",\n user_base=\"dn\",\n user_object_classes=[\"inetOrgPerson\"],\n user_filters=[\n \"uid\",\n \"email\",\n ],\n timeout=\"10s\",\n id_attribute=\"uid\",\n first_name_attribute=\"firstname\",\n last_name_attribute=\"lastname\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpLdap(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Servers = new[]\n {\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n },\n StartTls = false,\n BaseDn = \"dc=example,dc=com\",\n BindDn = \"cn=admin,dc=example,dc=com\",\n BindPassword = \"Password1!\",\n UserBase = \"dn\",\n UserObjectClasses = new[]\n {\n \"inetOrgPerson\",\n },\n UserFilters = new[]\n {\n \"uid\",\n \"email\",\n },\n Timeout = \"10s\",\n IdAttribute = \"uid\",\n FirstNameAttribute = \"firstname\",\n LastNameAttribute = \"lastname\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpLdap(ctx, \"default\", \u0026zitadel.OrgIdpLdapArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ldaps://my.primary.server:389\"),\n\t\t\t\tpulumi.String(\"ldaps://my.secondary.server:389\"),\n\t\t\t},\n\t\t\tStartTls: pulumi.Bool(false),\n\t\t\tBaseDn: pulumi.String(\"dc=example,dc=com\"),\n\t\t\tBindDn: pulumi.String(\"cn=admin,dc=example,dc=com\"),\n\t\t\tBindPassword: pulumi.String(\"Password1!\"),\n\t\t\tUserBase: pulumi.String(\"dn\"),\n\t\t\tUserObjectClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"inetOrgPerson\"),\n\t\t\t},\n\t\t\tUserFilters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"uid\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tIdAttribute: pulumi.String(\"uid\"),\n\t\t\tFirstNameAttribute: pulumi.String(\"firstname\"),\n\t\t\tLastNameAttribute: pulumi.String(\"lastname\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.OrgIdpLdap;\nimport com.pulumi.zitadel.OrgIdpLdapArgs;\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 default_ = new OrgIdpLdap(\"default\", OrgIdpLdapArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .servers( \n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\")\n .startTls(false)\n .baseDn(\"dc=example,dc=com\")\n .bindDn(\"cn=admin,dc=example,dc=com\")\n .bindPassword(\"Password1!\")\n .userBase(\"dn\")\n .userObjectClasses(\"inetOrgPerson\")\n .userFilters( \n \"uid\",\n \"email\")\n .timeout(\"10s\")\n .idAttribute(\"uid\")\n .firstNameAttribute(\"firstname\")\n .lastNameAttribute(\"lastname\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpLdap\n properties:\n orgId: ${data.zitadel_org.default.id}\n servers:\n - ldaps://my.primary.server:389\n - ldaps://my.secondary.server:389\n startTls: false\n baseDn: dc=example,dc=com\n bindDn: cn=admin,dc=example,dc=com\n bindPassword: Password1!\n userBase: dn\n userObjectClasses:\n - inetOrgPerson\n userFilters:\n - uid\n - email\n timeout: 10s\n idAttribute: uid\n firstNameAttribute: firstname\n lastNameAttribute: lastname\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:bind_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpLdap:OrgIdpLdap imported '123456789012345678:123456789012345678:b1nd_p4ssw0rd'\n```\n\n ", + "description": "Resource representing an LDAP IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpLdap(\"default\", {\n orgId: defaultZitadelOrg.id,\n name: \"LDAP\",\n servers: [\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n startTls: false,\n baseDn: \"dc=example,dc=com\",\n bindDn: \"cn=admin,dc=example,dc=com\",\n bindPassword: \"Password1!\",\n userBase: \"dn\",\n userObjectClasses: [\"inetOrgPerson\"],\n userFilters: [\n \"uid\",\n \"email\",\n ],\n timeout: \"10s\",\n idAttribute: \"uid\",\n firstNameAttribute: \"firstname\",\n lastNameAttribute: \"lastname\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpLdap(\"default\",\n org_id=default_zitadel_org[\"id\"],\n name=\"LDAP\",\n servers=[\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n ],\n start_tls=False,\n base_dn=\"dc=example,dc=com\",\n bind_dn=\"cn=admin,dc=example,dc=com\",\n bind_password=\"Password1!\",\n user_base=\"dn\",\n user_object_classes=[\"inetOrgPerson\"],\n user_filters=[\n \"uid\",\n \"email\",\n ],\n timeout=\"10s\",\n id_attribute=\"uid\",\n first_name_attribute=\"firstname\",\n last_name_attribute=\"lastname\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpLdap(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n Name = \"LDAP\",\n Servers = new[]\n {\n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\",\n },\n StartTls = false,\n BaseDn = \"dc=example,dc=com\",\n BindDn = \"cn=admin,dc=example,dc=com\",\n BindPassword = \"Password1!\",\n UserBase = \"dn\",\n UserObjectClasses = new[]\n {\n \"inetOrgPerson\",\n },\n UserFilters = new[]\n {\n \"uid\",\n \"email\",\n },\n Timeout = \"10s\",\n IdAttribute = \"uid\",\n FirstNameAttribute = \"firstname\",\n LastNameAttribute = \"lastname\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpLdap(ctx, \"default\", \u0026zitadel.OrgIdpLdapArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tName: pulumi.String(\"LDAP\"),\n\t\t\tServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ldaps://my.primary.server:389\"),\n\t\t\t\tpulumi.String(\"ldaps://my.secondary.server:389\"),\n\t\t\t},\n\t\t\tStartTls: pulumi.Bool(false),\n\t\t\tBaseDn: pulumi.String(\"dc=example,dc=com\"),\n\t\t\tBindDn: pulumi.String(\"cn=admin,dc=example,dc=com\"),\n\t\t\tBindPassword: pulumi.String(\"Password1!\"),\n\t\t\tUserBase: pulumi.String(\"dn\"),\n\t\t\tUserObjectClasses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"inetOrgPerson\"),\n\t\t\t},\n\t\t\tUserFilters: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"uid\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tTimeout: pulumi.String(\"10s\"),\n\t\t\tIdAttribute: pulumi.String(\"uid\"),\n\t\t\tFirstNameAttribute: pulumi.String(\"firstname\"),\n\t\t\tLastNameAttribute: pulumi.String(\"lastname\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\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.zitadel.OrgIdpLdap;\nimport com.pulumi.zitadel.OrgIdpLdapArgs;\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 default_ = new OrgIdpLdap(\"default\", OrgIdpLdapArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .name(\"LDAP\")\n .servers( \n \"ldaps://my.primary.server:389\",\n \"ldaps://my.secondary.server:389\")\n .startTls(false)\n .baseDn(\"dc=example,dc=com\")\n .bindDn(\"cn=admin,dc=example,dc=com\")\n .bindPassword(\"Password1!\")\n .userBase(\"dn\")\n .userObjectClasses(\"inetOrgPerson\")\n .userFilters( \n \"uid\",\n \"email\")\n .timeout(\"10s\")\n .idAttribute(\"uid\")\n .firstNameAttribute(\"firstname\")\n .lastNameAttribute(\"lastname\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpLdap\n properties:\n orgId: ${defaultZitadelOrg.id}\n name: LDAP\n servers:\n - ldaps://my.primary.server:389\n - ldaps://my.secondary.server:389\n startTls: false\n baseDn: dc=example,dc=com\n bindDn: cn=admin,dc=example,dc=com\n bindPassword: Password1!\n userBase: dn\n userObjectClasses:\n - inetOrgPerson\n userFilters:\n - uid\n - email\n timeout: 10s\n idAttribute: uid\n firstNameAttribute: firstname\n lastNameAttribute: lastname\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:bind_password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpLdap:OrgIdpLdap imported '123456789012345678:123456789012345678:b1nd_p4ssw0rd'\n```\n\n ", "properties": { "avatarUrlAttribute": { "type": "string", @@ -6028,7 +6034,7 @@ } }, "zitadel:index/orgIdpOidc:OrgIdpOidc": { - "description": "Resource representing a generic OIDC IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpOidc(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n clientId: \"a_client_id\",\n clientSecret: \"a_client_secret\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer: \"https://example.com\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n isIdTokenMapping: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpOidc(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n client_id=\"a_client_id\",\n client_secret=\"a_client_secret\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer=\"https://example.com\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True,\n is_id_token_mapping=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpOidc(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ClientId = \"a_client_id\",\n ClientSecret = \"a_client_secret\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n Issuer = \"https://example.com\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsIdTokenMapping = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpOidc(ctx, \"default\", \u0026zitadel.OrgIdpOidcArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tClientId: pulumi.String(\"a_client_id\"),\n\t\t\tClientSecret: pulumi.String(\"a_client_secret\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsIdTokenMapping: pulumi.Bool(true),\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.zitadel.OrgIdpOidc;\nimport com.pulumi.zitadel.OrgIdpOidcArgs;\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 default_ = new OrgIdpOidc(\"default\", OrgIdpOidcArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .clientId(\"a_client_id\")\n .clientSecret(\"a_client_secret\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .issuer(\"https://example.com\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isIdTokenMapping(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpOidc\n properties:\n orgId: ${data.zitadel_org.default.id}\n clientId: a_client_id\n clientSecret: a_client_secret\n scopes:\n - openid\n - profile\n - email\n issuer: https://example.com\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n isIdTokenMapping: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpOidc:OrgIdpOidc imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", + "description": "Resource representing a generic OIDC IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgIdpOidc(\"default\", {\n orgId: defaultZitadelOrg.id,\n name: \"My Generic OIDC IDP\",\n clientId: \"a_client_id\",\n clientSecret: \"a_client_secret\",\n scopes: [\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer: \"https://example.com\",\n isLinkingAllowed: false,\n isCreationAllowed: true,\n isAutoCreation: false,\n isAutoUpdate: true,\n isIdTokenMapping: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgIdpOidc(\"default\",\n org_id=default_zitadel_org[\"id\"],\n name=\"My Generic OIDC IDP\",\n client_id=\"a_client_id\",\n client_secret=\"a_client_secret\",\n scopes=[\n \"openid\",\n \"profile\",\n \"email\",\n ],\n issuer=\"https://example.com\",\n is_linking_allowed=False,\n is_creation_allowed=True,\n is_auto_creation=False,\n is_auto_update=True,\n is_id_token_mapping=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgIdpOidc(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n Name = \"My Generic OIDC IDP\",\n ClientId = \"a_client_id\",\n ClientSecret = \"a_client_secret\",\n Scopes = new[]\n {\n \"openid\",\n \"profile\",\n \"email\",\n },\n Issuer = \"https://example.com\",\n IsLinkingAllowed = false,\n IsCreationAllowed = true,\n IsAutoCreation = false,\n IsAutoUpdate = true,\n IsIdTokenMapping = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgIdpOidc(ctx, \"default\", \u0026zitadel.OrgIdpOidcArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tName: pulumi.String(\"My Generic OIDC IDP\"),\n\t\t\tClientId: pulumi.String(\"a_client_id\"),\n\t\t\tClientSecret: pulumi.String(\"a_client_secret\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\tpulumi.String(\"email\"),\n\t\t\t},\n\t\t\tIssuer: pulumi.String(\"https://example.com\"),\n\t\t\tIsLinkingAllowed: pulumi.Bool(false),\n\t\t\tIsCreationAllowed: pulumi.Bool(true),\n\t\t\tIsAutoCreation: pulumi.Bool(false),\n\t\t\tIsAutoUpdate: pulumi.Bool(true),\n\t\t\tIsIdTokenMapping: pulumi.Bool(true),\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.zitadel.OrgIdpOidc;\nimport com.pulumi.zitadel.OrgIdpOidcArgs;\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 default_ = new OrgIdpOidc(\"default\", OrgIdpOidcArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .name(\"My Generic OIDC IDP\")\n .clientId(\"a_client_id\")\n .clientSecret(\"a_client_secret\")\n .scopes( \n \"openid\",\n \"profile\",\n \"email\")\n .issuer(\"https://example.com\")\n .isLinkingAllowed(false)\n .isCreationAllowed(true)\n .isAutoCreation(false)\n .isAutoUpdate(true)\n .isIdTokenMapping(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgIdpOidc\n properties:\n orgId: ${defaultZitadelOrg.id}\n name: My Generic OIDC IDP\n clientId: a_client_id\n clientSecret: a_client_secret\n scopes:\n - openid\n - profile\n - email\n issuer: https://example.com\n isLinkingAllowed: false\n isCreationAllowed: true\n isAutoCreation: false\n isAutoUpdate: true\n isIdTokenMapping: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id][:client_secret]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgIdpOidc:OrgIdpOidc imported '123456789012345678:123456789012345678:1234567890abcdef'\n```\n\n ", "properties": { "clientId": { "type": "string", @@ -6208,7 +6214,7 @@ } }, "zitadel:index/orgMember:OrgMember": { - "description": "Resource representing the membership of a user on an organization, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgMember(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n roles: [\"ORG_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgMember(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n roles=[\"ORG_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgMember(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n Roles = new[]\n {\n \"ORG_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgMember(ctx, \"default\", \u0026zitadel.OrgMemberArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ORG_OWNER\"),\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.zitadel.OrgMember;\nimport com.pulumi.zitadel.OrgMemberArgs;\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 default_ = new OrgMember(\"default\", OrgMemberArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_human_user().default().id())\n .roles(\"ORG_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgMember\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_human_user.default.id}\n roles:\n - ORG_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cuser_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgMember:OrgMember imported '123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the membership of a user on an organization, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.OrgMember(\"default\", {\n orgId: defaultZitadelOrg.id,\n userId: defaultZitadelHumanUser.id,\n roles: [\"ORG_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.OrgMember(\"default\",\n org_id=default_zitadel_org[\"id\"],\n user_id=default_zitadel_human_user[\"id\"],\n roles=[\"ORG_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.OrgMember(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n UserId = defaultZitadelHumanUser.Id,\n Roles = new[]\n {\n \"ORG_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewOrgMember(ctx, \"default\", \u0026zitadel.OrgMemberArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tUserId: pulumi.Any(defaultZitadelHumanUser.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ORG_OWNER\"),\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.zitadel.OrgMember;\nimport com.pulumi.zitadel.OrgMemberArgs;\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 default_ = new OrgMember(\"default\", OrgMemberArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .userId(defaultZitadelHumanUser.id())\n .roles(\"ORG_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:OrgMember\n properties:\n orgId: ${defaultZitadelOrg.id}\n userId: ${defaultZitadelHumanUser.id}\n roles:\n - ORG_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cuser_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/orgMember:OrgMember imported '123456789012345678:123456789012345678'\n```\n\n ", "properties": { "orgId": { "type": "string", @@ -6278,7 +6284,7 @@ } }, "zitadel:index/passwordComplexityPolicy:PasswordComplexityPolicy": { - "description": "Resource representing the custom password complexity policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.PasswordComplexityPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n minLength: 8,\n hasUppercase: true,\n hasLowercase: true,\n hasNumber: true,\n hasSymbol: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.PasswordComplexityPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n min_length=8,\n has_uppercase=True,\n has_lowercase=True,\n has_number=True,\n has_symbol=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PasswordComplexityPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n MinLength = 8,\n HasUppercase = true,\n HasLowercase = true,\n HasNumber = true,\n HasSymbol = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPasswordComplexityPolicy(ctx, \"default\", \u0026zitadel.PasswordComplexityPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tMinLength: pulumi.Int(8),\n\t\t\tHasUppercase: pulumi.Bool(true),\n\t\t\tHasLowercase: pulumi.Bool(true),\n\t\t\tHasNumber: pulumi.Bool(true),\n\t\t\tHasSymbol: pulumi.Bool(true),\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.zitadel.PasswordComplexityPolicy;\nimport com.pulumi.zitadel.PasswordComplexityPolicyArgs;\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 default_ = new PasswordComplexityPolicy(\"default\", PasswordComplexityPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .minLength(\"8\")\n .hasUppercase(true)\n .hasLowercase(true)\n .hasNumber(true)\n .hasSymbol(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PasswordComplexityPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n minLength: '8'\n hasUppercase: true\n hasLowercase: true\n hasNumber: true\n hasSymbol: true\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Resource representing the custom password complexity policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.PasswordComplexityPolicy(\"default\", {\n orgId: defaultZitadelOrg.id,\n minLength: 8,\n hasUppercase: true,\n hasLowercase: true,\n hasNumber: true,\n hasSymbol: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.PasswordComplexityPolicy(\"default\",\n org_id=default_zitadel_org[\"id\"],\n min_length=8,\n has_uppercase=True,\n has_lowercase=True,\n has_number=True,\n has_symbol=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PasswordComplexityPolicy(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n MinLength = 8,\n HasUppercase = true,\n HasLowercase = true,\n HasNumber = true,\n HasSymbol = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPasswordComplexityPolicy(ctx, \"default\", \u0026zitadel.PasswordComplexityPolicyArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tMinLength: pulumi.Int(8),\n\t\t\tHasUppercase: pulumi.Bool(true),\n\t\t\tHasLowercase: pulumi.Bool(true),\n\t\t\tHasNumber: pulumi.Bool(true),\n\t\t\tHasSymbol: pulumi.Bool(true),\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.zitadel.PasswordComplexityPolicy;\nimport com.pulumi.zitadel.PasswordComplexityPolicyArgs;\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 default_ = new PasswordComplexityPolicy(\"default\", PasswordComplexityPolicyArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .minLength(\"8\")\n .hasUppercase(true)\n .hasLowercase(true)\n .hasNumber(true)\n .hasSymbol(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PasswordComplexityPolicy\n properties:\n orgId: ${defaultZitadelOrg.id}\n minLength: '8'\n hasUppercase: true\n hasLowercase: true\n hasNumber: true\n hasSymbol: true\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "hasLowercase": { "type": "boolean", @@ -6379,7 +6385,7 @@ } }, "zitadel:index/personalAccessToken:PersonalAccessToken": { - "description": "Resource representing a personal access token of a user\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.PersonalAccessToken(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n userId: data.zitadel_machine_user[\"default\"].id,\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.PersonalAccessToken(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_machine_user\"][\"default\"][\"id\"],\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PersonalAccessToken(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = data.Zitadel_machine_user.Default.Id,\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPersonalAccessToken(ctx, \"default\", \u0026zitadel.PersonalAccessTokenArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_machine_user.Default.Id),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.PersonalAccessToken;\nimport com.pulumi.zitadel.PersonalAccessTokenArgs;\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 default_ = new PersonalAccessToken(\"default\", PersonalAccessTokenArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .userId(data.zitadel_machine_user().default().id())\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PersonalAccessToken\n properties:\n orgId: ${data.zitadel_org.default.id}\n userId: ${data.zitadel_machine_user.default.id}\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:user_id[:org_id][:token]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/personalAccessToken:PersonalAccessToken imported '123456789012345678:123456789012345678:123456789012345678:LHt79...'\n```\n\n ", + "description": "Resource representing a personal access token of a user\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.PersonalAccessToken(\"default\", {\n orgId: defaultZitadelOrg.id,\n userId: defaultZitadelMachineUser.id,\n expirationDate: \"2519-04-01T08:45:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.PersonalAccessToken(\"default\",\n org_id=default_zitadel_org[\"id\"],\n user_id=default_zitadel_machine_user[\"id\"],\n expiration_date=\"2519-04-01T08:45:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PersonalAccessToken(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n UserId = defaultZitadelMachineUser.Id,\n ExpirationDate = \"2519-04-01T08:45:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPersonalAccessToken(ctx, \"default\", \u0026zitadel.PersonalAccessTokenArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tUserId: pulumi.Any(defaultZitadelMachineUser.Id),\n\t\t\tExpirationDate: pulumi.String(\"2519-04-01T08:45:00Z\"),\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.zitadel.PersonalAccessToken;\nimport com.pulumi.zitadel.PersonalAccessTokenArgs;\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 default_ = new PersonalAccessToken(\"default\", PersonalAccessTokenArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .userId(defaultZitadelMachineUser.id())\n .expirationDate(\"2519-04-01T08:45:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PersonalAccessToken\n properties:\n orgId: ${defaultZitadelOrg.id}\n userId: ${defaultZitadelMachineUser.id}\n expirationDate: 2519-04-01T08:45:00Z\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:user_id[:org_id][:token]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/personalAccessToken:PersonalAccessToken imported '123456789012345678:123456789012345678:123456789012345678:LHt79...'\n```\n\n ", "properties": { "expirationDate": { "type": "string", @@ -6451,7 +6457,7 @@ } }, "zitadel:index/privacyPolicy:PrivacyPolicy": { - "description": "Resource representing the custom privacy policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.PrivacyPolicy(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n tosLink: \"https://example.com/tos\",\n privacyLink: \"https://example.com/privacy\",\n helpLink: \"https://example.com/help\",\n supportEmail: \"support@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.PrivacyPolicy(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n tos_link=\"https://example.com/tos\",\n privacy_link=\"https://example.com/privacy\",\n help_link=\"https://example.com/help\",\n support_email=\"support@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PrivacyPolicy(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n TosLink = \"https://example.com/tos\",\n PrivacyLink = \"https://example.com/privacy\",\n HelpLink = \"https://example.com/help\",\n SupportEmail = \"support@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPrivacyPolicy(ctx, \"default\", \u0026zitadel.PrivacyPolicyArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tTosLink: pulumi.String(\"https://example.com/tos\"),\n\t\t\tPrivacyLink: pulumi.String(\"https://example.com/privacy\"),\n\t\t\tHelpLink: pulumi.String(\"https://example.com/help\"),\n\t\t\tSupportEmail: pulumi.String(\"support@example.com\"),\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.zitadel.PrivacyPolicy;\nimport com.pulumi.zitadel.PrivacyPolicyArgs;\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 default_ = new PrivacyPolicy(\"default\", PrivacyPolicyArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .tosLink(\"https://example.com/tos\")\n .privacyLink(\"https://example.com/privacy\")\n .helpLink(\"https://example.com/help\")\n .supportEmail(\"support@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PrivacyPolicy\n properties:\n orgId: ${data.zitadel_org.default.id}\n tosLink: https://example.com/tos\n privacyLink: https://example.com/privacy\n helpLink: https://example.com/help\n supportEmail: support@example.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/privacyPolicy:PrivacyPolicy imported '123456789012345678'\n```\n\n ", + "description": "Resource representing the custom privacy policy of an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.PrivacyPolicy(\"default\", {\n orgId: defaultZitadelOrg.id,\n tosLink: \"https://example.com/tos\",\n privacyLink: \"https://example.com/privacy\",\n helpLink: \"https://example.com/help\",\n supportEmail: \"support@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.PrivacyPolicy(\"default\",\n org_id=default_zitadel_org[\"id\"],\n tos_link=\"https://example.com/tos\",\n privacy_link=\"https://example.com/privacy\",\n help_link=\"https://example.com/help\",\n support_email=\"support@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.PrivacyPolicy(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n TosLink = \"https://example.com/tos\",\n PrivacyLink = \"https://example.com/privacy\",\n HelpLink = \"https://example.com/help\",\n SupportEmail = \"support@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewPrivacyPolicy(ctx, \"default\", \u0026zitadel.PrivacyPolicyArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tTosLink: pulumi.String(\"https://example.com/tos\"),\n\t\t\tPrivacyLink: pulumi.String(\"https://example.com/privacy\"),\n\t\t\tHelpLink: pulumi.String(\"https://example.com/help\"),\n\t\t\tSupportEmail: pulumi.String(\"support@example.com\"),\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.zitadel.PrivacyPolicy;\nimport com.pulumi.zitadel.PrivacyPolicyArgs;\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 default_ = new PrivacyPolicy(\"default\", PrivacyPolicyArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .tosLink(\"https://example.com/tos\")\n .privacyLink(\"https://example.com/privacy\")\n .helpLink(\"https://example.com/help\")\n .supportEmail(\"support@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:PrivacyPolicy\n properties:\n orgId: ${defaultZitadelOrg.id}\n tosLink: https://example.com/tos\n privacyLink: https://example.com/privacy\n helpLink: https://example.com/help\n supportEmail: support@example.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/privacyPolicy:PrivacyPolicy imported '123456789012345678'\n```\n\n ", "properties": { "helpLink": { "type": "string" @@ -6514,7 +6520,7 @@ } }, "zitadel:index/project:Project": { - "description": "Resource representing the project, which can then be granted to different organizations or users directly, containing different applications.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Project(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectRoleAssertion: true,\n projectRoleCheck: true,\n hasProjectCheck: true,\n privateLabelingSetting: \"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Project(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_role_assertion=True,\n project_role_check=True,\n has_project_check=True,\n private_labeling_setting=\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Project(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectRoleAssertion = true,\n ProjectRoleCheck = true,\n HasProjectCheck = true,\n PrivateLabelingSetting = \"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProject(ctx, \"default\", \u0026zitadel.ProjectArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectRoleAssertion: pulumi.Bool(true),\n\t\t\tProjectRoleCheck: pulumi.Bool(true),\n\t\t\tHasProjectCheck: pulumi.Bool(true),\n\t\t\tPrivateLabelingSetting: pulumi.String(\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\"),\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.zitadel.Project;\nimport com.pulumi.zitadel.ProjectArgs;\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 default_ = new Project(\"default\", ProjectArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectRoleAssertion(true)\n .projectRoleCheck(true)\n .hasProjectCheck(true)\n .privateLabelingSetting(\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Project\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectRoleAssertion: true\n projectRoleCheck: true\n hasProjectCheck: true\n privateLabelingSetting: PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/project:Project imported '123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the project, which can then be granted to different organizations or users directly, containing different applications.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.Project(\"default\", {\n name: \"projectname\",\n orgId: defaultZitadelOrg.id,\n projectRoleAssertion: true,\n projectRoleCheck: true,\n hasProjectCheck: true,\n privateLabelingSetting: \"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.Project(\"default\",\n name=\"projectname\",\n org_id=default_zitadel_org[\"id\"],\n project_role_assertion=True,\n project_role_check=True,\n has_project_check=True,\n private_labeling_setting=\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.Project(\"default\", new()\n {\n Name = \"projectname\",\n OrgId = defaultZitadelOrg.Id,\n ProjectRoleAssertion = true,\n ProjectRoleCheck = true,\n HasProjectCheck = true,\n PrivateLabelingSetting = \"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProject(ctx, \"default\", \u0026zitadel.ProjectArgs{\n\t\t\tName: pulumi.String(\"projectname\"),\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tProjectRoleAssertion: pulumi.Bool(true),\n\t\t\tProjectRoleCheck: pulumi.Bool(true),\n\t\t\tHasProjectCheck: pulumi.Bool(true),\n\t\t\tPrivateLabelingSetting: pulumi.String(\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\"),\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.zitadel.Project;\nimport com.pulumi.zitadel.ProjectArgs;\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 default_ = new Project(\"default\", ProjectArgs.builder() \n .name(\"projectname\")\n .orgId(defaultZitadelOrg.id())\n .projectRoleAssertion(true)\n .projectRoleCheck(true)\n .hasProjectCheck(true)\n .privateLabelingSetting(\"PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:Project\n properties:\n name: projectname\n orgId: ${defaultZitadelOrg.id}\n projectRoleAssertion: true\n projectRoleCheck: true\n hasProjectCheck: true\n privateLabelingSetting: PRIVATE_LABELING_SETTING_ENFORCE_PROJECT_RESOURCE_OWNER_POLICY\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/project:Project imported '123456789012345678:123456789012345678'\n```\n\n ", "properties": { "hasProjectCheck": { "type": "boolean", @@ -6613,7 +6619,7 @@ } }, "zitadel:index/projectGrant:ProjectGrant": { - "description": "Resource representing the grant of a project to a different organization, also containing the available roles which can be given to the members of the projectgrant.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectGrant(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n grantedOrgId: data.zitadel_org.granted_org.id,\n roleKeys: [\"super-user\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectGrant(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n granted_org_id=data[\"zitadel_org\"][\"granted_org\"][\"id\"],\n role_keys=[\"super-user\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectGrant(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n GrantedOrgId = data.Zitadel_org.Granted_org.Id,\n RoleKeys = new[]\n {\n \"super-user\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectGrant(ctx, \"default\", \u0026zitadel.ProjectGrantArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tGrantedOrgId: pulumi.Any(data.Zitadel_org.Granted_org.Id),\n\t\t\tRoleKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"super-user\"),\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.zitadel.ProjectGrant;\nimport com.pulumi.zitadel.ProjectGrantArgs;\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 default_ = new ProjectGrant(\"default\", ProjectGrantArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .grantedOrgId(data.zitadel_org().granted_org().id())\n .roleKeys(\"super-user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectGrant\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n grantedOrgId: ${data.zitadel_org.granted_org.id}\n roleKeys:\n - super-user\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:project_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectGrant:ProjectGrant imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the grant of a project to a different organization, also containing the available roles which can be given to the members of the projectgrant.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectGrant(\"default\", {\n orgId: defaultZitadelOrg.id,\n projectId: defaultZitadelProject.id,\n grantedOrgId: grantedOrg.id,\n roleKeys: [\"super-user\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectGrant(\"default\",\n org_id=default_zitadel_org[\"id\"],\n project_id=default_zitadel_project[\"id\"],\n granted_org_id=granted_org[\"id\"],\n role_keys=[\"super-user\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectGrant(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n ProjectId = defaultZitadelProject.Id,\n GrantedOrgId = grantedOrg.Id,\n RoleKeys = new[]\n {\n \"super-user\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectGrant(ctx, \"default\", \u0026zitadel.ProjectGrantArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tProjectId: pulumi.Any(defaultZitadelProject.Id),\n\t\t\tGrantedOrgId: pulumi.Any(grantedOrg.Id),\n\t\t\tRoleKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"super-user\"),\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.zitadel.ProjectGrant;\nimport com.pulumi.zitadel.ProjectGrantArgs;\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 default_ = new ProjectGrant(\"default\", ProjectGrantArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .projectId(defaultZitadelProject.id())\n .grantedOrgId(grantedOrg.id())\n .roleKeys(\"super-user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectGrant\n properties:\n orgId: ${defaultZitadelOrg.id}\n projectId: ${defaultZitadelProject.id}\n grantedOrgId: ${grantedOrg.id}\n roleKeys:\n - super-user\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid:project_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectGrant:ProjectGrant imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "grantedOrgId": { "type": "string", @@ -6697,7 +6703,7 @@ } }, "zitadel:index/projectGrantMember:ProjectGrantMember": { - "description": "Resource representing the membership of a user on an granted project, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectGrantMember(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n grantId: \"123456789012345678\",\n roles: [\"PROJECT_GRANT_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectGrantMember(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n grant_id=\"123456789012345678\",\n roles=[\"PROJECT_GRANT_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectGrantMember(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n GrantId = \"123456789012345678\",\n Roles = new[]\n {\n \"PROJECT_GRANT_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectGrantMember(ctx, \"default\", \u0026zitadel.ProjectGrantMemberArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tGrantId: pulumi.String(\"123456789012345678\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PROJECT_GRANT_OWNER\"),\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.zitadel.ProjectGrantMember;\nimport com.pulumi.zitadel.ProjectGrantMemberArgs;\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 default_ = new ProjectGrantMember(\"default\", ProjectGrantMemberArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .userId(data.zitadel_human_user().default().id())\n .grantId(\"123456789012345678\")\n .roles(\"PROJECT_GRANT_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectGrantMember\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n userId: ${data.zitadel_human_user.default.id}\n grantId: '123456789012345678'\n roles:\n - PROJECT_GRANT_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cproject_id:grant_id:user_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectGrantMember:ProjectGrantMember imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the membership of a user on an granted project, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectGrantMember(\"default\", {\n orgId: defaultZitadelOrg.id,\n projectId: defaultZitadelProject.id,\n userId: defaultZitadelHumanUser.id,\n grantId: \"123456789012345678\",\n roles: [\"PROJECT_GRANT_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectGrantMember(\"default\",\n org_id=default_zitadel_org[\"id\"],\n project_id=default_zitadel_project[\"id\"],\n user_id=default_zitadel_human_user[\"id\"],\n grant_id=\"123456789012345678\",\n roles=[\"PROJECT_GRANT_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectGrantMember(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n ProjectId = defaultZitadelProject.Id,\n UserId = defaultZitadelHumanUser.Id,\n GrantId = \"123456789012345678\",\n Roles = new[]\n {\n \"PROJECT_GRANT_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectGrantMember(ctx, \"default\", \u0026zitadel.ProjectGrantMemberArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tProjectId: pulumi.Any(defaultZitadelProject.Id),\n\t\t\tUserId: pulumi.Any(defaultZitadelHumanUser.Id),\n\t\t\tGrantId: pulumi.String(\"123456789012345678\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PROJECT_GRANT_OWNER\"),\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.zitadel.ProjectGrantMember;\nimport com.pulumi.zitadel.ProjectGrantMemberArgs;\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 default_ = new ProjectGrantMember(\"default\", ProjectGrantMemberArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .projectId(defaultZitadelProject.id())\n .userId(defaultZitadelHumanUser.id())\n .grantId(\"123456789012345678\")\n .roles(\"PROJECT_GRANT_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectGrantMember\n properties:\n orgId: ${defaultZitadelOrg.id}\n projectId: ${defaultZitadelProject.id}\n userId: ${defaultZitadelHumanUser.id}\n grantId: '123456789012345678'\n roles:\n - PROJECT_GRANT_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cproject_id:grant_id:user_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectGrantMember:ProjectGrantMember imported '123456789012345678:123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "grantId": { "type": "string", @@ -6799,7 +6805,7 @@ } }, "zitadel:index/projectMember:ProjectMember": { - "description": "Resource representing the membership of a user on an project, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectMember(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n userId: data.zitadel_human_user[\"default\"].id,\n roles: [\"PROJECT_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectMember(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"],\n roles=[\"PROJECT_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectMember(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n UserId = data.Zitadel_human_user.Default.Id,\n Roles = new[]\n {\n \"PROJECT_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectMember(ctx, \"default\", \u0026zitadel.ProjectMemberArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PROJECT_OWNER\"),\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.zitadel.ProjectMember;\nimport com.pulumi.zitadel.ProjectMemberArgs;\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 default_ = new ProjectMember(\"default\", ProjectMemberArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .userId(data.zitadel_human_user().default().id())\n .roles(\"PROJECT_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectMember\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n userId: ${data.zitadel_human_user.default.id}\n roles:\n - PROJECT_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cproject_id:user_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectMember:ProjectMember imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the membership of a user on an project, defined with the given role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectMember(\"default\", {\n orgId: defaultZitadelOrg.id,\n projectId: defaultZitadelProject.id,\n userId: defaultZitadelHumanUser.id,\n roles: [\"PROJECT_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectMember(\"default\",\n org_id=default_zitadel_org[\"id\"],\n project_id=default_zitadel_project[\"id\"],\n user_id=default_zitadel_human_user[\"id\"],\n roles=[\"PROJECT_OWNER\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectMember(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n ProjectId = defaultZitadelProject.Id,\n UserId = defaultZitadelHumanUser.Id,\n Roles = new[]\n {\n \"PROJECT_OWNER\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectMember(ctx, \"default\", \u0026zitadel.ProjectMemberArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tProjectId: pulumi.Any(defaultZitadelProject.Id),\n\t\t\tUserId: pulumi.Any(defaultZitadelHumanUser.Id),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PROJECT_OWNER\"),\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.zitadel.ProjectMember;\nimport com.pulumi.zitadel.ProjectMemberArgs;\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 default_ = new ProjectMember(\"default\", ProjectMemberArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .projectId(defaultZitadelProject.id())\n .userId(defaultZitadelHumanUser.id())\n .roles(\"PROJECT_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectMember\n properties:\n orgId: ${defaultZitadelOrg.id}\n projectId: ${defaultZitadelProject.id}\n userId: ${defaultZitadelHumanUser.id}\n roles:\n - PROJECT_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cproject_id:user_id[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectMember:ProjectMember imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "orgId": { "type": "string", @@ -6885,7 +6891,7 @@ } }, "zitadel:index/projectRole:ProjectRole": { - "description": "Resource representing the project roles, which can be given as authorizations to users.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectRole(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n roleKey: \"super-user\",\n displayName: \"display_name2\",\n group: \"role_group\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectRole(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n role_key=\"super-user\",\n display_name=\"display_name2\",\n group=\"role_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectRole(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n RoleKey = \"super-user\",\n DisplayName = \"display_name2\",\n Group = \"role_group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectRole(ctx, \"default\", \u0026zitadel.ProjectRoleArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tRoleKey: pulumi.String(\"super-user\"),\n\t\t\tDisplayName: pulumi.String(\"display_name2\"),\n\t\t\tGroup: pulumi.String(\"role_group\"),\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.zitadel.ProjectRole;\nimport com.pulumi.zitadel.ProjectRoleArgs;\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 default_ = new ProjectRole(\"default\", ProjectRoleArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .roleKey(\"super-user\")\n .displayName(\"display_name2\")\n .group(\"role_group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectRole\n properties:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n roleKey: super-user\n displayName: display_name2\n group: role_group\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cproject_id:role_key[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectRole:ProjectRole imported '123456789012345678:my-role-key:123456789012345678'\n```\n\n ", + "description": "Resource representing the project roles, which can be given as authorizations to users.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.ProjectRole(\"default\", {\n orgId: defaultZitadelOrg.id,\n projectId: defaultZitadelProject.id,\n roleKey: \"super-user\",\n displayName: \"display_name2\",\n group: \"role_group\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.ProjectRole(\"default\",\n org_id=default_zitadel_org[\"id\"],\n project_id=default_zitadel_project[\"id\"],\n role_key=\"super-user\",\n display_name=\"display_name2\",\n group=\"role_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.ProjectRole(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n ProjectId = defaultZitadelProject.Id,\n RoleKey = \"super-user\",\n DisplayName = \"display_name2\",\n Group = \"role_group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewProjectRole(ctx, \"default\", \u0026zitadel.ProjectRoleArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tProjectId: pulumi.Any(defaultZitadelProject.Id),\n\t\t\tRoleKey: pulumi.String(\"super-user\"),\n\t\t\tDisplayName: pulumi.String(\"display_name2\"),\n\t\t\tGroup: pulumi.String(\"role_group\"),\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.zitadel.ProjectRole;\nimport com.pulumi.zitadel.ProjectRoleArgs;\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 default_ = new ProjectRole(\"default\", ProjectRoleArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .projectId(defaultZitadelProject.id())\n .roleKey(\"super-user\")\n .displayName(\"display_name2\")\n .group(\"role_group\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:ProjectRole\n properties:\n orgId: ${defaultZitadelOrg.id}\n projectId: ${defaultZitadelProject.id}\n roleKey: super-user\n displayName: display_name2\n group: role_group\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cproject_id:role_key[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/projectRole:ProjectRole imported '123456789012345678:my-role-key:123456789012345678'\n```\n\n ", "properties": { "displayName": { "type": "string", @@ -6974,7 +6980,7 @@ } }, "zitadel:index/smsProviderTwilio:SmsProviderTwilio": { - "description": "Resource representing the SMS provider Twilio configuration of an instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.SmsProviderTwilio(\"default\", {\n senderNumber: \"019920892\",\n sid: \"sid\",\n token: \"twilio_token\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.SmsProviderTwilio(\"default\",\n sender_number=\"019920892\",\n sid=\"sid\",\n token=\"twilio_token\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.SmsProviderTwilio(\"default\", new()\n {\n SenderNumber = \"019920892\",\n Sid = \"sid\",\n Token = \"twilio_token\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewSmsProviderTwilio(ctx, \"default\", \u0026zitadel.SmsProviderTwilioArgs{\n\t\t\tSenderNumber: pulumi.String(\"019920892\"),\n\t\t\tSid: pulumi.String(\"sid\"),\n\t\t\tToken: pulumi.String(\"twilio_token\"),\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.zitadel.SmsProviderTwilio;\nimport com.pulumi.zitadel.SmsProviderTwilioArgs;\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 default_ = new SmsProviderTwilio(\"default\", SmsProviderTwilioArgs.builder() \n .senderNumber(\"019920892\")\n .sid(\"sid\")\n .token(\"twilio_token\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:SmsProviderTwilio\n properties:\n senderNumber: '019920892'\n sid: sid\n token: twilio_token\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:token]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/smsProviderTwilio:SmsProviderTwilio imported '123456789012345678:12345678901234567890123456abcdef'\n```\n\n ", + "description": "Resource representing the SMS provider Twilio configuration of an instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.SmsProviderTwilio(\"default\", {\n sid: \"sid\",\n senderNumber: \"019920892\",\n token: \"twilio_token\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.SmsProviderTwilio(\"default\",\n sid=\"sid\",\n sender_number=\"019920892\",\n token=\"twilio_token\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.SmsProviderTwilio(\"default\", new()\n {\n Sid = \"sid\",\n SenderNumber = \"019920892\",\n Token = \"twilio_token\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewSmsProviderTwilio(ctx, \"default\", \u0026zitadel.SmsProviderTwilioArgs{\n\t\t\tSid: pulumi.String(\"sid\"),\n\t\t\tSenderNumber: pulumi.String(\"019920892\"),\n\t\t\tToken: pulumi.String(\"twilio_token\"),\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.zitadel.SmsProviderTwilio;\nimport com.pulumi.zitadel.SmsProviderTwilioArgs;\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 default_ = new SmsProviderTwilio(\"default\", SmsProviderTwilioArgs.builder() \n .sid(\"sid\")\n .senderNumber(\"019920892\")\n .token(\"twilio_token\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:SmsProviderTwilio\n properties:\n sid: sid\n senderNumber: '019920892'\n token: twilio_token\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cid[:token]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/smsProviderTwilio:SmsProviderTwilio imported '123456789012345678:12345678901234567890123456abcdef'\n```\n\n ", "properties": { "senderNumber": { "type": "string", @@ -7036,7 +7042,7 @@ } }, "zitadel:index/smtpConfig:SmtpConfig": { - "description": "Resource representing the SMTP configuration of an instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.SmtpConfig(\"default\", {\n host: \"localhost:25\",\n password: \"secret_password\",\n replyToAddress: \"replyto@example.com\",\n senderAddress: \"sender@example.com\",\n senderName: \"no-reply\",\n tls: true,\n user: \"user\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.SmtpConfig(\"default\",\n host=\"localhost:25\",\n password=\"secret_password\",\n reply_to_address=\"replyto@example.com\",\n sender_address=\"sender@example.com\",\n sender_name=\"no-reply\",\n tls=True,\n user=\"user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.SmtpConfig(\"default\", new()\n {\n Host = \"localhost:25\",\n Password = \"secret_password\",\n ReplyToAddress = \"replyto@example.com\",\n SenderAddress = \"sender@example.com\",\n SenderName = \"no-reply\",\n Tls = true,\n User = \"user\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewSmtpConfig(ctx, \"default\", \u0026zitadel.SmtpConfigArgs{\n\t\t\tHost: pulumi.String(\"localhost:25\"),\n\t\t\tPassword: pulumi.String(\"secret_password\"),\n\t\t\tReplyToAddress: pulumi.String(\"replyto@example.com\"),\n\t\t\tSenderAddress: pulumi.String(\"sender@example.com\"),\n\t\t\tSenderName: pulumi.String(\"no-reply\"),\n\t\t\tTls: pulumi.Bool(true),\n\t\t\tUser: pulumi.String(\"user\"),\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.zitadel.SmtpConfig;\nimport com.pulumi.zitadel.SmtpConfigArgs;\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 default_ = new SmtpConfig(\"default\", SmtpConfigArgs.builder() \n .host(\"localhost:25\")\n .password(\"secret_password\")\n .replyToAddress(\"replyto@example.com\")\n .senderAddress(\"sender@example.com\")\n .senderName(\"no-reply\")\n .tls(true)\n .user(\"user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:SmtpConfig\n properties:\n host: localhost:25\n password: secret_password\n replyToAddress: replyto@example.com\n senderAddress: sender@example.com\n senderName: no-reply\n tls: true\n user: user\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/smtpConfig:SmtpConfig imported 'p4ssw0rd'\n```\n\n ", + "description": "Resource representing the SMTP configuration of an instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.SmtpConfig(\"default\", {\n senderAddress: \"sender@example.com\",\n senderName: \"no-reply\",\n tls: true,\n host: \"localhost:25\",\n user: \"user\",\n password: \"secret_password\",\n replyToAddress: \"replyto@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.SmtpConfig(\"default\",\n sender_address=\"sender@example.com\",\n sender_name=\"no-reply\",\n tls=True,\n host=\"localhost:25\",\n user=\"user\",\n password=\"secret_password\",\n reply_to_address=\"replyto@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.SmtpConfig(\"default\", new()\n {\n SenderAddress = \"sender@example.com\",\n SenderName = \"no-reply\",\n Tls = true,\n Host = \"localhost:25\",\n User = \"user\",\n Password = \"secret_password\",\n ReplyToAddress = \"replyto@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewSmtpConfig(ctx, \"default\", \u0026zitadel.SmtpConfigArgs{\n\t\t\tSenderAddress: pulumi.String(\"sender@example.com\"),\n\t\t\tSenderName: pulumi.String(\"no-reply\"),\n\t\t\tTls: pulumi.Bool(true),\n\t\t\tHost: pulumi.String(\"localhost:25\"),\n\t\t\tUser: pulumi.String(\"user\"),\n\t\t\tPassword: pulumi.String(\"secret_password\"),\n\t\t\tReplyToAddress: pulumi.String(\"replyto@example.com\"),\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.zitadel.SmtpConfig;\nimport com.pulumi.zitadel.SmtpConfigArgs;\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 default_ = new SmtpConfig(\"default\", SmtpConfigArgs.builder() \n .senderAddress(\"sender@example.com\")\n .senderName(\"no-reply\")\n .tls(true)\n .host(\"localhost:25\")\n .user(\"user\")\n .password(\"secret_password\")\n .replyToAddress(\"replyto@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:SmtpConfig\n properties:\n senderAddress: sender@example.com\n senderName: no-reply\n tls: true\n host: localhost:25\n user: user\n password: secret_password\n replyToAddress: replyto@example.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003c[password]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/smtpConfig:SmtpConfig imported 'p4ssw0rd'\n```\n\n ", "properties": { "host": { "type": "string", @@ -7146,7 +7152,7 @@ } }, "zitadel:index/triggerActions:TriggerActions": { - "description": "Resource representing triggers, when actions get started\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.TriggerActions(\"default\", {\n orgId: data.zitadel_org[\"default\"].id,\n flowType: \"FLOW_TYPE_CUSTOMISE_TOKEN\",\n triggerType: \"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n actionIds: [data.zitadel_action[\"default\"].id],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.TriggerActions(\"default\",\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n flow_type=\"FLOW_TYPE_CUSTOMISE_TOKEN\",\n trigger_type=\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n action_ids=[data[\"zitadel_action\"][\"default\"][\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.TriggerActions(\"default\", new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n FlowType = \"FLOW_TYPE_CUSTOMISE_TOKEN\",\n TriggerType = \"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n ActionIds = new[]\n {\n data.Zitadel_action.Default.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewTriggerActions(ctx, \"default\", \u0026zitadel.TriggerActionsArgs{\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tFlowType: pulumi.String(\"FLOW_TYPE_CUSTOMISE_TOKEN\"),\n\t\t\tTriggerType: pulumi.String(\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\"),\n\t\t\tActionIds: pulumi.StringArray{\n\t\t\t\tdata.Zitadel_action.Default.Id,\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.zitadel.TriggerActions;\nimport com.pulumi.zitadel.TriggerActionsArgs;\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 default_ = new TriggerActions(\"default\", TriggerActionsArgs.builder() \n .orgId(data.zitadel_org().default().id())\n .flowType(\"FLOW_TYPE_CUSTOMISE_TOKEN\")\n .triggerType(\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\")\n .actionIds(data.zitadel_action().default().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:TriggerActions\n properties:\n orgId: ${data.zitadel_org.default.id}\n flowType: FLOW_TYPE_CUSTOMISE_TOKEN\n triggerType: TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\n actionIds:\n - ${data.zitadel_action.default.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cflow_type:trigger_type[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/triggerActions:TriggerActions imported 'FLOW_TYPE_EXTERNAL_AUTHENTICATION:TRIGGER_TYPE_POST_CREATION:123456789012345678'\n```\n\n ", + "description": "Resource representing triggers, when actions get started\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.TriggerActions(\"default\", {\n orgId: defaultZitadelOrg.id,\n flowType: \"FLOW_TYPE_CUSTOMISE_TOKEN\",\n triggerType: \"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n actionIds: [defaultZitadelAction.id],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.TriggerActions(\"default\",\n org_id=default_zitadel_org[\"id\"],\n flow_type=\"FLOW_TYPE_CUSTOMISE_TOKEN\",\n trigger_type=\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n action_ids=[default_zitadel_action[\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.TriggerActions(\"default\", new()\n {\n OrgId = defaultZitadelOrg.Id,\n FlowType = \"FLOW_TYPE_CUSTOMISE_TOKEN\",\n TriggerType = \"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\",\n ActionIds = new[]\n {\n defaultZitadelAction.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewTriggerActions(ctx, \"default\", \u0026zitadel.TriggerActionsArgs{\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tFlowType: pulumi.String(\"FLOW_TYPE_CUSTOMISE_TOKEN\"),\n\t\t\tTriggerType: pulumi.String(\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\"),\n\t\t\tActionIds: pulumi.StringArray{\n\t\t\t\tdefaultZitadelAction.Id,\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.zitadel.TriggerActions;\nimport com.pulumi.zitadel.TriggerActionsArgs;\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 default_ = new TriggerActions(\"default\", TriggerActionsArgs.builder() \n .orgId(defaultZitadelOrg.id())\n .flowType(\"FLOW_TYPE_CUSTOMISE_TOKEN\")\n .triggerType(\"TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\")\n .actionIds(defaultZitadelAction.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:TriggerActions\n properties:\n orgId: ${defaultZitadelOrg.id}\n flowType: FLOW_TYPE_CUSTOMISE_TOKEN\n triggerType: TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION\n actionIds:\n - ${defaultZitadelAction.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cflow_type:trigger_type[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/triggerActions:TriggerActions imported 'FLOW_TYPE_EXTERNAL_AUTHENTICATION:TRIGGER_TYPE_POST_CREATION:123456789012345678'\n```\n\n ", "properties": { "actionIds": { "type": "array", @@ -7232,7 +7238,7 @@ } }, "zitadel:index/userGrant:UserGrant": { - "description": "Resource representing the authorization given to a user directly, including the given roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.UserGrant(\"default\", {\n projectId: data.zitadel_project[\"default\"].id,\n orgId: data.zitadel_org[\"default\"].id,\n roleKeys: [\"super-user\"],\n userId: data.zitadel_human_user[\"default\"].id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.UserGrant(\"default\",\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n role_keys=[\"super-user\"],\n user_id=data[\"zitadel_human_user\"][\"default\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.UserGrant(\"default\", new()\n {\n ProjectId = data.Zitadel_project.Default.Id,\n OrgId = data.Zitadel_org.Default.Id,\n RoleKeys = new[]\n {\n \"super-user\",\n },\n UserId = data.Zitadel_human_user.Default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewUserGrant(ctx, \"default\", \u0026zitadel.UserGrantArgs{\n\t\t\tProjectId: pulumi.Any(data.Zitadel_project.Default.Id),\n\t\t\tOrgId: pulumi.Any(data.Zitadel_org.Default.Id),\n\t\t\tRoleKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"super-user\"),\n\t\t\t},\n\t\t\tUserId: pulumi.Any(data.Zitadel_human_user.Default.Id),\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.zitadel.UserGrant;\nimport com.pulumi.zitadel.UserGrantArgs;\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 default_ = new UserGrant(\"default\", UserGrantArgs.builder() \n .projectId(data.zitadel_project().default().id())\n .orgId(data.zitadel_org().default().id())\n .roleKeys(\"super-user\")\n .userId(data.zitadel_human_user().default().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:UserGrant\n properties:\n projectId: ${data.zitadel_project.default.id}\n orgId: ${data.zitadel_org.default.id}\n roleKeys:\n - super-user\n userId: ${data.zitadel_human_user.default.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cflow_type:trigger_type[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/userGrant:UserGrant imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", + "description": "Resource representing the authorization given to a user directly, including the given roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumiverse/zitadel\";\n\nconst _default = new zitadel.UserGrant(\"default\", {\n projectId: defaultZitadelProject.id,\n orgId: defaultZitadelOrg.id,\n roleKeys: [\"super-user\"],\n userId: defaultZitadelHumanUser.id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_zitadel as zitadel\n\ndefault = zitadel.UserGrant(\"default\",\n project_id=default_zitadel_project[\"id\"],\n org_id=default_zitadel_org[\"id\"],\n role_keys=[\"super-user\"],\n user_id=default_zitadel_human_user[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumiverse.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Zitadel.UserGrant(\"default\", new()\n {\n ProjectId = defaultZitadelProject.Id,\n OrgId = defaultZitadelOrg.Id,\n RoleKeys = new[]\n {\n \"super-user\",\n },\n UserId = defaultZitadelHumanUser.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.NewUserGrant(ctx, \"default\", \u0026zitadel.UserGrantArgs{\n\t\t\tProjectId: pulumi.Any(defaultZitadelProject.Id),\n\t\t\tOrgId: pulumi.Any(defaultZitadelOrg.Id),\n\t\t\tRoleKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"super-user\"),\n\t\t\t},\n\t\t\tUserId: pulumi.Any(defaultZitadelHumanUser.Id),\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.zitadel.UserGrant;\nimport com.pulumi.zitadel.UserGrantArgs;\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 default_ = new UserGrant(\"default\", UserGrantArgs.builder() \n .projectId(defaultZitadelProject.id())\n .orgId(defaultZitadelOrg.id())\n .roleKeys(\"super-user\")\n .userId(defaultZitadelHumanUser.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: zitadel:UserGrant\n properties:\n projectId: ${defaultZitadelProject.id}\n orgId: ${defaultZitadelOrg.id}\n roleKeys:\n - super-user\n userId: ${defaultZitadelHumanUser.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform The resource can be imported using the ID format `\u003cflow_type:trigger_type[:org_id]\u003e`, e.g.\n\n```sh\n $ pulumi import zitadel:index/userGrant:UserGrant imported '123456789012345678:123456789012345678:123456789012345678'\n```\n\n ", "properties": { "orgId": { "type": "string", @@ -7330,7 +7336,7 @@ }, "functions": { "zitadel:index/getAction:getAction": { - "description": "Datasource representing an action belonging to an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getAction({\n orgId: data.zitadel_org[\"default\"].id,\n actionId: \"123456789012345678\",\n});\nexport const action = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_action(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n action_id=\"123456789012345678\")\npulumi.export(\"action\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetAction.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ActionId = \"123456789012345678\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"action\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupAction(ctx, \u0026zitadel.LookupActionArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tActionId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"action\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getAction(GetActionArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .actionId(\"123456789012345678\")\n .build());\n\n ctx.export(\"action\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getAction\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n actionId: '123456789012345678'\noutputs:\n action: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing an action belonging to an organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getAction({\n orgId: defaultZitadelOrg.id,\n actionId: \"123456789012345678\",\n});\nexport const action = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_action(org_id=default_zitadel_org[\"id\"],\n action_id=\"123456789012345678\")\npulumi.export(\"action\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetAction.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n ActionId = \"123456789012345678\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"action\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupAction(ctx, \u0026zitadel.LookupActionArgs{\n\t\t\tOrgId: pulumi.StringRef(defaultZitadelOrg.Id),\n\t\t\tActionId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"action\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetActionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getAction(GetActionArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .actionId(\"123456789012345678\")\n .build());\n\n ctx.export(\"action\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getAction\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n actionId: '123456789012345678'\noutputs:\n action: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getAction.\n", "properties": { @@ -7396,7 +7402,7 @@ } }, "zitadel:index/getApplicationApi:getApplicationApi": { - "description": "Datasource representing an API application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getApplicationApi({\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n appId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_application_api(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n app_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetApplicationApi.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AppId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupApplicationApi(ctx, \u0026zitadel.LookupApplicationApiArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: data.Zitadel_project.Default.Id,\n\t\t\tAppId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetApplicationApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getApplicationApi(GetApplicationApiArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .appId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getApplicationApi\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n appId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing an API application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getApplicationApi({\n orgId: defaultZitadelOrg.id,\n projectId: defaultZitadelProject.id,\n appId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_application_api(org_id=default_zitadel_org[\"id\"],\n project_id=default_zitadel_project[\"id\"],\n app_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetApplicationApi.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n ProjectId = defaultZitadelProject.Id,\n AppId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupApplicationApi(ctx, \u0026zitadel.LookupApplicationApiArgs{\n\t\t\tOrgId: pulumi.StringRef(defaultZitadelOrg.Id),\n\t\t\tProjectId: defaultZitadelProject.Id,\n\t\t\tAppId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetApplicationApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getApplicationApi(GetApplicationApiArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .projectId(defaultZitadelProject.id())\n .appId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getApplicationApi\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n projectId: ${defaultZitadelProject.id}\n appId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getApplicationApi.\n", "properties": { @@ -7526,7 +7532,7 @@ } }, "zitadel:index/getApplicationOidc:getApplicationOidc": { - "description": "Datasource representing an OIDC application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getApplicationOidc({\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n appId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_application_oidc(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n app_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetApplicationOidc.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AppId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupApplicationOidc(ctx, \u0026zitadel.LookupApplicationOidcArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: data.Zitadel_project.Default.Id,\n\t\t\tAppId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetApplicationOidcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getApplicationOidc(GetApplicationOidcArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .appId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getApplicationOidc\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n appId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing an OIDC application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getApplicationOidc({\n orgId: defaultZitadelOrg.id,\n projectId: defaultZitadelProject.id,\n appId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_application_oidc(org_id=default_zitadel_org[\"id\"],\n project_id=default_zitadel_project[\"id\"],\n app_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetApplicationOidc.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n ProjectId = defaultZitadelProject.Id,\n AppId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupApplicationOidc(ctx, \u0026zitadel.LookupApplicationOidcArgs{\n\t\t\tOrgId: pulumi.StringRef(defaultZitadelOrg.Id),\n\t\t\tProjectId: defaultZitadelProject.Id,\n\t\t\tAppId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetApplicationOidcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getApplicationOidc(GetApplicationOidcArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .projectId(defaultZitadelProject.id())\n .appId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getApplicationOidc\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n projectId: ${defaultZitadelProject.id}\n appId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getApplicationOidc.\n", "properties": { @@ -7736,7 +7742,7 @@ } }, "zitadel:index/getApplicationSaml:getApplicationSaml": { - "description": "Datasource representing a SAML application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getApplicationSaml({\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n appId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_application_saml(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n app_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetApplicationSaml.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n AppId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupApplicationSaml(ctx, \u0026zitadel.LookupApplicationSamlArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: data.Zitadel_project.Default.Id,\n\t\t\tAppId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetApplicationSamlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getApplicationSaml(GetApplicationSamlArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .appId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getApplicationSaml\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n appId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a SAML application belonging to a project, with all configuration possibilities.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getApplicationSaml({\n orgId: defaultZitadelOrg.id,\n projectId: defaultZitadelProject.id,\n appId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_application_saml(org_id=default_zitadel_org[\"id\"],\n project_id=default_zitadel_project[\"id\"],\n app_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetApplicationSaml.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n ProjectId = defaultZitadelProject.Id,\n AppId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupApplicationSaml(ctx, \u0026zitadel.LookupApplicationSamlArgs{\n\t\t\tOrgId: pulumi.StringRef(defaultZitadelOrg.Id),\n\t\t\tProjectId: defaultZitadelProject.Id,\n\t\t\tAppId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetApplicationSamlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getApplicationSaml(GetApplicationSamlArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .projectId(defaultZitadelProject.id())\n .appId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getApplicationSaml\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n projectId: ${defaultZitadelProject.id}\n appId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getApplicationSaml.\n", "properties": { @@ -7902,7 +7908,7 @@ } }, "zitadel:index/getHumanUser:getHumanUser": { - "description": "Datasource representing a human user situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getHumanUser({\n orgId: data.zitadel_org[\"default\"].id,\n userId: \"123456789012345678\",\n});\nexport const humanUser = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_human_user(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=\"123456789012345678\")\npulumi.export(\"humanUser\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetHumanUser.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = \"123456789012345678\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"humanUser\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupHumanUser(ctx, \u0026zitadel.LookupHumanUserArgs{\n\t\t\tOrgId: data.Zitadel_org.Default.Id,\n\t\t\tUserId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"humanUser\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetHumanUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getHumanUser(GetHumanUserArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .userId(\"123456789012345678\")\n .build());\n\n ctx.export(\"humanUser\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getHumanUser\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n userId: '123456789012345678'\noutputs:\n humanUser: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a human user situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getHumanUser({\n orgId: defaultZitadelOrg.id,\n userId: \"123456789012345678\",\n});\nexport const humanUser = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_human_user(org_id=default_zitadel_org[\"id\"],\n user_id=\"123456789012345678\")\npulumi.export(\"humanUser\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetHumanUser.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n UserId = \"123456789012345678\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"humanUser\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupHumanUser(ctx, \u0026zitadel.LookupHumanUserArgs{\n\t\t\tOrgId: defaultZitadelOrg.Id,\n\t\t\tUserId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"humanUser\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetHumanUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getHumanUser(GetHumanUserArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .userId(\"123456789012345678\")\n .build());\n\n ctx.export(\"humanUser\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getHumanUser\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n userId: '123456789012345678'\noutputs:\n humanUser: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getHumanUser.\n", "properties": { @@ -8666,7 +8672,7 @@ } }, "zitadel:index/getMachineUser:getMachineUser": { - "description": "Datasource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getMachineUser({\n orgId: data.zitadel_org[\"default\"].id,\n userId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_machine_user(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n user_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetMachineUser.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n UserId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupMachineUser(ctx, \u0026zitadel.LookupMachineUserArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tUserId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetMachineUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getMachineUser(GetMachineUserArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .userId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getMachineUser\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n userId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a serviceaccount situated under an organization, which then can be authorized through memberships or direct grants on other resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getMachineUser({\n orgId: defaultZitadelOrg.id,\n userId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_machine_user(org_id=default_zitadel_org[\"id\"],\n user_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetMachineUser.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n UserId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupMachineUser(ctx, \u0026zitadel.LookupMachineUserArgs{\n\t\t\tOrgId: pulumi.StringRef(defaultZitadelOrg.Id),\n\t\t\tUserId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetMachineUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getMachineUser(GetMachineUserArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .userId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getMachineUser\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n userId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getMachineUser.\n", "properties": { @@ -8853,7 +8859,7 @@ } }, "zitadel:index/getOrgIdpAzureAd:getOrgIdpAzureAd": { - "description": "Datasource representing an Azure AD IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpAzureAd({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_azure_ad(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpAzureAd.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpAzureAd(ctx, \u0026zitadel.LookupOrgIdpAzureAdArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpAzureAdArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgIdpAzureAd(GetOrgIdpAzureAdArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpAzureAd\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing an Azure AD IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpAzureAd({\n orgId: defaultZitadelOrg.id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_azure_ad(org_id=default_zitadel_org[\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpAzureAd.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpAzureAd(ctx, \u0026zitadel.LookupOrgIdpAzureAdArgs{\n\t\t\tOrgId: pulumi.StringRef(defaultZitadelOrg.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpAzureAdArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgIdpAzureAd(GetOrgIdpAzureAdArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpAzureAd\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpAzureAd.\n", "properties": { @@ -8949,7 +8955,7 @@ } }, "zitadel:index/getOrgIdpGithub:getOrgIdpGithub": { - "description": "Datasource representing a GitHub IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGithub({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_github(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGithub.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGithub(ctx, \u0026zitadel.LookupOrgIdpGithubArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGithubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgIdpGithub(GetOrgIdpGithubArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGithub\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a GitHub IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGithub({\n orgId: defaultZitadelOrg.id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_github(org_id=default_zitadel_org[\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGithub.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGithub(ctx, \u0026zitadel.LookupOrgIdpGithubArgs{\n\t\t\tOrgId: pulumi.StringRef(defaultZitadelOrg.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGithubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgIdpGithub(GetOrgIdpGithubArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGithub\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpGithub.\n", "properties": { @@ -9030,7 +9036,7 @@ } }, "zitadel:index/getOrgIdpGithubEs:getOrgIdpGithubEs": { - "description": "Datasource representing a GitHub Enterprise IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGithubEs({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_github_es(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGithubEs.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGithubEs(ctx, \u0026zitadel.LookupOrgIdpGithubEsArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGithubEsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgIdpGithubEs(GetOrgIdpGithubEsArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGithubEs\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a GitHub Enterprise IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGithubEs({\n orgId: defaultZitadelOrg.id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_github_es(org_id=default_zitadel_org[\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGithubEs.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGithubEs(ctx, \u0026zitadel.LookupOrgIdpGithubEsArgs{\n\t\t\tOrgId: pulumi.StringRef(defaultZitadelOrg.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGithubEsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgIdpGithubEs(GetOrgIdpGithubEsArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGithubEs\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpGithubEs.\n", "properties": { @@ -9126,7 +9132,7 @@ } }, "zitadel:index/getOrgIdpGitlab:getOrgIdpGitlab": { - "description": "Datasource representing a GitLab IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGitlab({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_gitlab(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGitlab.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGitlab(ctx, \u0026zitadel.LookupOrgIdpGitlabArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGitlabArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgIdpGitlab(GetOrgIdpGitlabArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGitlab\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a GitLab IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGitlab({\n orgId: defaultZitadelOrg.id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_gitlab(org_id=default_zitadel_org[\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGitlab.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGitlab(ctx, \u0026zitadel.LookupOrgIdpGitlabArgs{\n\t\t\tOrgId: pulumi.StringRef(defaultZitadelOrg.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGitlabArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgIdpGitlab(GetOrgIdpGitlabArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGitlab\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpGitlab.\n", "properties": { @@ -9207,7 +9213,7 @@ } }, "zitadel:index/getOrgIdpGitlabSelfHosted:getOrgIdpGitlabSelfHosted": { - "description": "Datasource representing a GitLab Self Hosted IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGitlabSelfHosted({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_gitlab_self_hosted(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGitlabSelfHosted.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGitlabSelfHosted(ctx, \u0026zitadel.LookupOrgIdpGitlabSelfHostedArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGitlabSelfHostedArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgIdpGitlabSelfHosted(GetOrgIdpGitlabSelfHostedArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGitlabSelfHosted\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a GitLab Self Hosted IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGitlabSelfHosted({\n orgId: defaultZitadelOrg.id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_gitlab_self_hosted(org_id=default_zitadel_org[\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGitlabSelfHosted.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGitlabSelfHosted(ctx, \u0026zitadel.LookupOrgIdpGitlabSelfHostedArgs{\n\t\t\tOrgId: pulumi.StringRef(defaultZitadelOrg.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGitlabSelfHostedArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgIdpGitlabSelfHosted(GetOrgIdpGitlabSelfHostedArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGitlabSelfHosted\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpGitlabSelfHosted.\n", "properties": { @@ -9293,7 +9299,7 @@ } }, "zitadel:index/getOrgIdpGoogle:getOrgIdpGoogle": { - "description": "Datasource representing a Google IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGoogle({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_google(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGoogle.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGoogle(ctx, \u0026zitadel.LookupOrgIdpGoogleArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGoogleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgIdpGoogle(GetOrgIdpGoogleArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGoogle\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a Google IdP of the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpGoogle({\n orgId: defaultZitadelOrg.id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_google(org_id=default_zitadel_org[\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpGoogle.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpGoogle(ctx, \u0026zitadel.LookupOrgIdpGoogleArgs{\n\t\t\tOrgId: pulumi.StringRef(defaultZitadelOrg.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpGoogleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgIdpGoogle(GetOrgIdpGoogleArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpGoogle\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpGoogle.\n", "properties": { @@ -9374,7 +9380,7 @@ } }, "zitadel:index/getOrgIdpLdap:getOrgIdpLdap": { - "description": "Datasource representing an LDAP IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpLdap({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_ldap(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpLdap.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpLdap(ctx, \u0026zitadel.LookupOrgIdpLdapArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpLdapArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgIdpLdap(GetOrgIdpLdapArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpLdap\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing an LDAP IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgIdpLdap({\n orgId: defaultZitadelOrg.id,\n id: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_idp_ldap(org_id=default_zitadel_org[\"id\"],\n id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgIdpLdap.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n Id = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupOrgIdpLdap(ctx, \u0026zitadel.LookupOrgIdpLdapArgs{\n\t\t\tOrgId: pulumi.StringRef(defaultZitadelOrg.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgIdpLdapArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgIdpLdap(GetOrgIdpLdapArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .id(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgIdpLdap\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n id: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgIdpLdap.\n", "properties": { @@ -9556,7 +9562,7 @@ } }, "zitadel:index/getOrgJwtIdp:getOrgJwtIdp": { - "description": "Datasource representing a generic JWT IdP on the organization.\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgJwtIdpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgJwtIdp(GetOrgJwtIdpArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n ctx.export(\"orgIdpOrgJwtIdp\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgJwtIdp\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\noutputs:\n orgIdpOrgJwtIdp: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a generic JWT IdP on the organization.\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgJwtIdpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgJwtIdp(GetOrgJwtIdpArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .id(\"123456789012345678\")\n .build());\n\n ctx.export(\"orgIdpOrgJwtIdp\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgJwtIdp\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n id: '123456789012345678'\noutputs:\n orgIdpOrgJwtIdp: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgJwtIdp.\n", "properties": { @@ -9635,7 +9641,7 @@ } }, "zitadel:index/getOrgOidcIdp:getOrgOidcIdp": { - "description": "Datasource representing a generic OIDC IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgOidcIdp({\n orgId: data.zitadel_org[\"default\"].id,\n id: \"123456789012345678\",\n});\nexport const orgOidcIdp = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_oidc_idp(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n id=\"123456789012345678\")\npulumi.export(\"orgOidcIdp\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgOidcIdp.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n Id = \"123456789012345678\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"orgOidcIdp\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.GetOrgOidcIdp(ctx, \u0026zitadel.GetOrgOidcIdpArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"orgOidcIdp\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgOidcIdpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgOidcIdp(GetOrgOidcIdpArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .id(\"123456789012345678\")\n .build());\n\n ctx.export(\"orgOidcIdp\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgOidcIdp\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n id: '123456789012345678'\noutputs:\n orgOidcIdp: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing a generic OIDC IdP on the organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getOrgOidcIdp({\n orgId: defaultZitadelOrg.id,\n id: \"123456789012345678\",\n});\nexport const orgOidcIdp = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_org_oidc_idp(org_id=default_zitadel_org[\"id\"],\n id=\"123456789012345678\")\npulumi.export(\"orgOidcIdp\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgOidcIdp.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n Id = \"123456789012345678\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"orgOidcIdp\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.GetOrgOidcIdp(ctx, \u0026zitadel.GetOrgOidcIdpArgs{\n\t\t\tOrgId: pulumi.StringRef(defaultZitadelOrg.Id),\n\t\t\tId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"orgOidcIdp\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetOrgOidcIdpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getOrgOidcIdp(GetOrgOidcIdpArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .id(\"123456789012345678\")\n .build());\n\n ctx.export(\"orgOidcIdp\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getOrgOidcIdp\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n id: '123456789012345678'\noutputs:\n orgOidcIdp: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgOidcIdp.\n", "properties": { @@ -9726,7 +9732,7 @@ } }, "zitadel:index/getOrgs:getOrgs": { - "description": "Datasource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance.\n", + "description": "Datasource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nfunction notImplemented(message: string) {\n throw new Error(message);\n}\n\nconst default = zitadel.getOrgs({\n name: \"example-name\",\n nameMethod: \"TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE\",\n domain: \"example.com\",\n domainMethod: \"TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE\",\n state: \"ORG_STATE_ACTIVE\",\n});\nconst defaultGetOrg = .reduce((__obj, [, ]) =\u003e ({ ...__obj, [__key]: zitadel.getOrg({\n id: __value,\n}) }));\nexport const orgNames = notImplemented(`toset([\nfororgindata.zitadel_org.default:org.name\n])`);\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\n\ndef not_implemented(msg):\n raise NotImplementedError(msg)\n\ndefault = zitadel.get_orgs(name=\"example-name\",\n name_method=\"TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE\",\n domain=\"example.com\",\n domain_method=\"TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE\",\n state=\"ORG_STATE_ACTIVE\")\ndefault_get_org = {__key: zitadel.get_org(id=__value) for __key, __value in not_implemented(\"toset(data.zitadel_orgs.default.ids)\")}\npulumi.export(\"orgNames\", not_implemented(\"\"\"toset([\nfororgindata.zitadel_org.default:org.name\n])\"\"\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\n\t\nstatic object NotImplemented(string errorMessage) \n{\n throw new System.NotImplementedException(errorMessage);\n}\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetOrgs.Invoke(new()\n {\n Name = \"example-name\",\n NameMethod = \"TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE\",\n Domain = \"example.com\",\n DomainMethod = \"TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE\",\n State = \"ORG_STATE_ACTIVE\",\n });\n\n var defaultGetOrg = .ToDictionary(item =\u003e {\n var __key = item.Key;\n return __key;\n }, item =\u003e {\n var __value = item.Value;\n return Zitadel.GetOrg.Invoke(new()\n {\n Id = __value,\n });\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"orgNames\"] = NotImplemented(@\"toset([\nfororgindata.zitadel_org.default:org.name\n])\"),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc notImplemented(message string) pulumi.AnyOutput {\n\tpanic(message)\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.GetOrgs(ctx, \u0026zitadel.GetOrgsArgs{\n\t\t\tName: pulumi.StringRef(\"example-name\"),\n\t\t\tNameMethod: pulumi.StringRef(\"TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE\"),\n\t\t\tDomain: pulumi.StringRef(\"example.com\"),\n\t\t\tDomainMethod: pulumi.StringRef(\"TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE\"),\n\t\t\tState: pulumi.StringRef(\"ORG_STATE_ACTIVE\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ := \"TODO: For expression\"\n\t\tctx.Export(\"orgNames\", notImplemented(\"toset([\\nfororgindata.zitadel_org.default:org.name\\n])\"))\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getOrgs.\n", "properties": { @@ -9801,7 +9807,7 @@ } }, "zitadel:index/getProject:getProject": { - "description": "Datasource representing the project, which can then be granted to different organizations or users directly, containing different applications.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getProject({\n orgId: data.zitadel_org[\"default\"].id,\n projectId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_project(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetProject.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupProject(ctx, \u0026zitadel.LookupProjectArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tProjectId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getProject(GetProjectArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .projectId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getProject\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n projectId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing the project, which can then be granted to different organizations or users directly, containing different applications.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getProject({\n orgId: defaultZitadelOrg.id,\n projectId: \"123456789012345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_project(org_id=default_zitadel_org[\"id\"],\n project_id=\"123456789012345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetProject.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n ProjectId = \"123456789012345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := zitadel.LookupProject(ctx, \u0026zitadel.LookupProjectArgs{\n\t\t\tOrgId: pulumi.StringRef(defaultZitadelOrg.Id),\n\t\t\tProjectId: \"123456789012345678\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getProject(GetProjectArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .projectId(\"123456789012345678\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getProject\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n projectId: '123456789012345678'\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getProject.\n", "properties": { @@ -9874,7 +9880,7 @@ } }, "zitadel:index/getProjectRole:getProjectRole": { - "description": "Datasource representing the project roles, which can be given as authorizations to users.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getProjectRole({\n orgId: data.zitadel_org[\"default\"].id,\n projectId: data.zitadel_project[\"default\"].id,\n roleKey: \"key\",\n});\nexport const projectRole = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_project_role(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n project_id=data[\"zitadel_project\"][\"default\"][\"id\"],\n role_key=\"key\")\npulumi.export(\"projectRole\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetProjectRole.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n ProjectId = data.Zitadel_project.Default.Id,\n RoleKey = \"key\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"projectRole\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupProjectRole(ctx, \u0026zitadel.LookupProjectRoleArgs{\n\t\t\tOrgId: data.Zitadel_org.Default.Id,\n\t\t\tProjectId: data.Zitadel_project.Default.Id,\n\t\t\tRoleKey: \"key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"projectRole\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetProjectRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getProjectRole(GetProjectRoleArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .projectId(data.zitadel_project().default().id())\n .roleKey(\"key\")\n .build());\n\n ctx.export(\"projectRole\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getProjectRole\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n projectId: ${data.zitadel_project.default.id}\n roleKey: key\noutputs:\n projectRole: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Datasource representing the project roles, which can be given as authorizations to users.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getProjectRole({\n orgId: defaultZitadelOrg.id,\n projectId: defaultZitadelProject.id,\n roleKey: \"key\",\n});\nexport const projectRole = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_project_role(org_id=default_zitadel_org[\"id\"],\n project_id=default_zitadel_project[\"id\"],\n role_key=\"key\")\npulumi.export(\"projectRole\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetProjectRole.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n ProjectId = defaultZitadelProject.Id,\n RoleKey = \"key\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"projectRole\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupProjectRole(ctx, \u0026zitadel.LookupProjectRoleArgs{\n\t\t\tOrgId: defaultZitadelOrg.Id,\n\t\t\tProjectId: defaultZitadelProject.Id,\n\t\t\tRoleKey: \"key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"projectRole\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetProjectRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getProjectRole(GetProjectRoleArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .projectId(defaultZitadelProject.id())\n .roleKey(\"key\")\n .build());\n\n ctx.export(\"projectRole\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getProjectRole\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n projectId: ${defaultZitadelProject.id}\n roleKey: key\noutputs:\n projectRole: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getProjectRole.\n", "properties": { @@ -9997,7 +10003,7 @@ } }, "zitadel:index/getTriggerActions:getTriggerActions": { - "description": "Resource representing triggers, when actions get started\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getTriggerActions({\n orgId: data.zitadel_org[\"default\"].id,\n flowType: \"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n triggerType: \"TRIGGER_TYPE_POST_AUTHENTICATION\",\n});\nexport const triggerActions = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_trigger_actions(org_id=data[\"zitadel_org\"][\"default\"][\"id\"],\n flow_type=\"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n trigger_type=\"TRIGGER_TYPE_POST_AUTHENTICATION\")\npulumi.export(\"triggerActions\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetTriggerActions.Invoke(new()\n {\n OrgId = data.Zitadel_org.Default.Id,\n FlowType = \"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n TriggerType = \"TRIGGER_TYPE_POST_AUTHENTICATION\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"triggerActions\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupTriggerActions(ctx, \u0026zitadel.LookupTriggerActionsArgs{\n\t\t\tOrgId: pulumi.StringRef(data.Zitadel_org.Default.Id),\n\t\t\tFlowType: \"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n\t\t\tTriggerType: \"TRIGGER_TYPE_POST_AUTHENTICATION\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"triggerActions\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetTriggerActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getTriggerActions(GetTriggerActionsArgs.builder()\n .orgId(data.zitadel_org().default().id())\n .flowType(\"FLOW_TYPE_EXTERNAL_AUTHENTICATION\")\n .triggerType(\"TRIGGER_TYPE_POST_AUTHENTICATION\")\n .build());\n\n ctx.export(\"triggerActions\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getTriggerActions\n Arguments:\n orgId: ${data.zitadel_org.default.id}\n flowType: FLOW_TYPE_EXTERNAL_AUTHENTICATION\n triggerType: TRIGGER_TYPE_POST_AUTHENTICATION\noutputs:\n triggerActions: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Resource representing triggers, when actions get started\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as zitadel from \"@pulumi/zitadel\";\n\nconst default = zitadel.getTriggerActions({\n orgId: defaultZitadelOrg.id,\n flowType: \"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n triggerType: \"TRIGGER_TYPE_POST_AUTHENTICATION\",\n});\nexport const triggerActions = _default;\n```\n```python\nimport pulumi\nimport pulumi_zitadel as zitadel\n\ndefault = zitadel.get_trigger_actions(org_id=default_zitadel_org[\"id\"],\n flow_type=\"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n trigger_type=\"TRIGGER_TYPE_POST_AUTHENTICATION\")\npulumi.export(\"triggerActions\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Zitadel = Pulumi.Zitadel;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Zitadel.GetTriggerActions.Invoke(new()\n {\n OrgId = defaultZitadelOrg.Id,\n FlowType = \"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n TriggerType = \"TRIGGER_TYPE_POST_AUTHENTICATION\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"triggerActions\"] = @default,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-zitadel/sdk/go/zitadel\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := zitadel.LookupTriggerActions(ctx, \u0026zitadel.LookupTriggerActionsArgs{\n\t\t\tOrgId: pulumi.StringRef(defaultZitadelOrg.Id),\n\t\t\tFlowType: \"FLOW_TYPE_EXTERNAL_AUTHENTICATION\",\n\t\t\tTriggerType: \"TRIGGER_TYPE_POST_AUTHENTICATION\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"triggerActions\", _default)\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.zitadel.ZitadelFunctions;\nimport com.pulumi.zitadel.inputs.GetTriggerActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ZitadelFunctions.getTriggerActions(GetTriggerActionsArgs.builder()\n .orgId(defaultZitadelOrg.id())\n .flowType(\"FLOW_TYPE_EXTERNAL_AUTHENTICATION\")\n .triggerType(\"TRIGGER_TYPE_POST_AUTHENTICATION\")\n .build());\n\n ctx.export(\"triggerActions\", default_);\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n Function: zitadel:getTriggerActions\n Arguments:\n orgId: ${defaultZitadelOrg.id}\n flowType: FLOW_TYPE_EXTERNAL_AUTHENTICATION\n triggerType: TRIGGER_TYPE_POST_AUTHENTICATION\noutputs:\n triggerActions: ${default}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getTriggerActions.\n", "properties": { diff --git a/provider/cmd/pulumi-tfgen-zitadel/main.go b/provider/cmd/pulumi-tfgen-zitadel/main.go index 5371755..56da31a 100644 --- a/provider/cmd/pulumi-tfgen-zitadel/main.go +++ b/provider/cmd/pulumi-tfgen-zitadel/main.go @@ -16,6 +16,7 @@ package main import ( "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfgen" + zitadel "github.com/pulumiverse/pulumi-zitadel/provider" "github.com/pulumiverse/pulumi-zitadel/provider/pkg/version" ) diff --git a/provider/resources.go b/provider/resources.go index e4e58bd..28ed614 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -18,12 +18,14 @@ import ( "fmt" "path/filepath" + "github.com/zitadel/terraform-provider-zitadel/zitadel" + "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/sdk/v3/go/common/resource" + "github.com/pulumiverse/pulumi-zitadel/provider/pkg/version" - "github.com/zitadel/terraform-provider-zitadel/zitadel" ) // all of the token components used below. @@ -39,7 +41,7 @@ const ( // It should validate that the provider can be configured, and provide actionable errors in the case // it cannot be. Configuration variables can be read from `vars` using the `stringValue` function - // for example `stringValue(vars, "accessKey")`. -func preConfigureCallback(vars resource.PropertyMap, c shim.ResourceConfig) error { +func preConfigureCallback(_ resource.PropertyMap, _ shim.ResourceConfig) error { return nil } @@ -93,94 +95,102 @@ func Provider() tfbridge.ProviderInfo { }, PreConfigureCallback: preConfigureCallback, Resources: map[string]*tfbridge.ResourceInfo{ - "zitadel_org": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Org")}, - "zitadel_human_user": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "HumanUser")}, - "zitadel_machine_user": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "MachineUser")}, - "zitadel_project": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Project")}, - "zitadel_project_role": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ProjectRole")}, - "zitadel_domain": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Domain")}, - "zitadel_action": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Action")}, - "zitadel_application_oidc": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ApplicationOidc")}, - "zitadel_application_api": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ApplicationApi")}, - "zitadel_application_key": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ApplicationKey")}, - "zitadel_project_grant": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ProjectGrant")}, - "zitadel_user_grant": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "UserGrant")}, - "zitadel_org_member": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgMember")}, - "zitadel_instance_member": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "InstanceMember")}, - "zitadel_project_member": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ProjectMember")}, - "zitadel_project_grant_member": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ProjectGrantMember")}, - "zitadel_domain_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DomainPolicy")}, - "zitadel_label_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "LabelPolicy")}, - "zitadel_lockout_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "LockoutPolicy")}, - "zitadel_login_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "LoginPolicy")}, - "zitadel_password_complexity_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "PasswordComplexityPolicy")}, - "zitadel_privacy_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "PrivacyPolicy")}, - "zitadel_trigger_actions": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "TriggerActions")}, - "zitadel_personal_access_token": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "PersonalAccessToken")}, - "zitadel_machine_key": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "MachineKey")}, - "zitadel_default_label_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultLabelPolicy")}, - "zitadel_default_login_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultLoginPolicy")}, - "zitadel_default_lockout_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultLockoutPolicy")}, - "zitadel_default_domain_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultDomainPolicy")}, - "zitadel_default_privacy_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultPrivacyPolicy")}, - "zitadel_default_password_complexity_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultPasswordComplexityPolicy")}, - "zitadel_default_oidc_settings": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultOidcSettings")}, - "zitadel_sms_provider_twilio": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "SmsProviderTwilio")}, - "zitadel_smtp_config": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "SmtpConfig")}, - "zitadel_default_notification_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultNotificationPolicy")}, - "zitadel_notification_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "NotificationPolicy")}, - "zitadel_idp_github": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpGithub")}, - "zitadel_idp_github_es": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpGithubEs")}, - "zitadel_idp_gitlab": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpGitlab")}, - "zitadel_idp_gitlab_self_hosted": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpGitlabSelfHosted")}, - "zitadel_idp_google": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpGoogle")}, - "zitadel_idp_azure_ad": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpAzureAd")}, - "zitadel_idp_ldap": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpLdap")}, - "zitadel_org_idp_jwt": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpJwt")}, - "zitadel_org_idp_oidc": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpOidc")}, - "zitadel_org_idp_github": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpGithub")}, - "zitadel_org_idp_github_es": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpGithubEs")}, - "zitadel_org_idp_gitlab": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpGitlab")}, - "zitadel_org_idp_gitlab_self_hosted": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpGitlabSelfHosted")}, - "zitadel_org_idp_google": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpGoogle")}, - "zitadel_org_idp_azure_ad": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpAzureAd")}, - "zitadel_org_idp_ldap": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpLdap")}, - "zitadel_application_saml": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ApplicationSaml")}, + "zitadel_org": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Org")}, + "zitadel_human_user": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "HumanUser")}, + "zitadel_machine_user": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "MachineUser")}, + "zitadel_project": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Project")}, + "zitadel_project_role": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ProjectRole")}, + "zitadel_domain": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Domain")}, + "zitadel_action": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Action")}, + "zitadel_application_oidc": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ApplicationOidc")}, + "zitadel_application_api": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ApplicationApi")}, + "zitadel_application_key": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ApplicationKey")}, + "zitadel_project_grant": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ProjectGrant")}, + "zitadel_user_grant": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "UserGrant")}, + "zitadel_org_member": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgMember")}, + "zitadel_instance_member": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "InstanceMember")}, + "zitadel_project_member": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ProjectMember")}, + "zitadel_project_grant_member": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ProjectGrantMember")}, + "zitadel_domain_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DomainPolicy")}, + "zitadel_label_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "LabelPolicy")}, + "zitadel_lockout_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "LockoutPolicy")}, + "zitadel_login_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "LoginPolicy")}, + "zitadel_password_complexity_policy": { + Tok: tfbridge.MakeResource(mainPkg, mainMod, "PasswordComplexityPolicy"), + }, + "zitadel_privacy_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "PrivacyPolicy")}, + "zitadel_trigger_actions": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "TriggerActions")}, + "zitadel_personal_access_token": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "PersonalAccessToken")}, + "zitadel_machine_key": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "MachineKey")}, + "zitadel_default_label_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultLabelPolicy")}, + "zitadel_default_login_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultLoginPolicy")}, + "zitadel_default_lockout_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultLockoutPolicy")}, + "zitadel_default_domain_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultDomainPolicy")}, + "zitadel_default_privacy_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultPrivacyPolicy")}, + "zitadel_default_password_complexity_policy": { + Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultPasswordComplexityPolicy"), + }, + "zitadel_default_oidc_settings": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultOidcSettings")}, + "zitadel_sms_provider_twilio": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "SmsProviderTwilio")}, + "zitadel_smtp_config": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "SmtpConfig")}, + "zitadel_default_notification_policy": { + Tok: tfbridge.MakeResource(mainPkg, mainMod, "DefaultNotificationPolicy"), + }, + "zitadel_notification_policy": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "NotificationPolicy")}, + "zitadel_idp_github": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpGithub")}, + "zitadel_idp_github_es": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpGithubEs")}, + "zitadel_idp_gitlab": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpGitlab")}, + "zitadel_idp_gitlab_self_hosted": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpGitlabSelfHosted")}, + "zitadel_idp_google": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpGoogle")}, + "zitadel_idp_azure_ad": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpAzureAd")}, + "zitadel_idp_ldap": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdpLdap")}, + "zitadel_org_idp_jwt": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpJwt")}, + "zitadel_org_idp_oidc": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpOidc")}, + "zitadel_org_idp_github": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpGithub")}, + "zitadel_org_idp_github_es": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpGithubEs")}, + "zitadel_org_idp_gitlab": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpGitlab")}, + "zitadel_org_idp_gitlab_self_hosted": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpGitlabSelfHosted")}, + "zitadel_org_idp_google": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpGoogle")}, + "zitadel_org_idp_azure_ad": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpAzureAd")}, + "zitadel_org_idp_ldap": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "OrgIdpLdap")}, + "zitadel_application_saml": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "ApplicationSaml")}, }, DataSources: map[string]*tfbridge.DataSourceInfo{ - "zitadel_org": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrg")}, - "zitadel_orgs": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgs")}, - "zitadel_human_user": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getHumanUser")}, - "zitadel_machine_user": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getMachineUser")}, - "zitadel_project": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getProject")}, - "zitadel_project_role": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getProjectRole")}, - "zitadel_action": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getAction")}, - "zitadel_application_oidc": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getApplicationOidc")}, - "zitadel_application_api": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getApplicationApi")}, - "zitadel_trigger_actions": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getTriggerActions")}, - "zitadel_idp_github": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpGithub")}, - "zitadel_idp_github_es": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpGithubEs")}, - "zitadel_idp_gitlab": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpGitlab")}, - "zitadel_idp_gitlab_self_hosted": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpGitlabSelfHosted")}, - "zitadel_idp_google": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpGoogle")}, - "zitadel_idp_azure_ad": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpAzureAd")}, - "zitadel_idp_ldap": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpLdap")}, - "zitadel_org_jwt_idp": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgJwtIdp")}, - "zitadel_org_oidc_idp": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgOidcIdp")}, - "zitadel_org_idp_github": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpGithub")}, - "zitadel_org_idp_github_es": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpGithubEs")}, - "zitadel_org_idp_gitlab": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpGitlab")}, - "zitadel_org_idp_gitlab_self_hosted": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpGitlabSelfHosted")}, - "zitadel_org_idp_google": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpGoogle")}, - "zitadel_org_idp_azure_ad": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpAzureAd")}, - "zitadel_org_idp_ldap": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpLdap")}, - "zitadel_default_oidc_settings": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getDefaultOidcSettings")}, - "zitadel_application_oidcs": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getApplicationOidcs")}, - "zitadel_application_saml": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getApplicationSaml")}, - "zitadel_application_samls": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getApplicationSamls")}, - "zitadel_machine_users": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getMachineUsers")}, - "zitadel_projects": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getProjects")}, - "zitadel_application_apis": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getApplicationApis")}, + "zitadel_org": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrg")}, + "zitadel_orgs": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgs")}, + "zitadel_human_user": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getHumanUser")}, + "zitadel_machine_user": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getMachineUser")}, + "zitadel_project": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getProject")}, + "zitadel_project_role": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getProjectRole")}, + "zitadel_action": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getAction")}, + "zitadel_application_oidc": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getApplicationOidc")}, + "zitadel_application_api": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getApplicationApi")}, + "zitadel_trigger_actions": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getTriggerActions")}, + "zitadel_idp_github": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpGithub")}, + "zitadel_idp_github_es": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpGithubEs")}, + "zitadel_idp_gitlab": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpGitlab")}, + "zitadel_idp_gitlab_self_hosted": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpGitlabSelfHosted")}, + "zitadel_idp_google": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpGoogle")}, + "zitadel_idp_azure_ad": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpAzureAd")}, + "zitadel_idp_ldap": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdpLdap")}, + "zitadel_org_jwt_idp": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgJwtIdp")}, + "zitadel_org_oidc_idp": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgOidcIdp")}, + "zitadel_org_idp_github": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpGithub")}, + "zitadel_org_idp_github_es": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpGithubEs")}, + "zitadel_org_idp_gitlab": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpGitlab")}, + "zitadel_org_idp_gitlab_self_hosted": { + Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpGitlabSelfHosted"), + }, + "zitadel_org_idp_google": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpGoogle")}, + "zitadel_org_idp_azure_ad": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpAzureAd")}, + "zitadel_org_idp_ldap": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getOrgIdpLdap")}, + "zitadel_default_oidc_settings": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getDefaultOidcSettings")}, + "zitadel_application_oidcs": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getApplicationOidcs")}, + "zitadel_application_saml": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getApplicationSaml")}, + "zitadel_application_samls": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getApplicationSamls")}, + "zitadel_machine_users": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getMachineUsers")}, + "zitadel_projects": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getProjects")}, + "zitadel_application_apis": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getApplicationApis")}, }, JavaScript: &tfbridge.JavaScriptInfo{ PackageName: "@pulumiverse/zitadel", @@ -192,6 +202,7 @@ func Provider() tfbridge.ProviderInfo { "@types/node": "^10.0.0", // so we can access strongly typed node definitions. "@types/mime": "^2.0.0", }, + RespectSchemaVersion: true, // See the documentation for tfbridge.OverlayInfo for how to lay out this // section, or refer to the AWS provider. Delete this section if there are @@ -204,6 +215,8 @@ func Provider() tfbridge.ProviderInfo { Requires: map[string]string{ "pulumi": ">=3.0.0,<4.0.0", }, + PyProject: struct{ Enabled bool }{true}, + RespectSchemaVersion: true, }, Golang: &tfbridge.GolangInfo{ ImportBasePath: filepath.Join( @@ -213,12 +226,14 @@ func Provider() tfbridge.ProviderInfo { mainPkg, ), GenerateResourceContainerTypes: true, + RespectSchemaVersion: true, }, CSharp: &tfbridge.CSharpInfo{ RootNamespace: "Pulumiverse", PackageReferences: map[string]string{ "Pulumi": "3.*", }, + RespectSchemaVersion: true, }, } diff --git a/scripts/crossbuild.mk b/scripts/crossbuild.mk new file mode 100644 index 0000000..bdde184 --- /dev/null +++ b/scripts/crossbuild.mk @@ -0,0 +1,80 @@ +# Provider cross-platform build & packaging + +# Set these variables to enable signing of the windows binary +AZURE_SIGNING_CLIENT_ID ?= +AZURE_SIGNING_CLIENT_SECRET ?= +AZURE_SIGNING_TENANT_ID ?= +AZURE_SIGNING_KEY_VAULT_URI ?= +SKIP_SIGNING ?= + +# These targets assume that the schema-embed.json exists - it's generated by tfgen. +# We disable CGO to ensure that the binary is statically linked. +bin/linux-amd64/$(PROVIDER): GOOS := linux +bin/linux-amd64/$(PROVIDER): GOARCH := amd64 +bin/linux-arm64/$(PROVIDER): GOOS := linux +bin/linux-arm64/$(PROVIDER): GOARCH := arm64 +bin/darwin-amd64/$(PROVIDER): GOOS := darwin +bin/darwin-amd64/$(PROVIDER): GOARCH := amd64 +bin/darwin-arm64/$(PROVIDER): GOOS := darwin +bin/darwin-arm64/$(PROVIDER): GOARCH := arm64 +bin/windows-amd64/$(PROVIDER).exe: GOOS := windows +bin/windows-amd64/$(PROVIDER).exe: GOARCH := amd64 +bin/%/$(PROVIDER) bin/%/$(PROVIDER).exe: bin/jsign-6.0.jar + $(call build_provider_cmd,$(GOOS),$(GOARCH),$(WORKING_DIR)/$@) + + @# Only sign windows binary if fully configured. + @# Test variables set by joining with | between and looking for || showing at least one variable is empty. + @# Move the binary to a temporary location and sign it there to avoid the target being up-to-date if signing fails. + @set -e; \ + if [[ "${GOOS}-${GOARCH}" = "windows-amd64" && "${SKIP_SIGNING}" != "true" ]]; then \ + if [[ "|${AZURE_SIGNING_CLIENT_ID}|${AZURE_SIGNING_CLIENT_SECRET}|${AZURE_SIGNING_TENANT_ID}|${AZURE_SIGNING_KEY_VAULT_URI}|" == *"||"* ]]; then \ + echo "Can't sign windows binaries as required configuration not set: AZURE_SIGNING_CLIENT_ID, AZURE_SIGNING_CLIENT_SECRET, AZURE_SIGNING_TENANT_ID, AZURE_SIGNING_KEY_VAULT_URI"; \ + echo "To rebuild with signing delete the unsigned $@ and rebuild with the fixed configuration"; \ + if [[ "${CI}" == "true" ]]; then exit 1; fi; \ + else \ + mv $@ $@.unsigned; \ + az login --service-principal \ + --username "${AZURE_SIGNING_CLIENT_ID}" \ + --password "${AZURE_SIGNING_CLIENT_SECRET}" \ + --tenant "${AZURE_SIGNING_TENANT_ID}" \ + --output none; \ + ACCESS_TOKEN=$$(az account get-access-token --resource "https://vault.azure.net" | jq -r .accessToken); \ + java -jar bin/jsign-6.0.jar \ + --storetype AZUREKEYVAULT \ + --keystore "PulumiCodeSigning" \ + --url "${AZURE_SIGNING_KEY_VAULT_URI}" \ + --storepass "$${ACCESS_TOKEN}" \ + $@.unsigned; \ + mv $@.unsigned $@; \ + az logout; \ + fi; \ + fi + +bin/jsign-6.0.jar: + wget https://github.com/ebourg/jsign/releases/download/6.0/jsign-6.0.jar --output-document=bin/jsign-6.0.jar + +provider-linux-amd64: bin/linux-amd64/$(PROVIDER) +provider-linux-arm64: bin/linux-arm64/$(PROVIDER) +provider-darwin-amd64: bin/darwin-amd64/$(PROVIDER) +provider-darwin-arm64: bin/darwin-arm64/$(PROVIDER) +provider-windows-amd64: bin/windows-amd64/$(PROVIDER).exe +.PHONY: provider-linux-amd64 provider-linux-arm64 provider-darwin-amd64 provider-darwin-arm64 provider-windows-amd64 + +bin/$(PROVIDER)-v$(PROVIDER_VERSION)-linux-amd64.tar.gz: bin/linux-amd64/$(PROVIDER) +bin/$(PROVIDER)-v$(PROVIDER_VERSION)-linux-arm64.tar.gz: bin/linux-arm64/$(PROVIDER) +bin/$(PROVIDER)-v$(PROVIDER_VERSION)-darwin-amd64.tar.gz: bin/darwin-amd64/$(PROVIDER) +bin/$(PROVIDER)-v$(PROVIDER_VERSION)-darwin-arm64.tar.gz: bin/darwin-arm64/$(PROVIDER) +bin/$(PROVIDER)-v$(PROVIDER_VERSION)-windows-amd64.tar.gz: bin/windows-amd64/$(PROVIDER).exe +bin/$(PROVIDER)-v$(PROVIDER_VERSION)-%.tar.gz: + @mkdir -p dist + @# $< is the last dependency (the binary path from above) e.g. bin/linux-amd64/pulumi-resource-xyz + @# $@ is the current target e.g. bin/pulumi-resource-xyz-v1.2.3-linux-amd64.tar.gz + tar --gzip -cf $@ README.md LICENSE -C $$(dirname $<) . + +provider_dist-linux-amd64: bin/$(PROVIDER)-v$(PROVIDER_VERSION)-linux-amd64.tar.gz +provider_dist-linux-arm64: bin/$(PROVIDER)-v$(PROVIDER_VERSION)-linux-arm64.tar.gz +provider_dist-darwin-amd64: bin/$(PROVIDER)-v$(PROVIDER_VERSION)-darwin-amd64.tar.gz +provider_dist-darwin-arm64: bin/$(PROVIDER)-v$(PROVIDER_VERSION)-darwin-arm64.tar.gz +provider_dist-windows-amd64: bin/$(PROVIDER)-v$(PROVIDER_VERSION)-windows-amd64.tar.gz +provider_dist: provider_dist-linux-amd64 provider_dist-linux-arm64 provider_dist-darwin-amd64 provider_dist-darwin-arm64 provider_dist-windows-amd64 +.PHONY: provider_dist-linux-amd64 provider_dist-linux-arm64 provider_dist-darwin-amd64 provider_dist-darwin-arm64 provider_dist-windows-amd64 provider_dist diff --git a/scripts/plugins.mk b/scripts/plugins.mk new file mode 100644 index 0000000..30b1991 --- /dev/null +++ b/scripts/plugins.mk @@ -0,0 +1,28 @@ +# Install Pulumi and plugins required at build time. +install_plugins: .make/install_plugins +.make/install_plugins: export PULUMI_HOME := $(WORKING_DIR)/.pulumi +.make/install_plugins: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) +.make/install_plugins: .pulumi/bin/pulumi + .pulumi/bin/pulumi plugin install converter terraform 1.0.19 + .pulumi/bin/pulumi plugin install resource random 4.16.7 + @touch $@ +.PHONY: install_plugins + +# Because some codegen depends on the version of the CLI used, we install a local CLI +# version pinned to the same version as the provider `go.mod`. +# +# This logic compares the version of .pulumi/bin/pulumi already installed. If it matches +# the desired version, we just print. Otherwise we (re)install pulumi at the desired +# version. +.pulumi/bin/pulumi: .pulumi/version + @if [ -x .pulumi/bin/pulumi ] && [ "v$$(cat .pulumi/version)" = "$$(.pulumi/bin/pulumi version)" ]; then \ + echo "pulumi/bin/pulumi version: v$$(cat .pulumi/version)"; \ + touch $@; \ + else \ + curl -fsSL https://get.pulumi.com | \ + HOME=$(WORKING_DIR) sh -s -- --version "$$(cat .pulumi/version)"; \ + fi + +# Compute the version of Pulumi to use by inspecting the Go dependencies of the provider. +.pulumi/version: provider/go.mod + (cd provider && go list -f "{{slice .Version 1}}" -m github.com/pulumi/pulumi/pkg/v3) | tee $@ diff --git a/scripts/upstream.sh b/scripts/upstream.sh new file mode 100755 index 0000000..54cd649 --- /dev/null +++ b/scripts/upstream.sh @@ -0,0 +1,405 @@ +#!/usr/bin/env bash +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt + +set -e + +original_exec="$0" +original_cmd="$1" + +usage() { + cat < [options] + +COMMANDS + init [-f] Initialize the upstream submodule and applies the + patches to the working directory. + checkout [-f] Create a branch in the upstream repository with the + patches applied as commits. + rebase [-o] [-i] Rebase the checked out patches. + check_in Write checkedout commits back to patches, add upstream + and patches changes to the git staging area and exit + checkout mode. + file_target Print a file path to depend on in make. + help Print this help message, plus examples. + +OPTIONS + -f Force the command to run even if the upstream submodule is modified + -o The new base commit to rebase the patches on top of + -i Run the rebase command interactively + -h Print this help message, plus examples +EOF +} + +extended_docs() { + cat < + ${original_exec} check_in + + Interactively edit the patches: + ${original_exec} checkout + ${original_exec} rebase -i + ${original_exec} check_in + + Add a new patch: + ${original_exec} checkout + # Make changes to the upstream repository + git commit -am "Add new feature" + ${original_exec} check_in +EOF +} + +assert_upstream_exists() { + if [[ ! -d upstream ]]; then + echo "No 'upstream' directory detected. Aborting." + exit 1 + fi +} + +assert_not_checked_out() { + current_branch=$(cd upstream && git --no-pager rev-parse --abbrev-ref HEAD) + if [[ "${current_branch}" == "pulumi/patch-checkout" ]]; then + cat <' to rebase the patches on top of the + new upstream commit. Resolve any conflicts and continue the rebase to completion. +3. '${original_exec} check_in' to create an updated set of patches from the commits + +Reset the upstream submodule to the previous known good upstream commit before +trying again. This can be done with: + + (cd upstream && git reset --hard ) + git add upstream + +EOF + exit 1 +} + +apply_patches() { + # Iterating over the patches folder in sorted order, + # apply the patch using a 3-way merge strategy. This mirrors the default behavior of 'git merge' + cd upstream + # Allow directory to be empty + shopt -s nullglob + for patch in ../patches/*.patch; do + if ! git apply --3way "${patch}" --allow-empty; then + err_failed_to_apply "$(basename "${patch}")" + fi + done + shopt -u nullglob +} + +clean_rebases() { + # Clean up any previous in-progress rebases. + cd upstream + rebase_merge_dir=$(git rev-parse --git-path rebase-merge) + rebase_apply_dir=$(git rev-parse --git-path rebase-apply) + rm -rf "${rebase_merge_dir}" + rm -rf "${rebase_apply_dir}" + cd .. +} + +clean_branches() { + cd upstream + if git show-ref --verify --quiet refs/heads/pulumi/patch-checkout; then + git branch -D pulumi/patch-checkout + fi + if git show-ref --verify --quiet refs/heads/pulumi/checkout-base; then + git branch -D pulumi/checkout-base + fi + if git show-ref --verify --quiet refs/heads/pulumi/original-base; then + git branch -D pulumi/original-base + fi + cd .. +} + +init() { + # Parse additional flags + while getopts "f" flag; do + case "${flag}" in + f) force="true";; + *) echo "Unexpected option ${flag}"; exit 1;; + esac + done + + if [[ ! -d upstream ]]; then + echo "No 'upstream' directory detected. Skipping init." + exit 0 + fi + + if [[ "${force}" != "true" ]]; then + assert_not_checked_out + assert_no_rebase_in_progress + fi + + git submodule update --force --init + cd upstream && git clean -fxd && cd .. + + if [[ "${force}" == "true" ]]; then + clean_rebases + clean_branches + fi + apply_patches +} + +checkout() { + # Parse additional flags + while getopts "f" flag; do + case "${flag}" in + f) force="true";; + *) echo "Unexpected option ${flag}"; exit 1;; + esac + done + + assert_upstream_exists + + if [[ "${force}" != "true" ]]; then + assert_not_checked_out + assert_no_rebase_in_progress + fi + + git submodule update --force --init + if [[ "${force}" == "true" ]]; then + clean_rebases + clean_branches + fi + + cd upstream + git fetch --all + + # Set the 'pulumi/checkout-base' branch to the current commit of the upstream repository + # This is used to track the base commit of the patches + # If rebasing, then this must be moved to the new base commit. + git branch -f pulumi/checkout-base + # Create a new branch 'pulumi/patch-checkout' which will contain the commits for each patch + git checkout -B pulumi/patch-checkout + + # Allow directory to be empty + shopt -s nullglob + for patch in ../patches/*.patch; do + if ! git am --3way "${patch}"; then + err_failed_to_apply "$(basename "${patch}")" + fi + done + shopt -u nullglob + + cat < + +Once you have finished editing the commits, run + ${original_exec} check_in + +EOF +} + +rebase() { + # Parse additional flags + onto="pulumi/checkout-base" + interactive="false" + while getopts "io:" flag; do + case "${flag}" in + i) interactive="true";; + o) onto="${OPTARG}";; + *) echo "Unexpected option ${flag}"; exit 1;; + esac + done + + assert_is_checked_out + + cd upstream + # Fetch the latest changes from the upstream repository + git fetch --all + # Set the "pulumi/original-base" branch to the current base commit of the patches + git branch -f pulumi/original-base pulumi/checkout-base + # Set the "pulumi/patch-checkout" branch to track the "pulumi/original-base" branch + git branch --set-upstream-to=pulumi/original-base pulumi/patch-checkout + # Set the "pulumi/checkout-base" branch to the new base commit ready for formatting the patches after + git branch -f pulumi/checkout-base "${onto}" + # Rebase the 'pulumi/patch-checkout' branch on top of the new base commit + interactive_flag="" + if [[ "${interactive}" == "true" ]]; then + interactive_flag="--interactive" + fi + if ! git rebase --onto "${onto}" ${interactive_flag}; then + echo "Rebase failed. Please resolve the conflicts and run 'git rebase --continue' in the upstream directory. Once the rebase is complete, run '${original_exec} check_in' to write to commits back to patches." + exit 1 + fi + cd .. +} + +export_patches() { + # Remove all existing patches before creating the new ones in case they've been renamed or removed. + rm -f patches/*.patch + + # Extract patches from the commits in the 'pulumi/patch-checkout' branch into the 'patches' directory. + # Use the 'pulumi/checkout-base' branch to determine the base commit of the patches. + (cd upstream && git format-patch pulumi/checkout-base -o ../patches --zero-commit --no-signature --no-stat --no-numbered) +} + +format_patches() { + assert_upstream_exists + assert_is_checked_out + assert_no_rebase_in_progress + + export_patches + cat < InvokeAsync(GetActionArgs args, InvokeOption /// { /// var @default = Zitadel.GetAction.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// ActionId = "123456789012345678", /// }); /// diff --git a/sdk/dotnet/GetApplicationApi.cs b/sdk/dotnet/GetApplicationApi.cs index e3d1667..44b902c 100644 --- a/sdk/dotnet/GetApplicationApi.cs +++ b/sdk/dotnet/GetApplicationApi.cs @@ -29,8 +29,8 @@ public static class GetApplicationApi /// { /// var @default = Zitadel.GetApplicationApi.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, - /// ProjectId = data.Zitadel_project.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// ProjectId = defaultZitadelProject.Id, /// AppId = "123456789012345678", /// }); /// @@ -59,8 +59,8 @@ public static Task InvokeAsync(GetApplicationApiArgs ar /// { /// var @default = Zitadel.GetApplicationApi.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, - /// ProjectId = data.Zitadel_project.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// ProjectId = defaultZitadelProject.Id, /// AppId = "123456789012345678", /// }); /// diff --git a/sdk/dotnet/GetApplicationOidc.cs b/sdk/dotnet/GetApplicationOidc.cs index d062a0a..77b7943 100644 --- a/sdk/dotnet/GetApplicationOidc.cs +++ b/sdk/dotnet/GetApplicationOidc.cs @@ -29,8 +29,8 @@ public static class GetApplicationOidc /// { /// var @default = Zitadel.GetApplicationOidc.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, - /// ProjectId = data.Zitadel_project.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// ProjectId = defaultZitadelProject.Id, /// AppId = "123456789012345678", /// }); /// @@ -59,8 +59,8 @@ public static Task InvokeAsync(GetApplicationOidcArgs /// { /// var @default = Zitadel.GetApplicationOidc.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, - /// ProjectId = data.Zitadel_project.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// ProjectId = defaultZitadelProject.Id, /// AppId = "123456789012345678", /// }); /// diff --git a/sdk/dotnet/GetApplicationSaml.cs b/sdk/dotnet/GetApplicationSaml.cs index c649ea0..5259fd8 100644 --- a/sdk/dotnet/GetApplicationSaml.cs +++ b/sdk/dotnet/GetApplicationSaml.cs @@ -29,8 +29,8 @@ public static class GetApplicationSaml /// { /// var @default = Zitadel.GetApplicationSaml.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, - /// ProjectId = data.Zitadel_project.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// ProjectId = defaultZitadelProject.Id, /// AppId = "123456789012345678", /// }); /// @@ -59,8 +59,8 @@ public static Task InvokeAsync(GetApplicationSamlArgs /// { /// var @default = Zitadel.GetApplicationSaml.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, - /// ProjectId = data.Zitadel_project.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// ProjectId = defaultZitadelProject.Id, /// AppId = "123456789012345678", /// }); /// diff --git a/sdk/dotnet/GetHumanUser.cs b/sdk/dotnet/GetHumanUser.cs index bcbf71b..ce63c7f 100644 --- a/sdk/dotnet/GetHumanUser.cs +++ b/sdk/dotnet/GetHumanUser.cs @@ -29,7 +29,7 @@ public static class GetHumanUser /// { /// var @default = Zitadel.GetHumanUser.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// UserId = "123456789012345678", /// }); /// @@ -62,7 +62,7 @@ public static Task InvokeAsync(GetHumanUserArgs args, Invoke /// { /// var @default = Zitadel.GetHumanUser.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// UserId = "123456789012345678", /// }); /// diff --git a/sdk/dotnet/GetMachineUser.cs b/sdk/dotnet/GetMachineUser.cs index c28d092..fd10c20 100644 --- a/sdk/dotnet/GetMachineUser.cs +++ b/sdk/dotnet/GetMachineUser.cs @@ -29,7 +29,7 @@ public static class GetMachineUser /// { /// var @default = Zitadel.GetMachineUser.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// UserId = "123456789012345678", /// }); /// @@ -58,7 +58,7 @@ public static Task InvokeAsync(GetMachineUserArgs args, In /// { /// var @default = Zitadel.GetMachineUser.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// UserId = "123456789012345678", /// }); /// diff --git a/sdk/dotnet/GetOrgIdpAzureAd.cs b/sdk/dotnet/GetOrgIdpAzureAd.cs index d8b4892..7ad2234 100644 --- a/sdk/dotnet/GetOrgIdpAzureAd.cs +++ b/sdk/dotnet/GetOrgIdpAzureAd.cs @@ -29,7 +29,7 @@ public static class GetOrgIdpAzureAd /// { /// var @default = Zitadel.GetOrgIdpAzureAd.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// @@ -58,7 +58,7 @@ public static Task InvokeAsync(GetOrgIdpAzureAdArgs args /// { /// var @default = Zitadel.GetOrgIdpAzureAd.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// diff --git a/sdk/dotnet/GetOrgIdpGithub.cs b/sdk/dotnet/GetOrgIdpGithub.cs index d9f0ecd..0f38dfd 100644 --- a/sdk/dotnet/GetOrgIdpGithub.cs +++ b/sdk/dotnet/GetOrgIdpGithub.cs @@ -29,7 +29,7 @@ public static class GetOrgIdpGithub /// { /// var @default = Zitadel.GetOrgIdpGithub.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// @@ -58,7 +58,7 @@ public static Task InvokeAsync(GetOrgIdpGithubArgs args, /// { /// var @default = Zitadel.GetOrgIdpGithub.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// diff --git a/sdk/dotnet/GetOrgIdpGithubEs.cs b/sdk/dotnet/GetOrgIdpGithubEs.cs index 46ec70a..2c40377 100644 --- a/sdk/dotnet/GetOrgIdpGithubEs.cs +++ b/sdk/dotnet/GetOrgIdpGithubEs.cs @@ -29,7 +29,7 @@ public static class GetOrgIdpGithubEs /// { /// var @default = Zitadel.GetOrgIdpGithubEs.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// @@ -58,7 +58,7 @@ public static Task InvokeAsync(GetOrgIdpGithubEsArgs ar /// { /// var @default = Zitadel.GetOrgIdpGithubEs.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// diff --git a/sdk/dotnet/GetOrgIdpGitlab.cs b/sdk/dotnet/GetOrgIdpGitlab.cs index 7597c42..31d2b29 100644 --- a/sdk/dotnet/GetOrgIdpGitlab.cs +++ b/sdk/dotnet/GetOrgIdpGitlab.cs @@ -29,7 +29,7 @@ public static class GetOrgIdpGitlab /// { /// var @default = Zitadel.GetOrgIdpGitlab.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// @@ -58,7 +58,7 @@ public static Task InvokeAsync(GetOrgIdpGitlabArgs args, /// { /// var @default = Zitadel.GetOrgIdpGitlab.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// diff --git a/sdk/dotnet/GetOrgIdpGitlabSelfHosted.cs b/sdk/dotnet/GetOrgIdpGitlabSelfHosted.cs index 28280eb..63542bb 100644 --- a/sdk/dotnet/GetOrgIdpGitlabSelfHosted.cs +++ b/sdk/dotnet/GetOrgIdpGitlabSelfHosted.cs @@ -29,7 +29,7 @@ public static class GetOrgIdpGitlabSelfHosted /// { /// var @default = Zitadel.GetOrgIdpGitlabSelfHosted.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// @@ -58,7 +58,7 @@ public static Task InvokeAsync(GetOrgIdpGitlabS /// { /// var @default = Zitadel.GetOrgIdpGitlabSelfHosted.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// diff --git a/sdk/dotnet/GetOrgIdpGoogle.cs b/sdk/dotnet/GetOrgIdpGoogle.cs index d7b3b28..6adc8e9 100644 --- a/sdk/dotnet/GetOrgIdpGoogle.cs +++ b/sdk/dotnet/GetOrgIdpGoogle.cs @@ -29,7 +29,7 @@ public static class GetOrgIdpGoogle /// { /// var @default = Zitadel.GetOrgIdpGoogle.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// @@ -58,7 +58,7 @@ public static Task InvokeAsync(GetOrgIdpGoogleArgs args, /// { /// var @default = Zitadel.GetOrgIdpGoogle.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// diff --git a/sdk/dotnet/GetOrgIdpLdap.cs b/sdk/dotnet/GetOrgIdpLdap.cs index 257d138..af0605a 100644 --- a/sdk/dotnet/GetOrgIdpLdap.cs +++ b/sdk/dotnet/GetOrgIdpLdap.cs @@ -29,7 +29,7 @@ public static class GetOrgIdpLdap /// { /// var @default = Zitadel.GetOrgIdpLdap.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// @@ -58,7 +58,7 @@ public static Task InvokeAsync(GetOrgIdpLdapArgs args, Invo /// { /// var @default = Zitadel.GetOrgIdpLdap.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// diff --git a/sdk/dotnet/GetOrgOidcIdp.cs b/sdk/dotnet/GetOrgOidcIdp.cs index 801c218..20a61e6 100644 --- a/sdk/dotnet/GetOrgOidcIdp.cs +++ b/sdk/dotnet/GetOrgOidcIdp.cs @@ -29,7 +29,7 @@ public static class GetOrgOidcIdp /// { /// var @default = Zitadel.GetOrgOidcIdp.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// @@ -62,7 +62,7 @@ public static Task InvokeAsync(GetOrgOidcIdpArgs args, Invo /// { /// var @default = Zitadel.GetOrgOidcIdp.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// Id = "123456789012345678", /// }); /// diff --git a/sdk/dotnet/GetOrgs.cs b/sdk/dotnet/GetOrgs.cs index 1c0f669..c77a424 100644 --- a/sdk/dotnet/GetOrgs.cs +++ b/sdk/dotnet/GetOrgs.cs @@ -14,12 +14,110 @@ public static class GetOrgs { /// /// Datasource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumi.Zitadel; + /// + /// + /// static object NotImplemented(string errorMessage) + /// { + /// throw new System.NotImplementedException(errorMessage); + /// } + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = Zitadel.GetOrgs.Invoke(new() + /// { + /// Name = "example-name", + /// NameMethod = "TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE", + /// Domain = "example.com", + /// DomainMethod = "TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE", + /// State = "ORG_STATE_ACTIVE", + /// }); + /// + /// var defaultGetOrg = .ToDictionary(item => { + /// var __key = item.Key; + /// return __key; + /// }, item => { + /// var __value = item.Value; + /// return Zitadel.GetOrg.Invoke(new() + /// { + /// Id = __value, + /// }); + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["orgNames"] = NotImplemented(@"toset([ + /// fororgindata.zitadel_org.default:org.name + /// ])"), + /// }; + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} /// public static Task InvokeAsync(GetOrgsArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("zitadel:index/getOrgs:getOrgs", args ?? new GetOrgsArgs(), options.WithDefaults()); /// /// Datasource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Zitadel = Pulumi.Zitadel; + /// + /// + /// static object NotImplemented(string errorMessage) + /// { + /// throw new System.NotImplementedException(errorMessage); + /// } + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = Zitadel.GetOrgs.Invoke(new() + /// { + /// Name = "example-name", + /// NameMethod = "TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE", + /// Domain = "example.com", + /// DomainMethod = "TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE", + /// State = "ORG_STATE_ACTIVE", + /// }); + /// + /// var defaultGetOrg = .ToDictionary(item => { + /// var __key = item.Key; + /// return __key; + /// }, item => { + /// var __value = item.Value; + /// return Zitadel.GetOrg.Invoke(new() + /// { + /// Id = __value, + /// }); + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["orgNames"] = NotImplemented(@"toset([ + /// fororgindata.zitadel_org.default:org.name + /// ])"), + /// }; + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} /// public static Output Invoke(GetOrgsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("zitadel:index/getOrgs:getOrgs", args ?? new GetOrgsInvokeArgs(), options.WithDefaults()); diff --git a/sdk/dotnet/GetProject.cs b/sdk/dotnet/GetProject.cs index 2848213..c630dd8 100644 --- a/sdk/dotnet/GetProject.cs +++ b/sdk/dotnet/GetProject.cs @@ -29,7 +29,7 @@ public static class GetProject /// { /// var @default = Zitadel.GetProject.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// ProjectId = "123456789012345678", /// }); /// @@ -58,7 +58,7 @@ public static Task InvokeAsync(GetProjectArgs args, InvokeOpti /// { /// var @default = Zitadel.GetProject.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// ProjectId = "123456789012345678", /// }); /// diff --git a/sdk/dotnet/GetProjectRole.cs b/sdk/dotnet/GetProjectRole.cs index ea8cf5a..43c5f87 100644 --- a/sdk/dotnet/GetProjectRole.cs +++ b/sdk/dotnet/GetProjectRole.cs @@ -29,8 +29,8 @@ public static class GetProjectRole /// { /// var @default = Zitadel.GetProjectRole.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, - /// ProjectId = data.Zitadel_project.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// ProjectId = defaultZitadelProject.Id, /// RoleKey = "key", /// }); /// @@ -63,8 +63,8 @@ public static Task InvokeAsync(GetProjectRoleArgs args, In /// { /// var @default = Zitadel.GetProjectRole.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, - /// ProjectId = data.Zitadel_project.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// ProjectId = defaultZitadelProject.Id, /// RoleKey = "key", /// }); /// diff --git a/sdk/dotnet/GetTriggerActions.cs b/sdk/dotnet/GetTriggerActions.cs index 8d160ce..730ad4b 100644 --- a/sdk/dotnet/GetTriggerActions.cs +++ b/sdk/dotnet/GetTriggerActions.cs @@ -29,7 +29,7 @@ public static class GetTriggerActions /// { /// var @default = Zitadel.GetTriggerActions.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// FlowType = "FLOW_TYPE_EXTERNAL_AUTHENTICATION", /// TriggerType = "TRIGGER_TYPE_POST_AUTHENTICATION", /// }); @@ -63,7 +63,7 @@ public static Task InvokeAsync(GetTriggerActionsArgs ar /// { /// var @default = Zitadel.GetTriggerActions.Invoke(new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// FlowType = "FLOW_TYPE_EXTERNAL_AUTHENTICATION", /// TriggerType = "TRIGGER_TYPE_POST_AUTHENTICATION", /// }); diff --git a/sdk/dotnet/HumanUser.cs b/sdk/dotnet/HumanUser.cs index fdef92b..0a0313c 100644 --- a/sdk/dotnet/HumanUser.cs +++ b/sdk/dotnet/HumanUser.cs @@ -27,7 +27,7 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.HumanUser("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// UserName = "humanfull@localhost.com", /// FirstName = "firstname", /// LastName = "lastname", diff --git a/sdk/dotnet/IdpAzureAd.cs b/sdk/dotnet/IdpAzureAd.cs index 418536b..09cd3a3 100644 --- a/sdk/dotnet/IdpAzureAd.cs +++ b/sdk/dotnet/IdpAzureAd.cs @@ -25,13 +25,9 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.IdpAzureAd("default", new() /// { + /// Name = "Azure AD", /// ClientId = "9065bfc8-a08a...", /// ClientSecret = "H2n***", - /// EmailVerified = true, - /// IsAutoCreation = false, - /// IsAutoUpdate = true, - /// IsCreationAllowed = true, - /// IsLinkingAllowed = false, /// Scopes = new[] /// { /// "openid", @@ -40,6 +36,11 @@ namespace Pulumiverse.Zitadel /// "User.Read", /// }, /// TenantType = "AZURE_AD_TENANT_TYPE_ORGANISATIONS", + /// EmailVerified = true, + /// IsLinkingAllowed = false, + /// IsCreationAllowed = true, + /// IsAutoCreation = false, + /// IsAutoUpdate = true, /// }); /// /// }); diff --git a/sdk/dotnet/IdpGithub.cs b/sdk/dotnet/IdpGithub.cs index ff8ca29..5140980 100644 --- a/sdk/dotnet/IdpGithub.cs +++ b/sdk/dotnet/IdpGithub.cs @@ -25,18 +25,19 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.IdpGithub("default", new() /// { + /// Name = "GitHub", /// ClientId = "86a165...", /// ClientSecret = "*****afdbac18", - /// IsAutoCreation = false, - /// IsAutoUpdate = true, - /// IsCreationAllowed = true, - /// IsLinkingAllowed = false, /// Scopes = new[] /// { /// "openid", /// "profile", /// "email", /// }, + /// IsLinkingAllowed = false, + /// IsCreationAllowed = true, + /// IsAutoCreation = false, + /// IsAutoUpdate = true, /// }); /// /// }); diff --git a/sdk/dotnet/IdpGithubEs.cs b/sdk/dotnet/IdpGithubEs.cs index e4da5a4..4ed4e6f 100644 --- a/sdk/dotnet/IdpGithubEs.cs +++ b/sdk/dotnet/IdpGithubEs.cs @@ -25,21 +25,22 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.IdpGithubEs("default", new() /// { - /// AuthorizationEndpoint = "https://auth.endpoint", + /// Name = "GitHub Enterprise Server", /// ClientId = "86a165...", /// ClientSecret = "*****afdbac18", - /// IsAutoCreation = false, - /// IsAutoUpdate = true, - /// IsCreationAllowed = true, - /// IsLinkingAllowed = false, /// Scopes = new[] /// { /// "openid", /// "profile", /// "email", /// }, + /// AuthorizationEndpoint = "https://auth.endpoint", /// TokenEndpoint = "https://token.endpoint", /// UserEndpoint = "https://user.endpoint", + /// IsLinkingAllowed = false, + /// IsCreationAllowed = true, + /// IsAutoCreation = false, + /// IsAutoUpdate = true, /// }); /// /// }); diff --git a/sdk/dotnet/IdpGitlab.cs b/sdk/dotnet/IdpGitlab.cs index c3f1eac..f1c6e77 100644 --- a/sdk/dotnet/IdpGitlab.cs +++ b/sdk/dotnet/IdpGitlab.cs @@ -25,18 +25,19 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.IdpGitlab("default", new() /// { + /// Name = "GitLab", /// ClientId = "15765e...", /// ClientSecret = "*****abcxyz", - /// IsAutoCreation = false, - /// IsAutoUpdate = true, - /// IsCreationAllowed = true, - /// IsLinkingAllowed = false, /// Scopes = new[] /// { /// "openid", /// "profile", /// "email", /// }, + /// IsLinkingAllowed = false, + /// IsCreationAllowed = true, + /// IsAutoCreation = false, + /// IsAutoUpdate = true, /// }); /// /// }); diff --git a/sdk/dotnet/IdpGitlabSelfHosted.cs b/sdk/dotnet/IdpGitlabSelfHosted.cs index d94f4e2..9ee963f 100644 --- a/sdk/dotnet/IdpGitlabSelfHosted.cs +++ b/sdk/dotnet/IdpGitlabSelfHosted.cs @@ -25,19 +25,20 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.IdpGitlabSelfHosted("default", new() /// { + /// Name = "GitLab Self Hosted", /// ClientId = "15765e...", /// ClientSecret = "*****abcxyz", - /// IsAutoCreation = false, - /// IsAutoUpdate = true, - /// IsCreationAllowed = true, - /// IsLinkingAllowed = false, - /// Issuer = "https://my.issuer", /// Scopes = new[] /// { /// "openid", /// "profile", /// "email", /// }, + /// Issuer = "https://my.issuer", + /// IsLinkingAllowed = false, + /// IsCreationAllowed = true, + /// IsAutoCreation = false, + /// IsAutoUpdate = true, /// }); /// /// }); diff --git a/sdk/dotnet/IdpGoogle.cs b/sdk/dotnet/IdpGoogle.cs index 7e1b9e9..0d4b656 100644 --- a/sdk/dotnet/IdpGoogle.cs +++ b/sdk/dotnet/IdpGoogle.cs @@ -25,18 +25,19 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.IdpGoogle("default", new() /// { + /// Name = "Google", /// ClientId = "182902...", /// ClientSecret = "GOCSPX-*****", - /// IsAutoCreation = false, - /// IsAutoUpdate = true, - /// IsCreationAllowed = true, - /// IsLinkingAllowed = false, /// Scopes = new[] /// { /// "openid", /// "profile", /// "email", /// }, + /// IsLinkingAllowed = false, + /// IsCreationAllowed = true, + /// IsAutoCreation = false, + /// IsAutoUpdate = true, /// }); /// /// }); diff --git a/sdk/dotnet/IdpLdap.cs b/sdk/dotnet/IdpLdap.cs index 32ba757..f0365ed 100644 --- a/sdk/dotnet/IdpLdap.cs +++ b/sdk/dotnet/IdpLdap.cs @@ -25,33 +25,34 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.IdpLdap("default", new() /// { - /// BaseDn = "dc=example,dc=com", - /// BindDn = "cn=admin,dc=example,dc=com", - /// BindPassword = "Password1!", - /// FirstNameAttribute = "firstname", - /// IdAttribute = "uid", - /// IsAutoCreation = false, - /// IsAutoUpdate = true, - /// IsCreationAllowed = true, - /// IsLinkingAllowed = false, - /// LastNameAttribute = "lastname", + /// Name = "LDAP", /// Servers = new[] /// { /// "ldaps://my.primary.server:389", /// "ldaps://my.secondary.server:389", /// }, /// StartTls = false, - /// Timeout = "10s", + /// BaseDn = "dc=example,dc=com", + /// BindDn = "cn=admin,dc=example,dc=com", + /// BindPassword = "Password1!", /// UserBase = "dn", + /// UserObjectClasses = new[] + /// { + /// "inetOrgPerson", + /// }, /// UserFilters = new[] /// { /// "uid", /// "email", /// }, - /// UserObjectClasses = new[] - /// { - /// "inetOrgPerson", - /// }, + /// Timeout = "10s", + /// IdAttribute = "uid", + /// FirstNameAttribute = "firstname", + /// LastNameAttribute = "lastname", + /// IsLinkingAllowed = false, + /// IsCreationAllowed = true, + /// IsAutoCreation = false, + /// IsAutoUpdate = true, /// }); /// /// }); diff --git a/sdk/dotnet/InstanceMember.cs b/sdk/dotnet/InstanceMember.cs index b57ea94..332b9c7 100644 --- a/sdk/dotnet/InstanceMember.cs +++ b/sdk/dotnet/InstanceMember.cs @@ -25,7 +25,7 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.InstanceMember("default", new() /// { - /// UserId = data.Zitadel_human_user.Default.Id, + /// UserId = defaultZitadelHumanUser.Id, /// Roles = new[] /// { /// "IAM_OWNER", diff --git a/sdk/dotnet/LockoutPolicy.cs b/sdk/dotnet/LockoutPolicy.cs index 27e3ce1..472eab3 100644 --- a/sdk/dotnet/LockoutPolicy.cs +++ b/sdk/dotnet/LockoutPolicy.cs @@ -25,7 +25,7 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.LockoutPolicy("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// MaxPasswordAttempts = 5, /// }); /// diff --git a/sdk/dotnet/LoginPolicy.cs b/sdk/dotnet/LoginPolicy.cs index 3fd2f08..728df87 100644 --- a/sdk/dotnet/LoginPolicy.cs +++ b/sdk/dotnet/LoginPolicy.cs @@ -25,7 +25,7 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.LoginPolicy("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// UserLogin = true, /// AllowRegister = true, /// AllowExternalIdp = true, @@ -51,8 +51,8 @@ namespace Pulumiverse.Zitadel /// }, /// Idps = new[] /// { - /// data.Zitadel_idp_google.Default.Id, - /// data.Zitadel_idp_azure_ad.Default.Id, + /// defaultZitadelIdpGoogle.Id, + /// defaultZitadelIdpAzureAd.Id, /// }, /// AllowDomainDiscovery = true, /// DisableLoginWithEmail = true, diff --git a/sdk/dotnet/MachineKey.cs b/sdk/dotnet/MachineKey.cs index da0cf1e..387368e 100644 --- a/sdk/dotnet/MachineKey.cs +++ b/sdk/dotnet/MachineKey.cs @@ -25,8 +25,8 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.MachineKey("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, - /// UserId = data.Zitadel_machine_user.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// UserId = defaultZitadelMachineUser.Id, /// KeyType = "KEY_TYPE_JSON", /// ExpirationDate = "2519-04-01T08:45:00Z", /// }); diff --git a/sdk/dotnet/MachineUser.cs b/sdk/dotnet/MachineUser.cs index 52cb2e9..f56a647 100644 --- a/sdk/dotnet/MachineUser.cs +++ b/sdk/dotnet/MachineUser.cs @@ -25,8 +25,9 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.MachineUser("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// UserName = "machine@example.com", + /// Name = "name", /// Description = "a machine user", /// WithSecret = false, /// }); diff --git a/sdk/dotnet/NotificationPolicy.cs b/sdk/dotnet/NotificationPolicy.cs index 9696e93..996c1d4 100644 --- a/sdk/dotnet/NotificationPolicy.cs +++ b/sdk/dotnet/NotificationPolicy.cs @@ -25,7 +25,7 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.NotificationPolicy("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// PasswordChange = false, /// }); /// diff --git a/sdk/dotnet/Org.cs b/sdk/dotnet/Org.cs index 0643f36..302e731 100644 --- a/sdk/dotnet/Org.cs +++ b/sdk/dotnet/Org.cs @@ -23,7 +23,10 @@ namespace Pulumiverse.Zitadel /// /// return await Deployment.RunAsync(() => /// { - /// var @default = new Zitadel.Org("default"); + /// var @default = new Zitadel.Org("default", new() + /// { + /// Name = "terraform-test", + /// }); /// /// }); /// ``` diff --git a/sdk/dotnet/OrgIdpAzureAd.cs b/sdk/dotnet/OrgIdpAzureAd.cs index c5ab66b..f18e680 100644 --- a/sdk/dotnet/OrgIdpAzureAd.cs +++ b/sdk/dotnet/OrgIdpAzureAd.cs @@ -25,7 +25,8 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.OrgIdpAzureAd("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// Name = "Azure AD", /// ClientId = "9065bfc8-a08a...", /// ClientSecret = "H2n***", /// Scopes = new[] diff --git a/sdk/dotnet/OrgIdpGithub.cs b/sdk/dotnet/OrgIdpGithub.cs index 3661764..103b3d8 100644 --- a/sdk/dotnet/OrgIdpGithub.cs +++ b/sdk/dotnet/OrgIdpGithub.cs @@ -25,7 +25,8 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.OrgIdpGithub("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// Name = "GitHub", /// ClientId = "86a165...", /// ClientSecret = "*****afdbac18", /// Scopes = new[] diff --git a/sdk/dotnet/OrgIdpGithubEs.cs b/sdk/dotnet/OrgIdpGithubEs.cs index d374671..e100d90 100644 --- a/sdk/dotnet/OrgIdpGithubEs.cs +++ b/sdk/dotnet/OrgIdpGithubEs.cs @@ -25,7 +25,8 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.OrgIdpGithubEs("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// Name = "GitHub Enterprise Server", /// ClientId = "86a165...", /// ClientSecret = "*****afdbac18", /// Scopes = new[] diff --git a/sdk/dotnet/OrgIdpGitlab.cs b/sdk/dotnet/OrgIdpGitlab.cs index ee6bd15..708ed34 100644 --- a/sdk/dotnet/OrgIdpGitlab.cs +++ b/sdk/dotnet/OrgIdpGitlab.cs @@ -25,7 +25,8 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.OrgIdpGitlab("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// Name = "GitLab", /// ClientId = "15765e...", /// ClientSecret = "*****abcxyz", /// Scopes = new[] diff --git a/sdk/dotnet/OrgIdpGitlabSelfHosted.cs b/sdk/dotnet/OrgIdpGitlabSelfHosted.cs index 8cac566..4186c1b 100644 --- a/sdk/dotnet/OrgIdpGitlabSelfHosted.cs +++ b/sdk/dotnet/OrgIdpGitlabSelfHosted.cs @@ -25,7 +25,8 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.OrgIdpGitlabSelfHosted("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// Name = "GitLab Self Hosted", /// ClientId = "15765e...", /// ClientSecret = "*****abcxyz", /// Scopes = new[] diff --git a/sdk/dotnet/OrgIdpGoogle.cs b/sdk/dotnet/OrgIdpGoogle.cs index 0cccd4d..602e6e4 100644 --- a/sdk/dotnet/OrgIdpGoogle.cs +++ b/sdk/dotnet/OrgIdpGoogle.cs @@ -25,7 +25,8 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.OrgIdpGoogle("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// Name = "Google", /// ClientId = "182902...", /// ClientSecret = "GOCSPX-*****", /// Scopes = new[] diff --git a/sdk/dotnet/OrgIdpJwt.cs b/sdk/dotnet/OrgIdpJwt.cs index 4841dea..8404f37 100644 --- a/sdk/dotnet/OrgIdpJwt.cs +++ b/sdk/dotnet/OrgIdpJwt.cs @@ -25,7 +25,8 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.OrgIdpJwt("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// Name = "jwtidp", /// StylingType = "STYLING_TYPE_UNSPECIFIED", /// JwtEndpoint = "https://jwtendpoint.com/jwt", /// Issuer = "https://google.com", diff --git a/sdk/dotnet/OrgIdpLdap.cs b/sdk/dotnet/OrgIdpLdap.cs index be13b38..b461659 100644 --- a/sdk/dotnet/OrgIdpLdap.cs +++ b/sdk/dotnet/OrgIdpLdap.cs @@ -25,7 +25,8 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.OrgIdpLdap("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// Name = "LDAP", /// Servers = new[] /// { /// "ldaps://my.primary.server:389", diff --git a/sdk/dotnet/OrgIdpOidc.cs b/sdk/dotnet/OrgIdpOidc.cs index bf8b70f..06dab70 100644 --- a/sdk/dotnet/OrgIdpOidc.cs +++ b/sdk/dotnet/OrgIdpOidc.cs @@ -25,7 +25,8 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.OrgIdpOidc("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// Name = "My Generic OIDC IDP", /// ClientId = "a_client_id", /// ClientSecret = "a_client_secret", /// Scopes = new[] diff --git a/sdk/dotnet/OrgMember.cs b/sdk/dotnet/OrgMember.cs index be54dce..e75effb 100644 --- a/sdk/dotnet/OrgMember.cs +++ b/sdk/dotnet/OrgMember.cs @@ -25,8 +25,8 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.OrgMember("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, - /// UserId = data.Zitadel_human_user.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// UserId = defaultZitadelHumanUser.Id, /// Roles = new[] /// { /// "ORG_OWNER", diff --git a/sdk/dotnet/PasswordComplexityPolicy.cs b/sdk/dotnet/PasswordComplexityPolicy.cs index 1796429..7a6f97b 100644 --- a/sdk/dotnet/PasswordComplexityPolicy.cs +++ b/sdk/dotnet/PasswordComplexityPolicy.cs @@ -25,7 +25,7 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.PasswordComplexityPolicy("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// MinLength = 8, /// HasUppercase = true, /// HasLowercase = true, diff --git a/sdk/dotnet/PersonalAccessToken.cs b/sdk/dotnet/PersonalAccessToken.cs index da30d90..032d4e1 100644 --- a/sdk/dotnet/PersonalAccessToken.cs +++ b/sdk/dotnet/PersonalAccessToken.cs @@ -25,8 +25,8 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.PersonalAccessToken("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, - /// UserId = data.Zitadel_machine_user.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// UserId = defaultZitadelMachineUser.Id, /// ExpirationDate = "2519-04-01T08:45:00Z", /// }); /// diff --git a/sdk/dotnet/PrivacyPolicy.cs b/sdk/dotnet/PrivacyPolicy.cs index e5e7aa2..133d1e0 100644 --- a/sdk/dotnet/PrivacyPolicy.cs +++ b/sdk/dotnet/PrivacyPolicy.cs @@ -25,7 +25,7 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.PrivacyPolicy("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// TosLink = "https://example.com/tos", /// PrivacyLink = "https://example.com/privacy", /// HelpLink = "https://example.com/help", diff --git a/sdk/dotnet/Project.cs b/sdk/dotnet/Project.cs index 545677c..66d9789 100644 --- a/sdk/dotnet/Project.cs +++ b/sdk/dotnet/Project.cs @@ -25,7 +25,8 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.Project("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// Name = "projectname", + /// OrgId = defaultZitadelOrg.Id, /// ProjectRoleAssertion = true, /// ProjectRoleCheck = true, /// HasProjectCheck = true, diff --git a/sdk/dotnet/ProjectGrant.cs b/sdk/dotnet/ProjectGrant.cs index 3067470..675e35a 100644 --- a/sdk/dotnet/ProjectGrant.cs +++ b/sdk/dotnet/ProjectGrant.cs @@ -25,9 +25,9 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.ProjectGrant("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, - /// ProjectId = data.Zitadel_project.Default.Id, - /// GrantedOrgId = data.Zitadel_org.Granted_org.Id, + /// OrgId = defaultZitadelOrg.Id, + /// ProjectId = defaultZitadelProject.Id, + /// GrantedOrgId = grantedOrg.Id, /// RoleKeys = new[] /// { /// "super-user", diff --git a/sdk/dotnet/ProjectGrantMember.cs b/sdk/dotnet/ProjectGrantMember.cs index 90a0ee2..95df20c 100644 --- a/sdk/dotnet/ProjectGrantMember.cs +++ b/sdk/dotnet/ProjectGrantMember.cs @@ -25,9 +25,9 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.ProjectGrantMember("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, - /// ProjectId = data.Zitadel_project.Default.Id, - /// UserId = data.Zitadel_human_user.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// ProjectId = defaultZitadelProject.Id, + /// UserId = defaultZitadelHumanUser.Id, /// GrantId = "123456789012345678", /// Roles = new[] /// { diff --git a/sdk/dotnet/ProjectMember.cs b/sdk/dotnet/ProjectMember.cs index 0e559fd..70a8d00 100644 --- a/sdk/dotnet/ProjectMember.cs +++ b/sdk/dotnet/ProjectMember.cs @@ -25,9 +25,9 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.ProjectMember("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, - /// ProjectId = data.Zitadel_project.Default.Id, - /// UserId = data.Zitadel_human_user.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// ProjectId = defaultZitadelProject.Id, + /// UserId = defaultZitadelHumanUser.Id, /// Roles = new[] /// { /// "PROJECT_OWNER", diff --git a/sdk/dotnet/ProjectRole.cs b/sdk/dotnet/ProjectRole.cs index 5eb35a2..2885fa2 100644 --- a/sdk/dotnet/ProjectRole.cs +++ b/sdk/dotnet/ProjectRole.cs @@ -25,8 +25,8 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.ProjectRole("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, - /// ProjectId = data.Zitadel_project.Default.Id, + /// OrgId = defaultZitadelOrg.Id, + /// ProjectId = defaultZitadelProject.Id, /// RoleKey = "super-user", /// DisplayName = "display_name2", /// Group = "role_group", diff --git a/sdk/dotnet/Pulumiverse.Zitadel.csproj b/sdk/dotnet/Pulumiverse.Zitadel.csproj index 288497c..b7738f8 100644 --- a/sdk/dotnet/Pulumiverse.Zitadel.csproj +++ b/sdk/dotnet/Pulumiverse.Zitadel.csproj @@ -9,6 +9,7 @@ https://www.pulumi.com https://github.com/pulumiverse/pulumi-zitadel logo.png + 0.0.0-alpha.0+dev net6.0 enable diff --git a/sdk/dotnet/SmsProviderTwilio.cs b/sdk/dotnet/SmsProviderTwilio.cs index 5c31a75..a4ce93e 100644 --- a/sdk/dotnet/SmsProviderTwilio.cs +++ b/sdk/dotnet/SmsProviderTwilio.cs @@ -25,8 +25,8 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.SmsProviderTwilio("default", new() /// { - /// SenderNumber = "019920892", /// Sid = "sid", + /// SenderNumber = "019920892", /// Token = "twilio_token", /// }); /// diff --git a/sdk/dotnet/SmtpConfig.cs b/sdk/dotnet/SmtpConfig.cs index 00d0256..f1d78bd 100644 --- a/sdk/dotnet/SmtpConfig.cs +++ b/sdk/dotnet/SmtpConfig.cs @@ -25,13 +25,13 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.SmtpConfig("default", new() /// { - /// Host = "localhost:25", - /// Password = "secret_password", - /// ReplyToAddress = "replyto@example.com", /// SenderAddress = "sender@example.com", /// SenderName = "no-reply", /// Tls = true, + /// Host = "localhost:25", /// User = "user", + /// Password = "secret_password", + /// ReplyToAddress = "replyto@example.com", /// }); /// /// }); diff --git a/sdk/dotnet/TriggerActions.cs b/sdk/dotnet/TriggerActions.cs index fcaf8fc..ff79695 100644 --- a/sdk/dotnet/TriggerActions.cs +++ b/sdk/dotnet/TriggerActions.cs @@ -25,12 +25,12 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.TriggerActions("default", new() /// { - /// OrgId = data.Zitadel_org.Default.Id, + /// OrgId = defaultZitadelOrg.Id, /// FlowType = "FLOW_TYPE_CUSTOMISE_TOKEN", /// TriggerType = "TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION", /// ActionIds = new[] /// { - /// data.Zitadel_action.Default.Id, + /// defaultZitadelAction.Id, /// }, /// }); /// diff --git a/sdk/dotnet/UserGrant.cs b/sdk/dotnet/UserGrant.cs index b62ac2e..57825fa 100644 --- a/sdk/dotnet/UserGrant.cs +++ b/sdk/dotnet/UserGrant.cs @@ -25,13 +25,13 @@ namespace Pulumiverse.Zitadel /// { /// var @default = new Zitadel.UserGrant("default", new() /// { - /// ProjectId = data.Zitadel_project.Default.Id, - /// OrgId = data.Zitadel_org.Default.Id, + /// ProjectId = defaultZitadelProject.Id, + /// OrgId = defaultZitadelOrg.Id, /// RoleKeys = new[] /// { /// "super-user", /// }, - /// UserId = data.Zitadel_human_user.Default.Id, + /// UserId = defaultZitadelHumanUser.Id, /// }); /// /// }); diff --git a/sdk/dotnet/go.mod b/sdk/dotnet/go.mod new file mode 100644 index 0000000..ba42947 --- /dev/null +++ b/sdk/dotnet/go.mod @@ -0,0 +1,3 @@ +module fake_dotnet_module // Exclude this directory from Go tools + +go 1.17 diff --git a/sdk/dotnet/pulumi-plugin.json b/sdk/dotnet/pulumi-plugin.json index 6a69d3d..09ed54e 100644 --- a/sdk/dotnet/pulumi-plugin.json +++ b/sdk/dotnet/pulumi-plugin.json @@ -1,5 +1,6 @@ { "resource": true, "name": "zitadel", + "version": "0.0.0-alpha.0+dev", "server": "github://api.github.com/pulumiverse" } diff --git a/sdk/go/zitadel/action.go b/sdk/go/zitadel/action.go index 7c65ec2..51e251e 100644 --- a/sdk/go/zitadel/action.go +++ b/sdk/go/zitadel/action.go @@ -30,7 +30,8 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := zitadel.NewAction(ctx, "default", &zitadel.ActionArgs{ -// OrgId: pulumi.Any(data.Zitadel_org.Default.Id), +// OrgId: pulumi.Any(defaultZitadelOrg.Id), +// Name: pulumi.String("actionname"), // Script: pulumi.String("testscript"), // Timeout: pulumi.String("10s"), // AllowedToFail: pulumi.Bool(true), diff --git a/sdk/go/zitadel/applicationApi.go b/sdk/go/zitadel/applicationApi.go index 7a5c707..9854121 100644 --- a/sdk/go/zitadel/applicationApi.go +++ b/sdk/go/zitadel/applicationApi.go @@ -30,8 +30,9 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := zitadel.NewApplicationApi(ctx, "default", &zitadel.ApplicationApiArgs{ -// OrgId: pulumi.Any(data.Zitadel_org.Default.Id), -// ProjectId: pulumi.Any(data.Zitadel_project.Default.Id), +// OrgId: pulumi.Any(defaultZitadelOrg.Id), +// ProjectId: pulumi.Any(defaultZitadelProject.Id), +// Name: pulumi.String("applicationapi"), // AuthMethodType: pulumi.String("API_AUTH_METHOD_TYPE_BASIC"), // }) // if err != nil { diff --git a/sdk/go/zitadel/applicationKey.go b/sdk/go/zitadel/applicationKey.go index 32fd68a..d4591e0 100644 --- a/sdk/go/zitadel/applicationKey.go +++ b/sdk/go/zitadel/applicationKey.go @@ -30,9 +30,9 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := zitadel.NewApplicationKey(ctx, "default", &zitadel.ApplicationKeyArgs{ -// OrgId: pulumi.Any(data.Zitadel_org.Default.Id), -// ProjectId: pulumi.Any(data.Zitadel_project.Default.Id), -// AppId: pulumi.Any(data.Zitadel_application_api.Default.Id), +// OrgId: pulumi.Any(defaultZitadelOrg.Id), +// ProjectId: pulumi.Any(defaultZitadelProject.Id), +// AppId: pulumi.Any(defaultZitadelApplicationApi.Id), // KeyType: pulumi.String("KEY_TYPE_JSON"), // ExpirationDate: pulumi.String("2519-04-01T08:45:00Z"), // }) diff --git a/sdk/go/zitadel/applicationOidc.go b/sdk/go/zitadel/applicationOidc.go index ea4df19..2eb61f0 100644 --- a/sdk/go/zitadel/applicationOidc.go +++ b/sdk/go/zitadel/applicationOidc.go @@ -30,8 +30,9 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := zitadel.NewApplicationOidc(ctx, "default", &zitadel.ApplicationOidcArgs{ -// ProjectId: pulumi.Any(data.Zitadel_project.Default.Id), -// OrgId: pulumi.Any(data.Zitadel_org.Default.Id), +// ProjectId: pulumi.Any(defaultZitadelProject.Id), +// OrgId: pulumi.Any(defaultZitadelOrg.Id), +// Name: pulumi.String("applicationoidc"), // RedirectUris: pulumi.StringArray{ // pulumi.String("https://localhost.com"), // }, diff --git a/sdk/go/zitadel/applicationSaml.go b/sdk/go/zitadel/applicationSaml.go index 86fad66..1dc5cf0 100644 --- a/sdk/go/zitadel/applicationSaml.go +++ b/sdk/go/zitadel/applicationSaml.go @@ -30,8 +30,9 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := zitadel.NewApplicationSaml(ctx, "default", &zitadel.ApplicationSamlArgs{ -// OrgId: pulumi.Any(data.Zitadel_org.Default.Id), -// ProjectId: pulumi.Any(data.Zitadel_project.Default.Id), +// OrgId: pulumi.Any(defaultZitadelOrg.Id), +// ProjectId: pulumi.Any(defaultZitadelProject.Id), +// Name: pulumi.String("applicationapi"), // MetadataXml: pulumi.String(` // // * ({ ...__obj, [__key]: zitadel.getOrg({ + * id: __value, + * }) })); + * export const orgNames = notImplemented(`toset([ + * fororgindata.zitadel_org.default:org.name + * ])`); + * ``` */ export function getOrgs(args?: GetOrgsArgs, opts?: pulumi.InvokeOptions): Promise { args = args || {}; @@ -85,6 +110,31 @@ export interface GetOrgsResult { } /** * Datasource representing an organization in ZITADEL, which is the highest level after the instance and contains several other resource including policies if the configuration differs to the default policies on the instance. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as zitadel from "@pulumi/zitadel"; + * + * function notImplemented(message: string) { + * throw new Error(message); + * } + * + * const default = zitadel.getOrgs({ + * name: "example-name", + * nameMethod: "TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE", + * domain: "example.com", + * domainMethod: "TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE", + * state: "ORG_STATE_ACTIVE", + * }); + * const defaultGetOrg = .reduce((__obj, [, ]) => ({ ...__obj, [__key]: zitadel.getOrg({ + * id: __value, + * }) })); + * export const orgNames = notImplemented(`toset([ + * fororgindata.zitadel_org.default:org.name + * ])`); + * ``` */ export function getOrgsOutput(args?: GetOrgsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { return pulumi.output(args).apply((a: any) => getOrgs(a, opts)) diff --git a/sdk/nodejs/getProject.ts b/sdk/nodejs/getProject.ts index a519192..2304c27 100644 --- a/sdk/nodejs/getProject.ts +++ b/sdk/nodejs/getProject.ts @@ -14,7 +14,7 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumi/zitadel"; * * const default = zitadel.getProject({ - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, * projectId: "123456789012345678", * }); * ``` @@ -93,7 +93,7 @@ export interface GetProjectResult { * import * as zitadel from "@pulumi/zitadel"; * * const default = zitadel.getProject({ - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, * projectId: "123456789012345678", * }); * ``` diff --git a/sdk/nodejs/getProjectRole.ts b/sdk/nodejs/getProjectRole.ts index 7fb5cd0..5f95666 100644 --- a/sdk/nodejs/getProjectRole.ts +++ b/sdk/nodejs/getProjectRole.ts @@ -14,8 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumi/zitadel"; * * const default = zitadel.getProjectRole({ - * orgId: data.zitadel_org["default"].id, - * projectId: data.zitadel_project["default"].id, + * orgId: defaultZitadelOrg.id, + * projectId: defaultZitadelProject.id, * roleKey: "key", * }); * export const projectRole = _default; @@ -88,8 +88,8 @@ export interface GetProjectRoleResult { * import * as zitadel from "@pulumi/zitadel"; * * const default = zitadel.getProjectRole({ - * orgId: data.zitadel_org["default"].id, - * projectId: data.zitadel_project["default"].id, + * orgId: defaultZitadelOrg.id, + * projectId: defaultZitadelProject.id, * roleKey: "key", * }); * export const projectRole = _default; diff --git a/sdk/nodejs/getTriggerActions.ts b/sdk/nodejs/getTriggerActions.ts index 8918939..70d3049 100644 --- a/sdk/nodejs/getTriggerActions.ts +++ b/sdk/nodejs/getTriggerActions.ts @@ -14,7 +14,7 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumi/zitadel"; * * const default = zitadel.getTriggerActions({ - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, * flowType: "FLOW_TYPE_EXTERNAL_AUTHENTICATION", * triggerType: "TRIGGER_TYPE_POST_AUTHENTICATION", * }); @@ -84,7 +84,7 @@ export interface GetTriggerActionsResult { * import * as zitadel from "@pulumi/zitadel"; * * const default = zitadel.getTriggerActions({ - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, * flowType: "FLOW_TYPE_EXTERNAL_AUTHENTICATION", * triggerType: "TRIGGER_TYPE_POST_AUTHENTICATION", * }); diff --git a/sdk/nodejs/go.mod b/sdk/nodejs/go.mod new file mode 100644 index 0000000..104eb1a --- /dev/null +++ b/sdk/nodejs/go.mod @@ -0,0 +1,3 @@ +module fake_nodejs_module // Exclude this directory from Go tools + +go 1.17 diff --git a/sdk/nodejs/humanUser.ts b/sdk/nodejs/humanUser.ts index b6b5fa8..74afcc3 100644 --- a/sdk/nodejs/humanUser.ts +++ b/sdk/nodejs/humanUser.ts @@ -16,7 +16,7 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.HumanUser("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, * userName: "humanfull@localhost.com", * firstName: "firstname", * lastName: "lastname", diff --git a/sdk/nodejs/idpAzureAd.ts b/sdk/nodejs/idpAzureAd.ts index 2a714f4..d542494 100644 --- a/sdk/nodejs/idpAzureAd.ts +++ b/sdk/nodejs/idpAzureAd.ts @@ -14,13 +14,9 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.IdpAzureAd("default", { + * name: "Azure AD", * clientId: "9065bfc8-a08a...", * clientSecret: "H2n***", - * emailVerified: true, - * isAutoCreation: false, - * isAutoUpdate: true, - * isCreationAllowed: true, - * isLinkingAllowed: false, * scopes: [ * "openid", * "profile", @@ -28,6 +24,11 @@ import * as utilities from "./utilities"; * "User.Read", * ], * tenantType: "AZURE_AD_TENANT_TYPE_ORGANISATIONS", + * emailVerified: true, + * isLinkingAllowed: false, + * isCreationAllowed: true, + * isAutoCreation: false, + * isAutoUpdate: true, * }); * ``` * diff --git a/sdk/nodejs/idpGithub.ts b/sdk/nodejs/idpGithub.ts index efa169a..d6ceae8 100644 --- a/sdk/nodejs/idpGithub.ts +++ b/sdk/nodejs/idpGithub.ts @@ -14,17 +14,18 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.IdpGithub("default", { + * name: "GitHub", * clientId: "86a165...", * clientSecret: "*****afdbac18", - * isAutoCreation: false, - * isAutoUpdate: true, - * isCreationAllowed: true, - * isLinkingAllowed: false, * scopes: [ * "openid", * "profile", * "email", * ], + * isLinkingAllowed: false, + * isCreationAllowed: true, + * isAutoCreation: false, + * isAutoUpdate: true, * }); * ``` * diff --git a/sdk/nodejs/idpGithubEs.ts b/sdk/nodejs/idpGithubEs.ts index 62302ba..eb1c05d 100644 --- a/sdk/nodejs/idpGithubEs.ts +++ b/sdk/nodejs/idpGithubEs.ts @@ -14,20 +14,21 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.IdpGithubEs("default", { - * authorizationEndpoint: "https://auth.endpoint", + * name: "GitHub Enterprise Server", * clientId: "86a165...", * clientSecret: "*****afdbac18", - * isAutoCreation: false, - * isAutoUpdate: true, - * isCreationAllowed: true, - * isLinkingAllowed: false, * scopes: [ * "openid", * "profile", * "email", * ], + * authorizationEndpoint: "https://auth.endpoint", * tokenEndpoint: "https://token.endpoint", * userEndpoint: "https://user.endpoint", + * isLinkingAllowed: false, + * isCreationAllowed: true, + * isAutoCreation: false, + * isAutoUpdate: true, * }); * ``` * diff --git a/sdk/nodejs/idpGitlab.ts b/sdk/nodejs/idpGitlab.ts index 6515f06..e1f2550 100644 --- a/sdk/nodejs/idpGitlab.ts +++ b/sdk/nodejs/idpGitlab.ts @@ -14,17 +14,18 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.IdpGitlab("default", { + * name: "GitLab", * clientId: "15765e...", * clientSecret: "*****abcxyz", - * isAutoCreation: false, - * isAutoUpdate: true, - * isCreationAllowed: true, - * isLinkingAllowed: false, * scopes: [ * "openid", * "profile", * "email", * ], + * isLinkingAllowed: false, + * isCreationAllowed: true, + * isAutoCreation: false, + * isAutoUpdate: true, * }); * ``` * diff --git a/sdk/nodejs/idpGitlabSelfHosted.ts b/sdk/nodejs/idpGitlabSelfHosted.ts index 63a7d79..c2eba8c 100644 --- a/sdk/nodejs/idpGitlabSelfHosted.ts +++ b/sdk/nodejs/idpGitlabSelfHosted.ts @@ -14,18 +14,19 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.IdpGitlabSelfHosted("default", { + * name: "GitLab Self Hosted", * clientId: "15765e...", * clientSecret: "*****abcxyz", - * isAutoCreation: false, - * isAutoUpdate: true, - * isCreationAllowed: true, - * isLinkingAllowed: false, - * issuer: "https://my.issuer", * scopes: [ * "openid", * "profile", * "email", * ], + * issuer: "https://my.issuer", + * isLinkingAllowed: false, + * isCreationAllowed: true, + * isAutoCreation: false, + * isAutoUpdate: true, * }); * ``` * diff --git a/sdk/nodejs/idpGoogle.ts b/sdk/nodejs/idpGoogle.ts index 049caa6..ead9473 100644 --- a/sdk/nodejs/idpGoogle.ts +++ b/sdk/nodejs/idpGoogle.ts @@ -14,17 +14,18 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.IdpGoogle("default", { + * name: "Google", * clientId: "182902...", * clientSecret: "GOCSPX-*****", - * isAutoCreation: false, - * isAutoUpdate: true, - * isCreationAllowed: true, - * isLinkingAllowed: false, * scopes: [ * "openid", * "profile", * "email", * ], + * isLinkingAllowed: false, + * isCreationAllowed: true, + * isAutoCreation: false, + * isAutoUpdate: true, * }); * ``` * diff --git a/sdk/nodejs/idpLdap.ts b/sdk/nodejs/idpLdap.ts index 39d2e77..9a5c1fe 100644 --- a/sdk/nodejs/idpLdap.ts +++ b/sdk/nodejs/idpLdap.ts @@ -14,28 +14,29 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.IdpLdap("default", { - * baseDn: "dc=example,dc=com", - * bindDn: "cn=admin,dc=example,dc=com", - * bindPassword: "Password1!", - * firstNameAttribute: "firstname", - * idAttribute: "uid", - * isAutoCreation: false, - * isAutoUpdate: true, - * isCreationAllowed: true, - * isLinkingAllowed: false, - * lastNameAttribute: "lastname", + * name: "LDAP", * servers: [ * "ldaps://my.primary.server:389", * "ldaps://my.secondary.server:389", * ], * startTls: false, - * timeout: "10s", + * baseDn: "dc=example,dc=com", + * bindDn: "cn=admin,dc=example,dc=com", + * bindPassword: "Password1!", * userBase: "dn", + * userObjectClasses: ["inetOrgPerson"], * userFilters: [ * "uid", * "email", * ], - * userObjectClasses: ["inetOrgPerson"], + * timeout: "10s", + * idAttribute: "uid", + * firstNameAttribute: "firstname", + * lastNameAttribute: "lastname", + * isLinkingAllowed: false, + * isCreationAllowed: true, + * isAutoCreation: false, + * isAutoUpdate: true, * }); * ``` * diff --git a/sdk/nodejs/instanceMember.ts b/sdk/nodejs/instanceMember.ts index 09f209b..1b9e7d6 100644 --- a/sdk/nodejs/instanceMember.ts +++ b/sdk/nodejs/instanceMember.ts @@ -14,7 +14,7 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.InstanceMember("default", { - * userId: data.zitadel_human_user["default"].id, + * userId: defaultZitadelHumanUser.id, * roles: ["IAM_OWNER"], * }); * ``` diff --git a/sdk/nodejs/lockoutPolicy.ts b/sdk/nodejs/lockoutPolicy.ts index 6f53f70..e320ccc 100644 --- a/sdk/nodejs/lockoutPolicy.ts +++ b/sdk/nodejs/lockoutPolicy.ts @@ -14,7 +14,7 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.LockoutPolicy("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, * maxPasswordAttempts: 5, * }); * ``` diff --git a/sdk/nodejs/loginPolicy.ts b/sdk/nodejs/loginPolicy.ts index 599073b..1d83c3c 100644 --- a/sdk/nodejs/loginPolicy.ts +++ b/sdk/nodejs/loginPolicy.ts @@ -14,7 +14,7 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.LoginPolicy("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, * userLogin: true, * allowRegister: true, * allowExternalIdp: true, @@ -35,8 +35,8 @@ import * as utilities from "./utilities"; * ], * multiFactors: ["MULTI_FACTOR_TYPE_U2F_WITH_VERIFICATION"], * idps: [ - * data.zitadel_idp_google["default"].id, - * data.zitadel_idp_azure_ad["default"].id, + * defaultZitadelIdpGoogle.id, + * defaultZitadelIdpAzureAd.id, * ], * allowDomainDiscovery: true, * disableLoginWithEmail: true, diff --git a/sdk/nodejs/machineKey.ts b/sdk/nodejs/machineKey.ts index ab5c474..85efa3c 100644 --- a/sdk/nodejs/machineKey.ts +++ b/sdk/nodejs/machineKey.ts @@ -14,8 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.MachineKey("default", { - * orgId: data.zitadel_org["default"].id, - * userId: data.zitadel_machine_user["default"].id, + * orgId: defaultZitadelOrg.id, + * userId: defaultZitadelMachineUser.id, * keyType: "KEY_TYPE_JSON", * expirationDate: "2519-04-01T08:45:00Z", * }); diff --git a/sdk/nodejs/machineUser.ts b/sdk/nodejs/machineUser.ts index 34e1078..6e6e4e6 100644 --- a/sdk/nodejs/machineUser.ts +++ b/sdk/nodejs/machineUser.ts @@ -14,8 +14,9 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.MachineUser("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, * userName: "machine@example.com", + * name: "name", * description: "a machine user", * withSecret: false, * }); diff --git a/sdk/nodejs/notificationPolicy.ts b/sdk/nodejs/notificationPolicy.ts index 6d3ef17..3d624a9 100644 --- a/sdk/nodejs/notificationPolicy.ts +++ b/sdk/nodejs/notificationPolicy.ts @@ -14,7 +14,7 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.NotificationPolicy("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, * passwordChange: false, * }); * ``` diff --git a/sdk/nodejs/org.ts b/sdk/nodejs/org.ts index ada7f39..aa37963 100644 --- a/sdk/nodejs/org.ts +++ b/sdk/nodejs/org.ts @@ -13,7 +13,7 @@ import * as utilities from "./utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as zitadel from "@pulumiverse/zitadel"; * - * const _default = new zitadel.Org("default", {}); + * const _default = new zitadel.Org("default", {name: "terraform-test"}); * ``` * * ## Import diff --git a/sdk/nodejs/orgIdpAzureAd.ts b/sdk/nodejs/orgIdpAzureAd.ts index c577a3d..67f3aec 100644 --- a/sdk/nodejs/orgIdpAzureAd.ts +++ b/sdk/nodejs/orgIdpAzureAd.ts @@ -14,7 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.OrgIdpAzureAd("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, + * name: "Azure AD", * clientId: "9065bfc8-a08a...", * clientSecret: "H2n***", * scopes: [ diff --git a/sdk/nodejs/orgIdpGithub.ts b/sdk/nodejs/orgIdpGithub.ts index 7435374..3f45601 100644 --- a/sdk/nodejs/orgIdpGithub.ts +++ b/sdk/nodejs/orgIdpGithub.ts @@ -14,7 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.OrgIdpGithub("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, + * name: "GitHub", * clientId: "86a165...", * clientSecret: "*****afdbac18", * scopes: [ diff --git a/sdk/nodejs/orgIdpGithubEs.ts b/sdk/nodejs/orgIdpGithubEs.ts index b829623..11a4752 100644 --- a/sdk/nodejs/orgIdpGithubEs.ts +++ b/sdk/nodejs/orgIdpGithubEs.ts @@ -14,7 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.OrgIdpGithubEs("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, + * name: "GitHub Enterprise Server", * clientId: "86a165...", * clientSecret: "*****afdbac18", * scopes: [ diff --git a/sdk/nodejs/orgIdpGitlab.ts b/sdk/nodejs/orgIdpGitlab.ts index b7808b8..bc6e03f 100644 --- a/sdk/nodejs/orgIdpGitlab.ts +++ b/sdk/nodejs/orgIdpGitlab.ts @@ -14,7 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.OrgIdpGitlab("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, + * name: "GitLab", * clientId: "15765e...", * clientSecret: "*****abcxyz", * scopes: [ diff --git a/sdk/nodejs/orgIdpGitlabSelfHosted.ts b/sdk/nodejs/orgIdpGitlabSelfHosted.ts index 2e5ffba..cd4a8cf 100644 --- a/sdk/nodejs/orgIdpGitlabSelfHosted.ts +++ b/sdk/nodejs/orgIdpGitlabSelfHosted.ts @@ -14,7 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.OrgIdpGitlabSelfHosted("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, + * name: "GitLab Self Hosted", * clientId: "15765e...", * clientSecret: "*****abcxyz", * scopes: [ diff --git a/sdk/nodejs/orgIdpGoogle.ts b/sdk/nodejs/orgIdpGoogle.ts index 79d8202..ab40507 100644 --- a/sdk/nodejs/orgIdpGoogle.ts +++ b/sdk/nodejs/orgIdpGoogle.ts @@ -14,7 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.OrgIdpGoogle("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, + * name: "Google", * clientId: "182902...", * clientSecret: "GOCSPX-*****", * scopes: [ diff --git a/sdk/nodejs/orgIdpJwt.ts b/sdk/nodejs/orgIdpJwt.ts index 43725ea..ff508c6 100644 --- a/sdk/nodejs/orgIdpJwt.ts +++ b/sdk/nodejs/orgIdpJwt.ts @@ -14,7 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.OrgIdpJwt("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, + * name: "jwtidp", * stylingType: "STYLING_TYPE_UNSPECIFIED", * jwtEndpoint: "https://jwtendpoint.com/jwt", * issuer: "https://google.com", diff --git a/sdk/nodejs/orgIdpLdap.ts b/sdk/nodejs/orgIdpLdap.ts index 8fc1c2f..3cc41bc 100644 --- a/sdk/nodejs/orgIdpLdap.ts +++ b/sdk/nodejs/orgIdpLdap.ts @@ -14,7 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.OrgIdpLdap("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, + * name: "LDAP", * servers: [ * "ldaps://my.primary.server:389", * "ldaps://my.secondary.server:389", diff --git a/sdk/nodejs/orgIdpOidc.ts b/sdk/nodejs/orgIdpOidc.ts index f4ca12f..302a322 100644 --- a/sdk/nodejs/orgIdpOidc.ts +++ b/sdk/nodejs/orgIdpOidc.ts @@ -14,7 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.OrgIdpOidc("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, + * name: "My Generic OIDC IDP", * clientId: "a_client_id", * clientSecret: "a_client_secret", * scopes: [ diff --git a/sdk/nodejs/orgMember.ts b/sdk/nodejs/orgMember.ts index e230dfd..83df9bd 100644 --- a/sdk/nodejs/orgMember.ts +++ b/sdk/nodejs/orgMember.ts @@ -14,8 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.OrgMember("default", { - * orgId: data.zitadel_org["default"].id, - * userId: data.zitadel_human_user["default"].id, + * orgId: defaultZitadelOrg.id, + * userId: defaultZitadelHumanUser.id, * roles: ["ORG_OWNER"], * }); * ``` diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json index d0ab876..ddfc241 100644 --- a/sdk/nodejs/package.json +++ b/sdk/nodejs/package.json @@ -1,6 +1,6 @@ { "name": "@pulumiverse/zitadel", - "version": "${VERSION}", + "version": "0.0.0-alpha.0+dev", "description": "A Pulumi package for creating and managing zitadel cloud resources.", "keywords": [ "pulumi", @@ -24,6 +24,7 @@ "pulumi": { "resource": true, "name": "zitadel", + "version": "0.0.0-alpha.0+dev", "server": "github://api.github.com/pulumiverse" } } diff --git a/sdk/nodejs/passwordComplexityPolicy.ts b/sdk/nodejs/passwordComplexityPolicy.ts index 770253f..4ce6423 100644 --- a/sdk/nodejs/passwordComplexityPolicy.ts +++ b/sdk/nodejs/passwordComplexityPolicy.ts @@ -14,7 +14,7 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.PasswordComplexityPolicy("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, * minLength: 8, * hasUppercase: true, * hasLowercase: true, diff --git a/sdk/nodejs/personalAccessToken.ts b/sdk/nodejs/personalAccessToken.ts index 529dbdf..6a869c9 100644 --- a/sdk/nodejs/personalAccessToken.ts +++ b/sdk/nodejs/personalAccessToken.ts @@ -14,8 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.PersonalAccessToken("default", { - * orgId: data.zitadel_org["default"].id, - * userId: data.zitadel_machine_user["default"].id, + * orgId: defaultZitadelOrg.id, + * userId: defaultZitadelMachineUser.id, * expirationDate: "2519-04-01T08:45:00Z", * }); * ``` diff --git a/sdk/nodejs/privacyPolicy.ts b/sdk/nodejs/privacyPolicy.ts index e3e1aae..61c28ae 100644 --- a/sdk/nodejs/privacyPolicy.ts +++ b/sdk/nodejs/privacyPolicy.ts @@ -14,7 +14,7 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.PrivacyPolicy("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, * tosLink: "https://example.com/tos", * privacyLink: "https://example.com/privacy", * helpLink: "https://example.com/help", diff --git a/sdk/nodejs/project.ts b/sdk/nodejs/project.ts index 4aeebba..0701d1f 100644 --- a/sdk/nodejs/project.ts +++ b/sdk/nodejs/project.ts @@ -14,7 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.Project("default", { - * orgId: data.zitadel_org["default"].id, + * name: "projectname", + * orgId: defaultZitadelOrg.id, * projectRoleAssertion: true, * projectRoleCheck: true, * hasProjectCheck: true, diff --git a/sdk/nodejs/projectGrant.ts b/sdk/nodejs/projectGrant.ts index 9cc3e88..097b66b 100644 --- a/sdk/nodejs/projectGrant.ts +++ b/sdk/nodejs/projectGrant.ts @@ -14,9 +14,9 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.ProjectGrant("default", { - * orgId: data.zitadel_org["default"].id, - * projectId: data.zitadel_project["default"].id, - * grantedOrgId: data.zitadel_org.granted_org.id, + * orgId: defaultZitadelOrg.id, + * projectId: defaultZitadelProject.id, + * grantedOrgId: grantedOrg.id, * roleKeys: ["super-user"], * }); * ``` diff --git a/sdk/nodejs/projectGrantMember.ts b/sdk/nodejs/projectGrantMember.ts index 72750b3..337ce51 100644 --- a/sdk/nodejs/projectGrantMember.ts +++ b/sdk/nodejs/projectGrantMember.ts @@ -14,9 +14,9 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.ProjectGrantMember("default", { - * orgId: data.zitadel_org["default"].id, - * projectId: data.zitadel_project["default"].id, - * userId: data.zitadel_human_user["default"].id, + * orgId: defaultZitadelOrg.id, + * projectId: defaultZitadelProject.id, + * userId: defaultZitadelHumanUser.id, * grantId: "123456789012345678", * roles: ["PROJECT_GRANT_OWNER"], * }); diff --git a/sdk/nodejs/projectMember.ts b/sdk/nodejs/projectMember.ts index a1785a6..eb84e78 100644 --- a/sdk/nodejs/projectMember.ts +++ b/sdk/nodejs/projectMember.ts @@ -14,9 +14,9 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.ProjectMember("default", { - * orgId: data.zitadel_org["default"].id, - * projectId: data.zitadel_project["default"].id, - * userId: data.zitadel_human_user["default"].id, + * orgId: defaultZitadelOrg.id, + * projectId: defaultZitadelProject.id, + * userId: defaultZitadelHumanUser.id, * roles: ["PROJECT_OWNER"], * }); * ``` diff --git a/sdk/nodejs/projectRole.ts b/sdk/nodejs/projectRole.ts index 09499f5..24f25df 100644 --- a/sdk/nodejs/projectRole.ts +++ b/sdk/nodejs/projectRole.ts @@ -14,8 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.ProjectRole("default", { - * orgId: data.zitadel_org["default"].id, - * projectId: data.zitadel_project["default"].id, + * orgId: defaultZitadelOrg.id, + * projectId: defaultZitadelProject.id, * roleKey: "super-user", * displayName: "display_name2", * group: "role_group", diff --git a/sdk/nodejs/smsProviderTwilio.ts b/sdk/nodejs/smsProviderTwilio.ts index b1e7522..1101ecc 100644 --- a/sdk/nodejs/smsProviderTwilio.ts +++ b/sdk/nodejs/smsProviderTwilio.ts @@ -14,8 +14,8 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.SmsProviderTwilio("default", { - * senderNumber: "019920892", * sid: "sid", + * senderNumber: "019920892", * token: "twilio_token", * }); * ``` diff --git a/sdk/nodejs/smtpConfig.ts b/sdk/nodejs/smtpConfig.ts index 5f2af73..440c4a6 100644 --- a/sdk/nodejs/smtpConfig.ts +++ b/sdk/nodejs/smtpConfig.ts @@ -14,13 +14,13 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.SmtpConfig("default", { - * host: "localhost:25", - * password: "secret_password", - * replyToAddress: "replyto@example.com", * senderAddress: "sender@example.com", * senderName: "no-reply", * tls: true, + * host: "localhost:25", * user: "user", + * password: "secret_password", + * replyToAddress: "replyto@example.com", * }); * ``` * diff --git a/sdk/nodejs/triggerActions.ts b/sdk/nodejs/triggerActions.ts index 9e8116e..978022e 100644 --- a/sdk/nodejs/triggerActions.ts +++ b/sdk/nodejs/triggerActions.ts @@ -14,10 +14,10 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.TriggerActions("default", { - * orgId: data.zitadel_org["default"].id, + * orgId: defaultZitadelOrg.id, * flowType: "FLOW_TYPE_CUSTOMISE_TOKEN", * triggerType: "TRIGGER_TYPE_PRE_ACCESS_TOKEN_CREATION", - * actionIds: [data.zitadel_action["default"].id], + * actionIds: [defaultZitadelAction.id], * }); * ``` * diff --git a/sdk/nodejs/userGrant.ts b/sdk/nodejs/userGrant.ts index 6883c6d..482b23b 100644 --- a/sdk/nodejs/userGrant.ts +++ b/sdk/nodejs/userGrant.ts @@ -14,10 +14,10 @@ import * as utilities from "./utilities"; * import * as zitadel from "@pulumiverse/zitadel"; * * const _default = new zitadel.UserGrant("default", { - * projectId: data.zitadel_project["default"].id, - * orgId: data.zitadel_org["default"].id, + * projectId: defaultZitadelProject.id, + * orgId: defaultZitadelOrg.id, * roleKeys: ["super-user"], - * userId: data.zitadel_human_user["default"].id, + * userId: defaultZitadelHumanUser.id, * }); * ``` * diff --git a/sdk/python/go.mod b/sdk/python/go.mod new file mode 100644 index 0000000..b91fcbc --- /dev/null +++ b/sdk/python/go.mod @@ -0,0 +1,3 @@ +module fake_python_module // Exclude this directory from Go tools + +go 1.17 diff --git a/sdk/python/pulumiverse_zitadel/action.py b/sdk/python/pulumiverse_zitadel/action.py index bd1f87d..ed9841a 100644 --- a/sdk/python/pulumiverse_zitadel/action.py +++ b/sdk/python/pulumiverse_zitadel/action.py @@ -253,7 +253,8 @@ def __init__(__self__, import pulumiverse_zitadel as zitadel default = zitadel.Action("default", - org_id=data["zitadel_org"]["default"]["id"], + org_id=default_zitadel_org["id"], + name="actionname", script="testscript", timeout="10s", allowed_to_fail=True) @@ -289,7 +290,8 @@ def __init__(__self__, import pulumiverse_zitadel as zitadel default = zitadel.Action("default", - org_id=data["zitadel_org"]["default"]["id"], + org_id=default_zitadel_org["id"], + name="actionname", script="testscript", timeout="10s", allowed_to_fail=True) diff --git a/sdk/python/pulumiverse_zitadel/application_api.py b/sdk/python/pulumiverse_zitadel/application_api.py index 4e90ed1..627ccaa 100644 --- a/sdk/python/pulumiverse_zitadel/application_api.py +++ b/sdk/python/pulumiverse_zitadel/application_api.py @@ -260,8 +260,9 @@ def __init__(__self__, import pulumiverse_zitadel as zitadel default = zitadel.ApplicationApi("default", - org_id=data["zitadel_org"]["default"]["id"], - project_id=data["zitadel_project"]["default"]["id"], + org_id=default_zitadel_org["id"], + project_id=default_zitadel_project["id"], + name="applicationapi", auth_method_type="API_AUTH_METHOD_TYPE_BASIC") ``` @@ -296,8 +297,9 @@ def __init__(__self__, import pulumiverse_zitadel as zitadel default = zitadel.ApplicationApi("default", - org_id=data["zitadel_org"]["default"]["id"], - project_id=data["zitadel_project"]["default"]["id"], + org_id=default_zitadel_org["id"], + project_id=default_zitadel_project["id"], + name="applicationapi", auth_method_type="API_AUTH_METHOD_TYPE_BASIC") ``` diff --git a/sdk/python/pulumiverse_zitadel/application_key.py b/sdk/python/pulumiverse_zitadel/application_key.py index a69fbfe..8fa0fb3 100644 --- a/sdk/python/pulumiverse_zitadel/application_key.py +++ b/sdk/python/pulumiverse_zitadel/application_key.py @@ -282,9 +282,9 @@ def __init__(__self__, import pulumiverse_zitadel as zitadel default = zitadel.ApplicationKey("default", - org_id=data["zitadel_org"]["default"]["id"], - project_id=data["zitadel_project"]["default"]["id"], - app_id=data["zitadel_application_api"]["default"]["id"], + org_id=default_zitadel_org["id"], + project_id=default_zitadel_project["id"], + app_id=default_zitadel_application_api["id"], key_type="KEY_TYPE_JSON", expiration_date="2519-04-01T08:45:00Z") ``` @@ -321,9 +321,9 @@ def __init__(__self__, import pulumiverse_zitadel as zitadel default = zitadel.ApplicationKey("default", - org_id=data["zitadel_org"]["default"]["id"], - project_id=data["zitadel_project"]["default"]["id"], - app_id=data["zitadel_application_api"]["default"]["id"], + org_id=default_zitadel_org["id"], + project_id=default_zitadel_project["id"], + app_id=default_zitadel_application_api["id"], key_type="KEY_TYPE_JSON", expiration_date="2519-04-01T08:45:00Z") ``` diff --git a/sdk/python/pulumiverse_zitadel/application_oidc.py b/sdk/python/pulumiverse_zitadel/application_oidc.py index 92371ed..0c0fe41 100644 --- a/sdk/python/pulumiverse_zitadel/application_oidc.py +++ b/sdk/python/pulumiverse_zitadel/application_oidc.py @@ -786,8 +786,9 @@ def __init__(__self__, import pulumiverse_zitadel as zitadel default = zitadel.ApplicationOidc("default", - project_id=data["zitadel_project"]["default"]["id"], - org_id=data["zitadel_org"]["default"]["id"], + project_id=default_zitadel_project["id"], + org_id=default_zitadel_org["id"], + name="applicationoidc", redirect_uris=["https://localhost.com"], response_types=["OIDC_RESPONSE_TYPE_CODE"], grant_types=["OIDC_GRANT_TYPE_AUTHORIZATION_CODE"], @@ -848,8 +849,9 @@ def __init__(__self__, import pulumiverse_zitadel as zitadel default = zitadel.ApplicationOidc("default", - project_id=data["zitadel_project"]["default"]["id"], - org_id=data["zitadel_org"]["default"]["id"], + project_id=default_zitadel_project["id"], + org_id=default_zitadel_org["id"], + name="applicationoidc", redirect_uris=["https://localhost.com"], response_types=["OIDC_RESPONSE_TYPE_CODE"], grant_types=["OIDC_GRANT_TYPE_AUTHORIZATION_CODE"], diff --git a/sdk/python/pulumiverse_zitadel/application_saml.py b/sdk/python/pulumiverse_zitadel/application_saml.py index 13edbf1..57f7d27 100644 --- a/sdk/python/pulumiverse_zitadel/application_saml.py +++ b/sdk/python/pulumiverse_zitadel/application_saml.py @@ -219,8 +219,9 @@ def __init__(__self__, import pulumiverse_zitadel as zitadel default = zitadel.ApplicationSaml("default", - org_id=data["zitadel_org"]["default"]["id"], - project_id=data["zitadel_project"]["default"]["id"], + org_id=default_zitadel_org["id"], + project_id=default_zitadel_project["id"], + name="applicationapi", metadata_xml=\"\"\" =0.2.1", "pulumi>=3.0.0,<4.0.0", "semver>=2.8.1"] + keywords = ["pulumi", "zitadel", "category/cloud"] + readme = "README.md" + requires-python = ">=3.7" + version = "0.0.0a0+dev" + [project.license] + text = "Apache-2.0" + [project.urls] + Homepage = "https://www.pulumi.com" + Repository = "https://github.com/pulumiverse/pulumi-zitadel" + +[build-system] + requires = ["setuptools>=61.0"] + build-backend = "setuptools.build_meta" + +[tool] + [tool.setuptools] + [tool.setuptools.package-data] + pulumiverse_zitadel = ["py.typed", "pulumi-plugin.json"] diff --git a/sdk/python/setup.py b/sdk/python/setup.py deleted file mode 100644 index 449efe6..0000000 --- a/sdk/python/setup.py +++ /dev/null @@ -1,44 +0,0 @@ -# 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" -def readme(): - try: - with open('README.md', encoding='utf-8') as f: - return f.read() - except FileNotFoundError: - return "zitadel Pulumi Package - Development Version" - - -setup(name='pulumiverse_zitadel', - python_requires='>=3.7', - version=VERSION, - description="A Pulumi package for creating and managing zitadel cloud resources.", - long_description=readme(), - long_description_content_type='text/markdown', - keywords='pulumi zitadel category/cloud', - url='https://www.pulumi.com', - project_urls={ - 'Repository': 'https://github.com/pulumiverse/pulumi-zitadel' - }, - license='Apache-2.0', - packages=find_packages(), - package_data={ - 'pulumiverse_zitadel': [ - '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)