diff --git a/.ci-mgmt.yaml b/.ci-mgmt.yaml index fd16370d0..baa71811a 100644 --- a/.ci-mgmt.yaml +++ b/.ci-mgmt.yaml @@ -1,5 +1,5 @@ provider: rancher2 -major-version: 7 +major-version: 8 setup-script: testing/setup.sh env: RANCHER_INSECURE: "true" diff --git a/.github/actions/download-bin/action.yml b/.github/actions/download-bin/action.yml index 9821e287a..646d4f93a 100644 --- a/.github/actions/download-bin/action.yml +++ b/.github/actions/download-bin/action.yml @@ -1,23 +1,16 @@ -name: Download the provider binary -description: Downloads the provider binary to `bin/`. +name: Download binary assets +description: Downloads the provider and tfgen binaries to `bin/`. runs: using: "composite" steps: - - - name: Download pulumi-resource-rancher2 - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + - name: Download provider + tfgen binaries + uses: actions/download-artifact@v4 with: - pattern: pulumi-resource-rancher2-*-linux-amd64.tar.gz + name: rancher2-provider.tar.gz path: ${{ github.workspace }}/bin - merge-multiple: true - - - name: Untar pulumi-resource-rancher2 - shell: bash - run: | - tar -zxf ${{ github.workspace }}/bin/*amd64.tar.gz -C ${{ github.workspace}}/bin - - - name: Mark pulumi-resource-rancher2 as executable + - name: Untar provider binaries shell: bash run: | + tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ github.workspace}}/bin find ${{ github.workspace }} -name "pulumi-*-rancher2" -print -exec chmod +x {} \; diff --git a/.github/actions/download-sdk/action.yml b/.github/actions/download-sdk/action.yml index ec5a2f308..1fd54841b 100644 --- a/.github/actions/download-sdk/action.yml +++ b/.github/actions/download-sdk/action.yml @@ -10,7 +10,7 @@ runs: using: "composite" steps: - name: Download ${{ inputs.language }} SDK - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + uses: actions/download-artifact@v4 with: name: ${{ inputs.language }}-sdk.tar.gz path: ${{ github.workspace}}/sdk/ diff --git a/.github/actions/setup-tools/action.yml b/.github/actions/setup-tools/action.yml index 6a711d418..642d1d223 100644 --- a/.github/actions/setup-tools/action.yml +++ b/.github/actions/setup-tools/action.yml @@ -20,7 +20,7 @@ runs: steps: - name: Install Go if: inputs.tools == 'all' || contains(inputs.tools, 'go') - uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5 + uses: actions/setup-go@v5 with: go-version: "1.21.x" cache-dependency-path: | @@ -30,45 +30,45 @@ runs: - name: Install pulumictl if: inputs.tools == 'all' || contains(inputs.tools, 'pulumictl') - uses: jaxxstorm/action-install-gh-release@71d17cb091aa850acb2a1a4cf87258d183eb941b # v1.11.0 + uses: jaxxstorm/action-install-gh-release@v1.11.0 with: tag: v0.0.46 repo: pulumi/pulumictl - name: Install Pulumi CLI if: inputs.tools == 'all' || contains(inputs.tools, 'pulumicli') - uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6 + uses: pulumi/actions@v5 with: pulumi-version: "dev" - name: Install Schema Tools if: inputs.tools == 'all' || contains(inputs.tools, 'schema-tools') - uses: jaxxstorm/action-install-gh-release@71d17cb091aa850acb2a1a4cf87258d183eb941b # v1.11.0 + uses: jaxxstorm/action-install-gh-release@v1.11.0 with: repo: pulumi/schema-tools - name: Setup Node if: inputs.tools == 'all' || contains(inputs.tools, 'nodejs') - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4 + uses: actions/setup-node@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@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4 + uses: actions/setup-dotnet@v4 with: dotnet-version: 6.0.x - name: Setup Python if: inputs.tools == 'all' || contains(inputs.tools, 'python') - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5 + uses: actions/setup-python@v5 with: python-version: 3.11.8 - name: Setup Java if: inputs.tools == 'all' || contains(inputs.tools, 'java') - uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4 + uses: actions/setup-java@v4 with: cache: gradle distribution: temurin @@ -76,6 +76,6 @@ runs: - name: Setup Gradle if: inputs.tools == 'all' || contains(inputs.tools, 'java') - uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3 + uses: gradle/gradle-build-action@v3 with: gradle-version: 7.6 diff --git a/.github/actions/upload-bin/action.yml b/.github/actions/upload-bin/action.yml index 62a8edecf..72ab018dc 100644 --- a/.github/actions/upload-bin/action.yml +++ b/.github/actions/upload-bin/action.yml @@ -8,7 +8,7 @@ runs: shell: bash run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ github.workspace }}/bin/ pulumi-resource-rancher2 pulumi-tfgen-rancher2 - name: Upload artifacts - uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 + uses: actions/upload-artifact@v4 with: name: rancher2-provider.tar.gz path: ${{ github.workspace }}/bin/provider.tar.gz diff --git a/.github/actions/upload-sdk/action.yml b/.github/actions/upload-sdk/action.yml index b0dd14042..77d484942 100644 --- a/.github/actions/upload-sdk/action.yml +++ b/.github/actions/upload-sdk/action.yml @@ -13,7 +13,7 @@ runs: shell: bash run: tar -zcf sdk/${{ inputs.language }}.tar.gz -C sdk/${{ inputs.language }} . - name: Upload artifacts - uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.language }}-sdk.tar.gz path: ${{ github.workspace}}/sdk/${{ inputs.language }}.tar.gz diff --git a/.github/workflows/build_provider.yml b/.github/workflows/build_provider.yml index 064035539..b693f75ac 100644 --- a/.github/workflows/build_provider.yml +++ b/.github/workflows/build_provider.yml @@ -14,7 +14,6 @@ jobs: runs-on: ubuntu-latest env: PROVIDER_VERSION: ${{ inputs.version }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} strategy: fail-fast: true matrix: @@ -31,29 +30,28 @@ jobs: arch: amd64 steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: persist-credentials: false - 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: Download schema-embed.json - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + uses: actions/download-artifact@v4 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-rancher2 - - name: Restore makefile progress - run: make --touch provider schema + path: provider/cmd/pulumi-resource-rancher2/schema-embed.json + - name: Prepare for build + # This installs plugins and prepares upstream + run: make upstream - name: Build & package provider run: make provider_dist-${{ matrix.platform.os }}-${{ matrix.platform.arch }} - name: Upload artifacts - uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 + uses: actions/upload-artifact@v4 with: name: pulumi-resource-rancher2-v${{ inputs.version }}-${{ matrix.platform.os }}-${{ matrix.platform.arch }}.tar.gz path: bin/pulumi-resource-rancher2-v${{ inputs.version }}-${{ matrix.platform.os }}-${{ matrix.platform.arch }}.tar.gz diff --git a/.github/workflows/build_sdk.yml b/.github/workflows/build_sdk.yml index 2e320fe38..9c4eb40ec 100644 --- a/.github/workflows/build_sdk.yml +++ b/.github/workflows/build_sdk.yml @@ -43,11 +43,11 @@ jobs: - java steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: persist-credentials: false - name: Cache examples generation - uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4 + uses: actions/cache@v4 with: path: | .pulumi/examples-cache @@ -56,14 +56,12 @@ jobs: uses: ./.github/actions/setup-tools with: tools: pulumictl, pulumicli, ${{ matrix.language }} - - name: Prepare local workspace - run: make prepare_local_workspace - - name: Download tfgen - uses: ./.github/actions/download-tfgen + - name: Download bin + uses: ./.github/actions/download-bin + - name: Install plugins + run: make install_plugins - 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 diff --git a/.github/workflows/command-dispatch.yml b/.github/workflows/command-dispatch.yml index 6b3c62814..8ac733425 100644 --- a/.github/workflows/command-dispatch.yml +++ b/.github/workflows/command-dispatch.yml @@ -25,10 +25,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: persist-credentials: false - - uses: peter-evans/slash-command-dispatch@13bc09769d122a64f75aa5037256f6f2d78be8c4 # v4 + - uses: peter-evans/slash-command-dispatch@v4 with: commands: | run-acceptance-tests diff --git a/.github/workflows/community-moderation.yml b/.github/workflows/community-moderation.yml index c353895e2..fc701df62 100644 --- a/.github/workflows/community-moderation.yml +++ b/.github/workflows/community-moderation.yml @@ -8,24 +8,24 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: persist-credentials: false - id: schema_changed name: Check for diff in schema - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 + uses: dorny/paths-filter@v2 with: filters: "changed: 'provider/cmd/**/schema.json'" - id: sdk_changed if: steps.schema_changed.outputs.changed == 'false' name: Check for diff in sdk/** - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 + uses: dorny/paths-filter@v2 with: filters: "changed: 'sdk/**'" - if: steps.sdk_changed.outputs.changed == 'true' && github.event.pull_request.head.repo.full_name != github.repository name: Send codegen warning as comment on PR - uses: thollander/actions-comment-pull-request@fabd468d3a1a0b97feee5f6b9e499eab0dd903f6 # v2.5.0 + uses: thollander/actions-comment-pull-request@v2 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} message: > diff --git a/.github/workflows/license.yml b/.github/workflows/license.yml index 91ace4bfc..472b0369f 100644 --- a/.github/workflows/license.yml +++ b/.github/workflows/license.yml @@ -32,7 +32,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: persist-credentials: false - name: Setup tools diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 257725d69..84b15c1d4 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -32,11 +32,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: persist-credentials: false - name: Install go - uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5 + uses: actions/setup-go@v5 with: # The versions of golangci-lint and setup-go here cross-depend and need to update together. go-version: 1.23 @@ -50,7 +50,7 @@ jobs: continue-on-error: true run: make upstream - name: golangci-lint - uses: golangci/golangci-lint-action@971e284b6050e8a5849b72094c50ab08da042db8 # v6 + uses: golangci/golangci-lint-action@v6 with: version: v1.60 working-directory: provider diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 9d336242a..2c8a34bc5 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -52,16 +52,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Free Disk Space (Ubuntu) - uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 + uses: jlumbroso/free-disk-space@v1.3.1 with: tool-cache: false swap-storage: false - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: persist-credentials: false - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2 + uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ secrets.AWS_CORP_S3_UPLOAD_ACCESS_KEY_ID }} aws-region: us-west-2 @@ -107,7 +107,6 @@ jobs: 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 @@ -131,7 +130,6 @@ jobs: name: test needs: - prerequisites - - build_provider - build_sdk permissions: contents: read @@ -141,23 +139,22 @@ jobs: PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: persist-credentials: false - 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-bin + - name: Add NuGet source + if: matrix.language == 'dotnet' + run: dotnet nuget add source ${{ github.workspace }}/nuget - 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 diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index c17a688af..b586d5887 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -72,7 +72,6 @@ jobs: name: test needs: - prerequisites - - build_provider - build_sdk permissions: contents: read @@ -82,23 +81,22 @@ jobs: PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: persist-credentials: false - name: Setup tools uses: ./.github/actions/setup-tools with: tools: pulumictl, pulumicli, nodejs, python, dotnet, go, java - - name: Prepare local workspace - run: make prepare_local_workspace - name: Download bin uses: ./.github/actions/download-bin + - name: Add NuGet source + if: matrix.language == 'dotnet' + run: dotnet nuget add source ${{ github.workspace }}/nuget - 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 diff --git a/.github/workflows/prerequisites.yml b/.github/workflows/prerequisites.yml index 54547a1aa..aa0e71817 100644 --- a/.github/workflows/prerequisites.yml +++ b/.github/workflows/prerequisites.yml @@ -45,31 +45,33 @@ jobs: version: ${{ steps.provider-version.outputs.version }} steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: persist-credentials: false - - uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + - uses: pulumi/provider-version-action@v1 id: provider-version with: set-env: 'PROVIDER_VERSION' - name: Cache examples generation - uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4 + uses: actions/cache@v4 with: path: | .pulumi/examples-cache key: ${{ runner.os }}-${{ hashFiles('provider/go.sum') }} + - name: Prepare upstream code + run: make upstream - 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: Build schema generator binary + run: make tfgen_build_only + - name: Install plugins + run: make install_plugins - name: Generate schema - run: make schema - - name: Build registry docs - run: make build_registry_docs + run: make tfgen_no_deps - name: Build provider binary - run: make provider + run: make provider_no_deps - name: Unit-test provider code run: make test_provider - if: inputs.is_pr @@ -83,7 +85,7 @@ jobs: } >> "$GITHUB_ENV" - if: inputs.is_pr && inputs.is_automated == false name: Comment on PR with Details of Schema Check - uses: thollander/actions-comment-pull-request@fabd468d3a1a0b97feee5f6b9e499eab0dd903f6 # v2.5.0 + uses: thollander/actions-comment-pull-request@v2 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} comment_tag: schemaCheck @@ -93,15 +95,11 @@ jobs: 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 pulumi-tfgen-rancher2 - uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 - with: - name: pulumi-tfgen-rancher2 - path: ${{ github.workspace }}/bin/pulumi-tfgen-rancher2 - retention-days: 30 + - name: Upload bin + uses: ./.github/actions/upload-bin - name: Upload schema-embed.json - uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 + uses: actions/upload-artifact@v4 with: name: schema-embed.json path: provider/cmd/pulumi-resource-rancher2/schema-embed.json diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 076f09ccc..fd70ea6e7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -14,10 +14,6 @@ on: 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 }} @@ -52,7 +48,7 @@ jobs: 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 + uses: actions/checkout@v4 with: persist-credentials: false - name: Setup tools @@ -60,7 +56,7 @@ jobs: with: tools: pulumictl, pulumicli, go, schema-tools - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2 + uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-region: us-east-2 @@ -72,7 +68,7 @@ jobs: - name: Create dist directory run: mkdir -p dist - name: Download provider assets - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + uses: actions/download-artifact@v4 with: pattern: pulumi-resource-rancher2-v${{ inputs.version }}-* path: dist @@ -97,7 +93,7 @@ jobs: - name: Upload Provider Binaries run: aws s3 cp dist s3://get.pulumi.com/releases/plugins/ --recursive - name: Create GH Release - uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2 + uses: softprops/action-gh-release@v2 if: inputs.isPrerelease == false with: tag_name: v${{ inputs.version }} @@ -116,7 +112,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: # Persist credentials so we can push back to the repo persist-credentials: true @@ -125,17 +121,10 @@ jobs: with: tools: pulumictl, pulumicli, nodejs, python, dotnet, go, java - name: Publish SDKs - if: inputs.skipJavaSdk == false - uses: pulumi/pulumi-package-publisher@1c0359ba74243cf6651efacfd839c751d8ff87e2 # v0.0.20 + uses: pulumi/pulumi-package-publisher@v0.0.20 with: sdk: all version: ${{ inputs.version }} - - name: Publish SDKs (except Java) - if: inputs.skipJavaSdk == true - uses: pulumi/pulumi-package-publisher@1c0359ba74243cf6651efacfd839c751d8ff87e2 # v0.0.20 - with: - sdk: all,!java - version: ${{ inputs.version }} - name: Download Go SDK uses: ./.github/actions/download-sdk with: @@ -162,7 +151,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Dispatch Metadata build - uses: peter-evans/repository-dispatch@ff45666b9427631e3450c54a1bcbee4d9ff4d7c0 # v3 + uses: peter-evans/repository-dispatch@v3 with: token: ${{ secrets.PULUMI_BOT_TOKEN }} repository: pulumi/registry @@ -183,7 +172,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: persist-credentials: false - name: Clean up release labels diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index d1358aadb..bdfc183c6 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -26,11 +26,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: persist-credentials: false - name: Comment PR - uses: thollander/actions-comment-pull-request@fabd468d3a1a0b97feee5f6b9e499eab0dd903f6 # v2.5.0 + uses: thollander/actions-comment-pull-request@v2 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} message: > diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8d9a46382..05887bfac 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -78,7 +78,6 @@ jobs: name: test needs: - prerequisites - - build_provider - build_sdk permissions: contents: read @@ -88,23 +87,22 @@ jobs: PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: persist-credentials: false - 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-bin + - name: Add NuGet source + if: matrix.language == 'dotnet' + run: dotnet nuget add source ${{ github.workspace }}/nuget - 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 diff --git a/.github/workflows/release_command.yml b/.github/workflows/release_command.yml index 5712f40e5..f199952c8 100644 --- a/.github/workflows/release_command.yml +++ b/.github/workflows/release_command.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: persist-credentials: false - name: Should release PR @@ -28,7 +28,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - if: failure() name: Notify failure - uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 + uses: peter-evans/create-or-update-comment@v2 with: token: ${{ secrets.GITHUB_TOKEN }} repository: ${{ github.event.client_payload.github.payload.repository.full_name }} @@ -37,7 +37,7 @@ jobs: "release command failed: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" - if: success() name: Notify success - uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 + uses: peter-evans/create-or-update-comment@v2 with: token: ${{ secrets.GITHUB_TOKEN }} repository: ${{ github.event.client_payload.github.payload.repository.full_name }} diff --git a/.github/workflows/resync-build.yml b/.github/workflows/resync-build.yml new file mode 100644 index 000000000..e6c3f6fab --- /dev/null +++ b/.github/workflows/resync-build.yml @@ -0,0 +1,91 @@ +# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt + +env: + PULUMI_EXTRA_MAPPING_ERROR: true + PULUMI_MISSING_MAPPING_ERROR: 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__ + RANCHER_INSECURE: "true" + RANCHER_URL: https://localhost + 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: + resync_build: + name: resync-build + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@v4 + with: + # Persist credentials so we can push a new branch. + persist-credentials: true + - name: Checkout repo + uses: actions/checkout@v4 + with: + path: ci-mgmt + repository: pulumi/ci-mgmt + persist-credentials: false + - 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: Setup tools + uses: ./.github/actions/setup-tools + with: + tools: pulumictl, pulumicli, go, nodejs, dotnet, python + - name: Sync with ci-mgmt + run: cp -r "ci-mgmt/provider-ci/providers/$PROVIDER/repo/." . + - name: Remove ci-mgmt directory + run: rm -rf ci-mgmt + - name: Required entries for gitignore + run: |- + cat <<- EOF > "$RUNNER_TEMP/gitignore" + sdk/java/build + sdk/java/.gradle + sdk/java/gradle + sdk/java/gradlew + sdk/java/gradlew.bat + EOF + shell: bash + - name: Adding missing lines to .gitignore + run: | + comm -23 <(sort "$RUNNER_TEMP/gitignore") <(sort .gitignore) >> .gitignore.temp + cat .gitignore.temp >> .gitignore + rm .gitignore.temp + shell: bash + - name: Build + run: make build + - name: Create PR (no linked issue) + uses: peter-evans/create-pull-request@v3.12.0 + with: + author: pulumi-bot + base: master + body: This pull request was generated automatically by the resync-build workflow + in this repository. + branch: pulumi-bot/resync-${{ github.run_id}} + commit-message: Resync build for pulumi-rancher2 + committer: pulumi-bot + labels: impact/no-changelog-required + team-reviewers: platform-integrations + title: Fix up build for pulumi-rancher2 + token: ${{ secrets.PULUMI_BOT_TOKEN }} +name: Resync build +on: + workflow_dispatch: + inputs: + automerge: + default: false + description: Mark created PR for auto-merging? + required: true + type: boolean diff --git a/.github/workflows/run-acceptance-tests.yml b/.github/workflows/run-acceptance-tests.yml index 6afd65c94..d1c338812 100644 --- a/.github/workflows/run-acceptance-tests.yml +++ b/.github/workflows/run-acceptance-tests.yml @@ -77,7 +77,7 @@ jobs: 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 + uses: peter-evans/create-or-update-comment@v1 with: body: "Please view the PR build: ${{ steps.run-url.outputs.run-url }}" issue-number: ${{ github.event.client_payload.github.payload.issue.number }} @@ -102,7 +102,7 @@ jobs: - lint runs-on: ubuntu-latest steps: - - uses: guibranco/github-status-action-v2@0849440ec82c5fa69b2377725b9b7852a3977e76 # v1.1.13 + - uses: guibranco/github-status-action-v2@0849440ec82c5fa69b2377725b9b7852a3977e76 with: authToken: ${{secrets.GITHUB_TOKEN}} # Write an explicit status check called "Sentinel" which will only pass if this code really runs. @@ -120,7 +120,6 @@ jobs: name: test needs: - prerequisites - - build_provider - build_sdk permissions: contents: read @@ -130,13 +129,13 @@ jobs: PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }} steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: ref: ${{ env.PR_COMMIT_SHA }} persist-credentials: false - name: Checkout p/examples if: matrix.testTarget == 'pulumiExamples' - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: repository: pulumi/examples path: p-examples @@ -144,16 +143,15 @@ jobs: 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-bin + - name: Add NuGet source + if: matrix.language == 'dotnet' + run: dotnet nuget add source ${{ github.workspace }}/nuget - 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 diff --git a/.github/workflows/upgrade-bridge.yml b/.github/workflows/upgrade-bridge.yml index bfcea9e1d..dcfea70e7 100644 --- a/.github/workflows/upgrade-bridge.yml +++ b/.github/workflows/upgrade-bridge.yml @@ -49,23 +49,16 @@ on: 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 }} + GH_TOKEN: ${{ secrets.PULUMI_BOT_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 + uses: actions/checkout@v4 with: persist-credentials: false - name: Setup tools @@ -74,7 +67,7 @@ jobs: tools: pulumictl, pulumicli, nodejs, python, dotnet, go, java - name: Call upgrade provider action if: github.event_name == 'workflow_dispatch' - uses: pulumi/pulumi-upgrade-provider-action@a1d9f03fbfd923f787427c1d9e99c2356711d483 # v0.0.13 + uses: pulumi/pulumi-upgrade-provider-action@v0.0.12 with: kind: ${{ inputs.kind }} email: bot@pulumi.com @@ -87,7 +80,7 @@ jobs: pr-title-prefix: ${{ inputs.pr-title-prefix }} - name: Call upgrade provider action if: github.event_name == 'repository_dispatch' - uses: pulumi/pulumi-upgrade-provider-action@a1d9f03fbfd923f787427c1d9e99c2356711d483 # v0.0.13 + uses: pulumi/pulumi-upgrade-provider-action@v0.0.12 with: kind: ${{ github.event.client_payload.kind || 'bridge' }} email: bot@pulumi.com diff --git a/.github/workflows/upgrade-provider.yml b/.github/workflows/upgrade-provider.yml index 3eaa9b4a5..6e7ec04dc 100644 --- a/.github/workflows/upgrade-provider.yml +++ b/.github/workflows/upgrade-provider.yml @@ -22,22 +22,16 @@ on: # 3 AM UTC ~ 8 PM PDT / 7 PM PST daily. Time chosen to run during off hours. - cron: 0 3 * * * -permissions: - contents: write - issues: write - pull-requests: write - env: - GH_TOKEN: ${{ secrets.PULUMI_PROVIDER_AUTOMATION_TOKEN || secrets.PULUMI_BOT_TOKEN || secrets.GITHUB_TOKEN }} + GH_TOKEN: ${{ secrets.PULUMI_BOT_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 + uses: actions/checkout@v4 with: # Persist credentials so upgrade-provider can push a new branch. persist-credentials: true diff --git a/.github/workflows/verify-release.yml b/.github/workflows/verify-release.yml index 677702d83..34b54715e 100644 --- a/.github/workflows/verify-release.yml +++ b/.github/workflows/verify-release.yml @@ -71,7 +71,7 @@ jobs: runs-on: ${{ matrix.runner }} steps: - name: Checkout Repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@v4 with: persist-credentials: false - name: Setup tools diff --git a/.pulumi-java-gen.version b/.pulumi-java-gen.version index 07feb8234..47d04a528 100644 --- a/.pulumi-java-gen.version +++ b/.pulumi-java-gen.version @@ -1 +1 @@ -0.17.0 \ No newline at end of file +0.18.0 \ No newline at end of file diff --git a/Makefile b/Makefile index a2b0a14c2..1bcf93ed2 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ PACK := rancher2 ORG := pulumi PROJECT := github.com/$(ORG)/pulumi-$(PACK) -PROVIDER_PATH := provider/v7 +PROVIDER_PATH := provider/v8 VERSION_PATH := $(PROVIDER_PATH)/pkg/version.Version TFGEN := pulumi-tfgen-$(PACK) PROVIDER := pulumi-resource-$(PACK) @@ -16,7 +16,7 @@ PULUMI_MISSING_DOCS_ERROR := true # 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 ?= 7.0.0-alpha.0+dev +PROVIDER_VERSION ?= 8.0.0-alpha.0+dev # Use this normalised version everywhere rather than the raw input to ensure consistency. VERSION_GENERIC = $(shell pulumictl convert-version --language generic --version "$(PROVIDER_VERSION)") @@ -27,244 +27,151 @@ LDFLAGS_UPSTREAM_VERSION= LDFLAGS_EXTRAS= LDFLAGS=$(LDFLAGS_PROJ_VERSION) $(LDFLAGS_UPSTREAM_VERSION) $(LDFLAGS_EXTRAS) $(LDFLAGS_STRIP_SYMBOLS) -# 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. +development: install_plugins provider build_sdks install_sdks -# Ensure all directories exist before evaluating targets to avoid issues with `touch` creating directories. -_ := $(shell mkdir -p .make bin .pulumi/bin) +build: install_plugins provider build_sdks install_sdks -# Build the provider and all SDKs and install ready for testing -build: install_plugins provider build_sdks install_sdks build_registry_docs -# 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 build_registry_docs -generate_sdks: generate_nodejs generate_python generate_dotnet generate_go generate_java -build_sdks: build_nodejs build_python build_dotnet build_go build_java -install_sdks: install_nodejs_sdk install_python_sdk install_dotnet_sdk install_go_sdk install_java_sdk -.PHONY: development only_build build generate generate_sdks build_sdks install_sdks +build_sdks: build_nodejs build_python build_dotnet build_go build_java build_registry_docs -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] = nodejs python dotnet go java" - @echo "" -.PHONY: help +install_go_sdk: + +install_java_sdk: + +install_python_sdk: -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) +install_sdks: install_dotnet_sdk install_python_sdk install_nodejs_sdk install_java_sdk -generate_dotnet: .make/generate_dotnet -build_dotnet: .make/build_dotnet -.make/generate_dotnet: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) -.make/generate_dotnet: bin/$(TFGEN) - $(GEN_ENVS) $(WORKING_DIR)/bin/$(TFGEN) dotnet --out sdk/dotnet/ +only_build: build + +build_dotnet: export PULUMI_HOME := $(WORKING_DIR)/.pulumi +build_dotnet: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) +build_dotnet: export PULUMI_CONVERT_EXAMPLES_CACHE_DIR := $(WORKING_DIR)/.pulumi/examples-cache +build_dotnet: upstream + PULUMI_CONVERT=$(PULUMI_CONVERT) PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION=$(PULUMI_CONVERT) $(WORKING_DIR)/bin/$(TFGEN) 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 "$(VERSION_GENERIC)" >version.txt - @touch $@ -.make/build_dotnet: .make/generate_dotnet - cd sdk/dotnet/ && dotnet build - @touch $@ -.PHONY: generate_dotnet build_dotnet - -generate_go: .make/generate_go -build_go: .make/build_go -.make/generate_go: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) -.make/generate_go: bin/$(TFGEN) - $(GEN_ENVS) $(WORKING_DIR)/bin/$(TFGEN) go --out sdk/go/ - @touch $@ -.make/build_go: .make/generate_go + echo "$(VERSION_GENERIC)" >version.txt && \ + dotnet build + +build_go: export PULUMI_HOME := $(WORKING_DIR)/.pulumi +build_go: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) +build_go: export PULUMI_CONVERT_EXAMPLES_CACHE_DIR := $(WORKING_DIR)/.pulumi/examples-cache +build_go: upstream + PULUMI_CONVERT=$(PULUMI_CONVERT) PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION=$(PULUMI_CONVERT) $(WORKING_DIR)/bin/$(TFGEN) go --out sdk/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 - -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 := $(VERSION_GENERIC) -.make/generate_java: 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 := $(VERSION_GENERIC) -.make/build_java: .make/generate_java + +build_java: PACKAGE_VERSION := $(VERSION_GENERIC) +build_java: export PULUMI_HOME := $(WORKING_DIR)/.pulumi +build_java: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) +build_java: export PULUMI_CONVERT_EXAMPLES_CACHE_DIR := $(WORKING_DIR)/.pulumi/examples-cache +build_java: bin/pulumi-java-gen upstream + $(WORKING_DIR)/bin/$(JAVA_GEN) generate --schema provider/cmd/$(PROVIDER)/schema.json --out sdk/java --build gradle-nexus cd sdk/java/ && \ + printf "module fake_java_module // Exclude this directory from Go tools\n\ngo 1.17\n" > go.mod && \ gradle --console=plain build && \ gradle --console=plain javadoc - @touch $@ -.PHONY: generate_java build_java - -generate_nodejs: .make/generate_nodejs -build_nodejs: .make/build_nodejs -.make/generate_nodejs: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) -.make/generate_nodejs: bin/$(TFGEN) - $(GEN_ENVS) $(WORKING_DIR)/bin/$(TFGEN) 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 + +build_nodejs: export PULUMI_HOME := $(WORKING_DIR)/.pulumi +build_nodejs: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) +build_nodejs: export PULUMI_CONVERT_EXAMPLES_CACHE_DIR := $(WORKING_DIR)/.pulumi/examples-cache +build_nodejs: upstream + PULUMI_CONVERT=$(PULUMI_CONVERT) PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION=$(PULUMI_CONVERT) $(WORKING_DIR)/bin/$(TFGEN) nodejs --out sdk/nodejs/ cd sdk/nodejs/ && \ + printf "module fake_nodejs_module // Exclude this directory from Go tools\n\ngo 1.17\n" > go.mod && \ 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: bin/$(TFGEN) - $(GEN_ENVS) $(WORKING_DIR)/bin/$(TFGEN) 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 + +build_python: export PULUMI_HOME := $(WORKING_DIR)/.pulumi +build_python: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) +build_python: export PULUMI_CONVERT_EXAMPLES_CACHE_DIR := $(WORKING_DIR)/.pulumi/examples-cache +build_python: upstream + rm -rf sdk/python/ + PULUMI_CONVERT=$(PULUMI_CONVERT) PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION=$(PULUMI_CONVERT) $(WORKING_DIR)/bin/$(TFGEN) python --out sdk/python/ cd sdk/python/ && \ + printf "module fake_python_module // Exclude this directory from Go tools\n\ngo 1.17\n" > go.mod && \ + cp ../../README.md . && \ 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 + # Run the bridge's registry-docs command to generated the content of the installation docs/ folder at provider repo root -build_registry_docs: .make/build_registry_docs -.make/build_registry_docs: bin/$(TFGEN) - bin/$(TFGEN) registry-docs --out $(WORKING_DIR)/docs - @touch $@ -.PHONY: build_registry_docs +build_registry_docs: + $(WORKING_DIR)/bin/$(TFGEN) registry-docs --out $(WORKING_DIR)/docs 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 - -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 + +cleanup: + rm -r $(WORKING_DIR)/bin + rm -f provider/cmd/$(PROVIDER)/schema.go + +help: + @grep '^[^.#]\+:\s\+.*#' Makefile | \ + sed "s/\(.\+\):\s*\(.*\) #\s*\(.*\)/`printf "\033[93m"`\1`printf "\033[0m"` \3 [\2]/" | \ + expand -t20 + +install_dotnet_sdk: + mkdir -p $(WORKING_DIR)/nuget + find . -name '*.nupkg' -print -exec cp -p {} $(WORKING_DIR)/nuget \; + +install_nodejs_sdk: 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 -# Install Pulumi plugins required for TFGen to resolve references -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 +install_plugins: export PULUMI_HOME := $(WORKING_DIR)/.pulumi +install_plugins: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) +install_plugins: .pulumi/bin/pulumi .pulumi/bin/pulumi plugin install resource std 1.6.2 .pulumi/bin/pulumi plugin install converter terraform 1.0.16 - @touch $@ -.PHONY: install_plugins 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 # `make provider_no_deps` builds the provider binary directly, without ensuring that # `cmd/pulumi-resource-rancher2/schema.json` is valid and up to date. # To create a release ready binary, you should use `make provider`. -build_provider_cmd = cd provider && go build $(PULUMI_PROVIDER_BUILD_PARALLELISM) -o $(WORKING_DIR)/bin/$(PROVIDER) -ldflags "$(LDFLAGS)" $(PROJECT)/$(PROVIDER_PATH)/cmd/$(PROVIDER) -provider: bin/$(PROVIDER) provider_no_deps: - $(call build_provider_cmd) -bin/$(PROVIDER): .make/schema - $(call build_provider_cmd) -.PHONY: provider provider_no_deps + (cd provider && go build $(PULUMI_PROVIDER_BUILD_PARALLELISM) -o $(WORKING_DIR)/bin/$(PROVIDER) -ldflags "$(LDFLAGS)" $(PROJECT)/$(PROVIDER_PATH)/cmd/$(PROVIDER)) + +provider: tfgen provider_no_deps test: export PATH := $(WORKING_DIR)/bin:$(PATH) test: cd examples && go test -v -tags=all -parallel $(TESTPARALLELISM) -timeout 2h -.PHONY: test test_provider: + @echo "" + @echo "== test_provider ===================================================================" + @echo "" cd provider && go test -v -short ./... -parallel $(TESTPARALLELISM) -.PHONY: test_provider - -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/$(TFGEN) .make/install_plugins .make/upstream + +tfgen: install_plugins upstream tfgen_no_deps + +tfgen_no_deps: export PULUMI_HOME := $(WORKING_DIR)/.pulumi +tfgen_no_deps: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) +tfgen_no_deps: export PULUMI_CONVERT := $(PULUMI_CONVERT) +tfgen_no_deps: export PULUMI_CONVERT_EXAMPLES_CACHE_DIR := $(WORKING_DIR)/.pulumi/examples-cache +tfgen_no_deps: export PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION := $(PULUMI_CONVERT) +tfgen_no_deps: export PULUMI_MISSING_DOCS_ERROR := $(PULUMI_MISSING_DOCS_ERROR) +tfgen_no_deps: tfgen_build_only $(WORKING_DIR)/bin/$(TFGEN) schema --out provider/cmd/$(PROVIDER) (cd provider && VERSION=$(VERSION_GENERIC) go generate cmd/$(PROVIDER)/main.go) - @touch $@ -tfgen_build_only: bin/$(TFGEN) -bin/$(TFGEN): provider/*.go provider/go.* .make/upstream + +tfgen_build_only: (cd provider && go build $(PULUMI_PROVIDER_BUILD_PARALLELISM) -o $(WORKING_DIR)/bin/$(TFGEN) -ldflags "$(LDFLAGS_PROJ_VERSION) $(LDFLAGS_EXTRAS)" $(PROJECT)/$(PROVIDER_PATH)/cmd/$(TFGEN)) -.PHONY: tfgen schema tfgen_no_deps tfgen_build_only -# 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/*) $(wildcard .git/modules/upstream/HEAD) +upstream: ifneq ("$(wildcard upstream)","") ./upstream.sh init endif - @touch $@ -.PHONY: upstream bin/pulumi-java-gen: .pulumi-java-gen.version pulumictl download-binary -n pulumi-language-java -v v$(shell cat .pulumi-java-gen.version) -r pulumi/pulumi-java @@ -276,7 +183,6 @@ bin/pulumi-java-gen: .pulumi-java-gen.version # ci-mgmt: .ci-mgmt.yaml go run github.com/pulumi/ci-mgmt/provider-ci@master generate -.PHONY: ci-mgmt # Because some codegen depends on the version of the CLI used, we install a local CLI # version pinned to the same version as `provider/go.mod`. @@ -287,7 +193,6 @@ ci-mgmt: .ci-mgmt.yaml .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)"; \ @@ -295,12 +200,14 @@ ci-mgmt: .ci-mgmt.yaml # 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 ../$@ + @mkdir -p .pulumi + @cd provider && go list -f "{{slice .Version 1}}" -m github.com/pulumi/pulumi/pkg/v3 | tee ../$@ # Start debug server for tfgen debug_tfgen: dlv --listen=:2345 --headless=true --api-version=2 exec $(WORKING_DIR)/bin/$(TFGEN) -- schema --out provider/cmd/$(PROVIDER) -.PHONY: debug_tfgen + +.PHONY: development build build_sdks install_go_sdk install_java_sdk install_python_sdk install_sdks only_build build_dotnet build_go build_java build_nodejs build_python clean cleanup help install_dotnet_sdk install_nodejs_sdk install_plugins lint_provider provider provider_no_deps test tfgen upstream ci-mgmt test_provider debug_tfgen tfgen_build_only # Provider cross-platform build & packaging diff --git a/docs/_index.md b/docs/_index.md index 3d13c6daa..c7b7ffbd5 100644 --- a/docs/_index.md +++ b/docs/_index.md @@ -10,7 +10,7 @@ The Rancher2 provider is available as a package in all Pulumi languages: * JavaScript/TypeScript: [`@pulumi/rancher2`](https://www.npmjs.com/package/@pulumi/rancher2) * Python: [`pulumi-rancher2`](https://pypi.org/project/pulumi-rancher2/) -* Go: [`github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2`](https://github.com/pulumi/pulumi-rancher2) +* Go: [`github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2`](https://github.com/pulumi/pulumi-rancher2) * .NET: [`Pulumi.Rancher2`](https://www.nuget.org/packages/Pulumi.Rancher2) * Java: [`com.pulumi/rancher2`](https://central.sonatype.com/artifact/com.pulumi/rancher2) ## Overview @@ -274,7 +274,7 @@ return await Deployment.RunAsync(() => package main import ( - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/provider/cmd/pulumi-resource-rancher2/bridge-metadata.json b/provider/cmd/pulumi-resource-rancher2/bridge-metadata.json index b9be07661..ae5b6da0b 100644 --- a/provider/cmd/pulumi-resource-rancher2/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-rancher2/bridge-metadata.json @@ -3,15 +3,15 @@ "resources": { "rancher2_app": { "current": "rancher2:index/app:App", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_app_v2": { "current": "rancher2:index/appV2:AppV2", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_auth_config_activedirectory": { "current": "rancher2:index/authConfigActiveDirectory:AuthConfigActiveDirectory", - "majorVersion": 7, + "majorVersion": 8, "fields": { "allowed_principal_ids": { "maxItemsOne": false @@ -23,7 +23,7 @@ }, "rancher2_auth_config_adfs": { "current": "rancher2:index/authConfigAdfs:AuthConfigAdfs", - "majorVersion": 7, + "majorVersion": 8, "fields": { "allowed_principal_ids": { "maxItemsOne": false @@ -32,7 +32,7 @@ }, "rancher2_auth_config_azuread": { "current": "rancher2:index/authConfigAzureAd:AuthConfigAzureAd", - "majorVersion": 7, + "majorVersion": 8, "fields": { "allowed_principal_ids": { "maxItemsOne": false @@ -41,7 +41,7 @@ }, "rancher2_auth_config_freeipa": { "current": "rancher2:index/authConfigFreeIpa:AuthConfigFreeIpa", - "majorVersion": 7, + "majorVersion": 8, "fields": { "allowed_principal_ids": { "maxItemsOne": false @@ -53,7 +53,7 @@ }, "rancher2_auth_config_github": { "current": "rancher2:index/authConfigGithub:AuthConfigGithub", - "majorVersion": 7, + "majorVersion": 8, "fields": { "allowed_principal_ids": { "maxItemsOne": false @@ -62,7 +62,7 @@ }, "rancher2_auth_config_keycloak": { "current": "rancher2:index/authConfigKeycloak:AuthConfigKeycloak", - "majorVersion": 7, + "majorVersion": 8, "fields": { "allowed_principal_ids": { "maxItemsOne": false @@ -71,7 +71,7 @@ }, "rancher2_auth_config_okta": { "current": "rancher2:index/authConfigOkta:AuthConfigOkta", - "majorVersion": 7, + "majorVersion": 8, "fields": { "allowed_principal_ids": { "maxItemsOne": false @@ -80,7 +80,7 @@ }, "rancher2_auth_config_openldap": { "current": "rancher2:index/authConfigOpenLdap:AuthConfigOpenLdap", - "majorVersion": 7, + "majorVersion": 8, "fields": { "allowed_principal_ids": { "maxItemsOne": false @@ -92,7 +92,7 @@ }, "rancher2_auth_config_ping": { "current": "rancher2:index/authConfigPing:AuthConfigPing", - "majorVersion": 7, + "majorVersion": 8, "fields": { "allowed_principal_ids": { "maxItemsOne": false @@ -101,23 +101,23 @@ }, "rancher2_bootstrap": { "current": "rancher2:index/bootstrap:Bootstrap", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_catalog": { "current": "rancher2:index/catalog:Catalog", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_catalog_v2": { "current": "rancher2:index/catalogV2:CatalogV2", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_certificate": { "current": "rancher2:index/certificate:Certificate", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_cloud_credential": { "current": "rancher2:index/cloudCredential:CloudCredential", - "majorVersion": 7, + "majorVersion": 8, "fields": { "amazonec2_credential_config": { "maxItemsOne": true @@ -150,7 +150,7 @@ }, "rancher2_cluster": { "current": "rancher2:index/cluster:Cluster", - "majorVersion": 7, + "majorVersion": 8, "fields": { "agent_env_vars": { "maxItemsOne": false @@ -735,7 +735,7 @@ }, "rancher2_cluster_driver": { "current": "rancher2:index/clusterDriver:ClusterDriver", - "majorVersion": 7, + "majorVersion": 8, "fields": { "whitelist_domains": { "maxItemsOne": false @@ -744,11 +744,11 @@ }, "rancher2_cluster_role_template_binding": { "current": "rancher2:index/clusterRoleTemplateBinding:ClusterRoleTemplateBinding", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_cluster_sync": { "current": "rancher2:index/clusterSync:ClusterSync", - "majorVersion": 7, + "majorVersion": 8, "fields": { "node_pool_ids": { "maxItemsOne": false @@ -767,7 +767,7 @@ }, "rancher2_cluster_template": { "current": "rancher2:index/clusterTemplate:ClusterTemplate", - "majorVersion": 7, + "majorVersion": 8, "fields": { "members": { "maxItemsOne": false @@ -1153,7 +1153,7 @@ }, "rancher2_cluster_v2": { "current": "rancher2:index/clusterV2:ClusterV2", - "majorVersion": 7, + "majorVersion": 8, "fields": { "agent_env_vars": { "maxItemsOne": false @@ -1357,15 +1357,15 @@ }, "rancher2_config_map_v2": { "current": "rancher2:index/configMapV2:ConfigMapV2", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_custom_user_token": { "current": "rancher2:index/customUserToken:CustomUserToken", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_etcd_backup": { "current": "rancher2:index/etcdBackup:EtcdBackup", - "majorVersion": 7, + "majorVersion": 8, "fields": { "backup_config": { "maxItemsOne": true, @@ -1381,35 +1381,11 @@ }, "rancher2_feature": { "current": "rancher2:index/feature:Feature", - "majorVersion": 7 - }, - "rancher2_global_dns": { - "current": "rancher2:index/globalDns:GlobalDns", - "majorVersion": 7, - "fields": { - "project_ids": { - "maxItemsOne": false - } - } - }, - "rancher2_global_dns_provider": { - "current": "rancher2:index/globalDnsProvider:GlobalDnsProvider", - "majorVersion": 7, - "fields": { - "alidns_config": { - "maxItemsOne": true - }, - "cloudflare_config": { - "maxItemsOne": true - }, - "route53_config": { - "maxItemsOne": true - } - } + "majorVersion": 8 }, "rancher2_global_role": { "current": "rancher2:index/globalRole:GlobalRole", - "majorVersion": 7, + "majorVersion": 8, "fields": { "inherited_cluster_roles": { "maxItemsOne": false @@ -1440,11 +1416,11 @@ }, "rancher2_global_role_binding": { "current": "rancher2:index/globalRoleBinding:GlobalRoleBinding", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_machine_config_v2": { "current": "rancher2:index/machineConfigV2:MachineConfigV2", - "majorVersion": 7, + "majorVersion": 8, "fields": { "amazonec2_config": { "maxItemsOne": true, @@ -1507,7 +1483,7 @@ }, "rancher2_multi_cluster_app": { "current": "rancher2:index/multiClusterApp:MultiClusterApp", - "majorVersion": 7, + "majorVersion": 8, "fields": { "answers": { "maxItemsOne": false @@ -1535,7 +1511,7 @@ }, "rancher2_namespace": { "current": "rancher2:index/namespace:Namespace", - "majorVersion": 7, + "majorVersion": 8, "fields": { "container_resource_limit": { "maxItemsOne": true @@ -1554,7 +1530,7 @@ }, "rancher2_node_driver": { "current": "rancher2:index/nodeDriver:NodeDriver", - "majorVersion": 7, + "majorVersion": 8, "fields": { "whitelist_domains": { "maxItemsOne": false @@ -1563,7 +1539,7 @@ }, "rancher2_node_pool": { "current": "rancher2:index/nodePool:NodePool", - "majorVersion": 7, + "majorVersion": 8, "fields": { "node_taints": { "maxItemsOne": false @@ -1572,7 +1548,7 @@ }, "rancher2_node_template": { "current": "rancher2:index/nodeTemplate:NodeTemplate", - "majorVersion": 7, + "majorVersion": 8, "fields": { "amazonec2_config": { "maxItemsOne": true, @@ -1666,7 +1642,7 @@ }, "rancher2_pod_security_admission_configuration_template": { "current": "rancher2:index/podSecurityAdmissionConfigurationTemplate:PodSecurityAdmissionConfigurationTemplate", - "majorVersion": 7, + "majorVersion": 8, "fields": { "defaults": { "maxItemsOne": true @@ -1691,7 +1667,7 @@ }, "rancher2_project": { "current": "rancher2:index/project:Project", - "majorVersion": 7, + "majorVersion": 8, "fields": { "container_resource_limit": { "maxItemsOne": true @@ -1713,11 +1689,11 @@ }, "rancher2_project_role_template_binding": { "current": "rancher2:index/projectRoleTemplateBinding:ProjectRoleTemplateBinding", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_registry": { "current": "rancher2:index/registry:Registry", - "majorVersion": 7, + "majorVersion": 8, "fields": { "registries": { "maxItemsOne": false @@ -1726,7 +1702,7 @@ }, "rancher2_role_template": { "current": "rancher2:index/roleTemplate:RoleTemplate", - "majorVersion": 7, + "majorVersion": 8, "fields": { "external_rules": { "maxItemsOne": false, @@ -1779,19 +1755,19 @@ }, "rancher2_secret": { "current": "rancher2:index/secret:Secret", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_secret_v2": { "current": "rancher2:index/secretV2:SecretV2", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_setting": { "current": "rancher2:index/setting:Setting", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_storage_class_v2": { "current": "rancher2:index/storageClassV2:StorageClassV2", - "majorVersion": 7, + "majorVersion": 8, "fields": { "mount_options": { "maxItemsOne": false @@ -1800,11 +1776,11 @@ }, "rancher2_token": { "current": "rancher2:index/token:Token", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_user": { "current": "rancher2:index/user:User", - "majorVersion": 7, + "majorVersion": 8, "fields": { "principal_ids": { "maxItemsOne": false @@ -1815,27 +1791,27 @@ "datasources": { "rancher2_app": { "current": "rancher2:index/getApp:getApp", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_catalog": { "current": "rancher2:index/getCatalog:getCatalog", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_catalog_v2": { "current": "rancher2:index/getCatalogV2:getCatalogV2", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_certificate": { "current": "rancher2:index/getCertificate:getCertificate", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_cloud_credential": { "current": "rancher2:index/getCloudCredential:getCloudCredential", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_cluster": { "current": "rancher2:index/getCluster:getCluster", - "majorVersion": 7, + "majorVersion": 8, "fields": { "agent_env_vars": { "maxItemsOne": false @@ -2394,7 +2370,7 @@ }, "rancher2_cluster_driver": { "current": "rancher2:index/getClusterDriver:getClusterDriver", - "majorVersion": 7, + "majorVersion": 8, "fields": { "whitelist_domains": { "maxItemsOne": false @@ -2403,11 +2379,11 @@ }, "rancher2_cluster_role_template_binding": { "current": "rancher2:index/getClusterRoleTemplateBinding:getClusterRoleTemplateBinding", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_cluster_template": { "current": "rancher2:index/getClusterTemplate:getClusterTemplate", - "majorVersion": 7, + "majorVersion": 8, "fields": { "members": { "maxItemsOne": false @@ -2793,7 +2769,7 @@ }, "rancher2_cluster_v2": { "current": "rancher2:index/getClusterV2:getClusterV2", - "majorVersion": 7, + "majorVersion": 8, "fields": { "agent_env_vars": { "maxItemsOne": false @@ -2968,11 +2944,11 @@ }, "rancher2_config_map_v2": { "current": "rancher2:index/getConfigMapV2:getConfigMapV2", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_etcd_backup": { "current": "rancher2:index/getEtcdBackup:getEtcdBackup", - "majorVersion": 7, + "majorVersion": 8, "fields": { "backup_config": { "maxItemsOne": true, @@ -2986,24 +2962,9 @@ } } }, - "rancher2_global_dns_provider": { - "current": "rancher2:index/getGlobalDnsProvider:getGlobalDnsProvider", - "majorVersion": 7, - "fields": { - "alidns_config": { - "maxItemsOne": true - }, - "cloudflare_config": { - "maxItemsOne": true - }, - "route53_config": { - "maxItemsOne": true - } - } - }, "rancher2_global_role": { "current": "rancher2:index/getGlobalRole:getGlobalRole", - "majorVersion": 7, + "majorVersion": 8, "fields": { "inherited_cluster_roles": { "maxItemsOne": false @@ -3034,11 +2995,11 @@ }, "rancher2_global_role_binding": { "current": "rancher2:index/getGlobalRoleBinding:getGlobalRoleBinding", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_multi_cluster_app": { "current": "rancher2:index/getMultiClusterApp:getMultiClusterApp", - "majorVersion": 7, + "majorVersion": 8, "fields": { "answers": { "maxItemsOne": false @@ -3066,7 +3027,7 @@ }, "rancher2_namespace": { "current": "rancher2:index/getNamespace:getNamespace", - "majorVersion": 7, + "majorVersion": 8, "fields": { "container_resource_limit": { "maxItemsOne": true @@ -3085,7 +3046,7 @@ }, "rancher2_node_driver": { "current": "rancher2:index/getNodeDriver:getNodeDriver", - "majorVersion": 7, + "majorVersion": 8, "fields": { "whitelist_domains": { "maxItemsOne": false @@ -3094,7 +3055,7 @@ }, "rancher2_node_pool": { "current": "rancher2:index/getNodePool:getNodePool", - "majorVersion": 7, + "majorVersion": 8, "fields": { "node_taints": { "maxItemsOne": false @@ -3103,7 +3064,7 @@ }, "rancher2_node_template": { "current": "rancher2:index/getNodeTemplate:getNodeTemplate", - "majorVersion": 7, + "majorVersion": 8, "fields": { "engine_insecure_registry": { "maxItemsOne": false @@ -3118,7 +3079,7 @@ }, "rancher2_pod_security_admission_configuration_template": { "current": "rancher2:index/getPodSecurityAdmissionConfigurationTemplate:getPodSecurityAdmissionConfigurationTemplate", - "majorVersion": 7, + "majorVersion": 8, "fields": { "defaults": { "maxItemsOne": true @@ -3143,11 +3104,11 @@ }, "rancher2_principal": { "current": "rancher2:index/getPrincipal:getPrincipal", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_project": { "current": "rancher2:index/getProject:getProject", - "majorVersion": 7, + "majorVersion": 8, "fields": { "container_resource_limit": { "maxItemsOne": true @@ -3169,11 +3130,11 @@ }, "rancher2_project_role_template_binding": { "current": "rancher2:index/getProjectRoleTemplateBinding:getProjectRoleTemplateBinding", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_registry": { "current": "rancher2:index/getRegistry:getRegistry", - "majorVersion": 7, + "majorVersion": 8, "fields": { "registries": { "maxItemsOne": false @@ -3182,7 +3143,7 @@ }, "rancher2_role_template": { "current": "rancher2:index/getRoleTemplate:getRoleTemplate", - "majorVersion": 7, + "majorVersion": 8, "fields": { "external_rules": { "maxItemsOne": false, @@ -3235,19 +3196,19 @@ }, "rancher2_secret": { "current": "rancher2:index/getSecret:getSecret", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_secret_v2": { "current": "rancher2:index/getSecretV2:getSecretV2", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_setting": { "current": "rancher2:index/getSetting:getSetting", - "majorVersion": 7 + "majorVersion": 8 }, "rancher2_storage_class_v2": { "current": "rancher2:index/getStorageClassV2:getStorageClassV2", - "majorVersion": 7, + "majorVersion": 8, "fields": { "mount_options": { "maxItemsOne": false @@ -3256,7 +3217,7 @@ }, "rancher2_user": { "current": "rancher2:index/getUser:getUser", - "majorVersion": 7, + "majorVersion": 8, "fields": { "principal_ids": { "maxItemsOne": false diff --git a/provider/cmd/pulumi-resource-rancher2/main.go b/provider/cmd/pulumi-resource-rancher2/main.go index 3b7ee992f..1255de88e 100644 --- a/provider/cmd/pulumi-resource-rancher2/main.go +++ b/provider/cmd/pulumi-resource-rancher2/main.go @@ -21,8 +21,8 @@ import ( "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge" - rancher2 "github.com/pulumi/pulumi-rancher2/provider/v7" - "github.com/pulumi/pulumi-rancher2/provider/v7/pkg/version" + rancher2 "github.com/pulumi/pulumi-rancher2/provider/v8" + "github.com/pulumi/pulumi-rancher2/provider/v8/pkg/version" ) //go:embed schema-embed.json diff --git a/provider/cmd/pulumi-resource-rancher2/schema.json b/provider/cmd/pulumi-resource-rancher2/schema.json index bd5e40027..9b48da45d 100644 --- a/provider/cmd/pulumi-resource-rancher2/schema.json +++ b/provider/cmd/pulumi-resource-rancher2/schema.json @@ -21,7 +21,7 @@ "respectSchemaVersion": true }, "go": { - "importBasePath": "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2", + "importBasePath": "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2", "generateResourceContainerTypes": true, "generateExtraInputTypes": true, "respectSchemaVersion": true @@ -646,6 +646,10 @@ "type": "string", "description": "The AKS node resource group name\n" }, + "outboundType": { + "type": "string", + "description": "The AKS outbound type for the egress traffic\n" + }, "privateCluster": { "type": "boolean", "description": "Is AKS cluster private?\n" @@ -8903,77 +8907,6 @@ "endpoint" ] }, - "rancher2:index/GlobalDnsProviderAlidnsConfig:GlobalDnsProviderAlidnsConfig": { - "properties": { - "accessKey": { - "type": "string", - "description": "The AWS Access key (string)\n" - }, - "secretKey": { - "type": "string", - "description": "The AWS Secret key (string)\n" - } - }, - "type": "object", - "required": [ - "accessKey", - "secretKey" - ] - }, - "rancher2:index/GlobalDnsProviderCloudflareConfig:GlobalDnsProviderCloudflareConfig": { - "properties": { - "apiEmail": { - "type": "string", - "description": "The CloudFlare API Email (string)\n" - }, - "apiKey": { - "type": "string", - "description": "The CloudFlare API Key (string)\n" - }, - "proxySetting": { - "type": "boolean", - "description": "CloudFlare Proxy Setting. Default: `false` (bool)\n" - } - }, - "type": "object", - "required": [ - "apiEmail", - "apiKey" - ] - }, - "rancher2:index/GlobalDnsProviderRoute53Config:GlobalDnsProviderRoute53Config": { - "properties": { - "accessKey": { - "type": "string", - "description": "The AWS Access key (string)\n" - }, - "credentialsPath": { - "type": "string", - "description": "The AWS credentials path. Default: `\"/.aws\"` (string)\n" - }, - "region": { - "type": "string", - "description": "The AWS Region. Default: `\"us-west-2\"` (string)\n" - }, - "roleArn": { - "type": "string", - "description": "The AWS Role ARN (string)\n" - }, - "secretKey": { - "type": "string", - "description": "The AWS Secret key (string)\n" - }, - "zoneType": { - "type": "string", - "description": "The Route53 zone type `public, private`. Default: `\"public\"` (string)\n" - } - }, - "type": "object", - "required": [ - "accessKey", - "secretKey" - ] - }, "rancher2:index/GlobalRoleRule:GlobalRoleRule": { "properties": { "apiGroups": { @@ -11739,6 +11672,10 @@ "type": "string", "description": "The AKS node resource group name\n" }, + "outboundType": { + "type": "string", + "description": "The AKS outbound type for the egress traffic\n" + }, "privateCluster": { "type": "boolean", "description": "Is AKS cluster private?\n" @@ -19249,81 +19186,6 @@ } } }, - "rancher2:index/getGlobalDnsProviderAlidnsConfig:getGlobalDnsProviderAlidnsConfig": { - "properties": { - "accessKey": { - "type": "string" - }, - "secretKey": { - "type": "string" - } - }, - "type": "object", - "required": [ - "accessKey", - "secretKey" - ], - "language": { - "nodejs": { - "requiredInputs": [] - } - } - }, - "rancher2:index/getGlobalDnsProviderCloudflareConfig:getGlobalDnsProviderCloudflareConfig": { - "properties": { - "apiEmail": { - "type": "string" - }, - "apiKey": { - "type": "string" - }, - "proxySetting": { - "type": "boolean" - } - }, - "type": "object", - "required": [ - "apiEmail", - "apiKey" - ], - "language": { - "nodejs": { - "requiredInputs": [] - } - } - }, - "rancher2:index/getGlobalDnsProviderRoute53Config:getGlobalDnsProviderRoute53Config": { - "properties": { - "accessKey": { - "type": "string" - }, - "credentialsPath": { - "type": "string" - }, - "region": { - "type": "string" - }, - "roleArn": { - "type": "string" - }, - "secretKey": { - "type": "string" - }, - "zoneType": { - "type": "string" - } - }, - "type": "object", - "required": [ - "accessKey", - "secretKey" - ], - "language": { - "nodejs": { - "requiredInputs": [] - } - } - }, "rancher2:index/getGlobalRoleRule:getGlobalRoleRule": { "properties": { "apiGroups": { @@ -19987,7 +19849,7 @@ }, "resources": { "rancher2:index/app:App": { - "description": "Provides a Rancher v2 app resource. This can be used to deploy apps within Rancher v2 projects.\n\nThis resource can also modify Rancher v2 apps in 3 ways:\n- `Update`: If `description`, `annotations` or `labels` arguments are modified the app will be updated. No new `revision_id` will be generated in Rancher.\n- `Upgrade`: If `answers`, `catalog_name`, `template_name`, `template_version` or `values_yaml` arguments are modified, the app will be upgraded. A new `revision_id` will be generated in Rancher.\n- `Rollback`: If `revision_id` argument is provided or modified the app will be rolled back accordingly. A new `revision_id` will be generated in Rancher. It will also generate a non-empty pulumi preview that will require manual .tf file intervention. Use carefully.\n\nNote: In case of multiple resource modifications in a row, `rollback` has preference over `upgrade`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 App\nconst foo = new rancher2.App(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n description: \"Foo app\",\n projectId: \"\u003cproject_id\u003e\",\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n targetNamespace: \"\u003cnamespace_name\u003e\",\n answers: {\n ingress_host: \"test.xip.io\",\n foo: \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": \"true\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 App\nfoo = rancher2.App(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n description=\"Foo app\",\n project_id=\"\u003cproject_id\u003e\",\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n target_namespace=\"\u003cnamespace_name\u003e\",\n answers={\n \"ingress_host\": \"test.xip.io\",\n \"foo\": \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": \"true\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 App\n var foo = new Rancher2.App(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Description = \"Foo app\",\n ProjectId = \"\u003cproject_id\u003e\",\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n TargetNamespace = \"\u003cnamespace_name\u003e\",\n Answers = \n {\n { \"ingress_host\", \"test.xip.io\" },\n { \"foo\", \"bar\" },\n { \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", \"true\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 App\n\t\t_, err := rancher2.NewApp(ctx, \"foo\", \u0026rancher2.AppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Foo app\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tTargetNamespace: pulumi.String(\"\u003cnamespace_name\u003e\"),\n\t\t\tAnswers: pulumi.StringMap{\n\t\t\t\t\"ingress_host\": pulumi.String(\"test.xip.io\"),\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": pulumi.String(\"true\"),\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.rancher2.App;\nimport com.pulumi.rancher2.AppArgs;\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 // Create a new rancher2 App\n var foo = new App(\"foo\", AppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .description(\"Foo app\")\n .projectId(\"\u003cproject_id\u003e\")\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .targetNamespace(\"\u003cnamespace_name\u003e\")\n .answers(Map.ofEntries(\n Map.entry(\"ingress_host\", \"test.xip.io\"),\n Map.entry(\"foo\", \"bar\"),\n Map.entry(\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", true)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 App\n foo:\n type: rancher2:App\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n description: Foo app\n projectId: \u003cproject_id\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n targetNamespace: \u003cnamespace_name\u003e\n answers:\n ingress_host: test.xip.io\n foo: bar\n ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 App in a new namespace\nconst foo = new rancher2.Namespace(\"foo\", {\n name: \"foo\",\n description: \"Foo namespace\",\n projectId: \"\u003cproject_id\u003e\",\n resourceQuota: {\n limit: {\n limitsCpu: \"100m\",\n limitsMemory: \"100Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n});\nconst fooApp = new rancher2.App(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n description: \"Foo app\",\n projectId: \"\u003cproject_id\u003e\",\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n targetNamespace: foo.id,\n answers: {\n ingress_host: \"test.xip.io\",\n foo: \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": \"true\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 App in a new namespace\nfoo = rancher2.Namespace(\"foo\",\n name=\"foo\",\n description=\"Foo namespace\",\n project_id=\"\u003cproject_id\u003e\",\n resource_quota={\n \"limit\": {\n \"limits_cpu\": \"100m\",\n \"limits_memory\": \"100Mi\",\n \"requests_storage\": \"1Gi\",\n },\n })\nfoo_app = rancher2.App(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n description=\"Foo app\",\n project_id=\"\u003cproject_id\u003e\",\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n target_namespace=foo.id,\n answers={\n \"ingress_host\": \"test.xip.io\",\n \"foo\": \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": \"true\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 App in a new namespace\n var foo = new Rancher2.Namespace(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Foo namespace\",\n ProjectId = \"\u003cproject_id\u003e\",\n ResourceQuota = new Rancher2.Inputs.NamespaceResourceQuotaArgs\n {\n Limit = new Rancher2.Inputs.NamespaceResourceQuotaLimitArgs\n {\n LimitsCpu = \"100m\",\n LimitsMemory = \"100Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n });\n\n var fooApp = new Rancher2.App(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Description = \"Foo app\",\n ProjectId = \"\u003cproject_id\u003e\",\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n TargetNamespace = foo.Id,\n Answers = \n {\n { \"ingress_host\", \"test.xip.io\" },\n { \"foo\", \"bar\" },\n { \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", \"true\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 App in a new namespace\n\t\tfoo, err := rancher2.NewNamespace(ctx, \"foo\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Foo namespace\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tResourceQuota: \u0026rancher2.NamespaceResourceQuotaArgs{\n\t\t\t\tLimit: \u0026rancher2.NamespaceResourceQuotaLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"100m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"100Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewApp(ctx, \"foo\", \u0026rancher2.AppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Foo app\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tTargetNamespace: foo.ID(),\n\t\t\tAnswers: pulumi.StringMap{\n\t\t\t\t\"ingress_host\": pulumi.String(\"test.xip.io\"),\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": pulumi.String(\"true\"),\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.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaLimitArgs;\nimport com.pulumi.rancher2.App;\nimport com.pulumi.rancher2.AppArgs;\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 // Create a new rancher2 App in a new namespace\n var foo = new Namespace(\"foo\", NamespaceArgs.builder()\n .name(\"foo\")\n .description(\"Foo namespace\")\n .projectId(\"\u003cproject_id\u003e\")\n .resourceQuota(NamespaceResourceQuotaArgs.builder()\n .limit(NamespaceResourceQuotaLimitArgs.builder()\n .limitsCpu(\"100m\")\n .limitsMemory(\"100Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .build());\n\n var fooApp = new App(\"fooApp\", AppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .description(\"Foo app\")\n .projectId(\"\u003cproject_id\u003e\")\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .targetNamespace(foo.id())\n .answers(Map.ofEntries(\n Map.entry(\"ingress_host\", \"test.xip.io\"),\n Map.entry(\"foo\", \"bar\"),\n Map.entry(\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", true)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 App in a new namespace\n foo:\n type: rancher2:Namespace\n properties:\n name: foo\n description: Foo namespace\n projectId: \u003cproject_id\u003e\n resourceQuota:\n limit:\n limitsCpu: 100m\n limitsMemory: 100Mi\n requestsStorage: 1Gi\n fooApp:\n type: rancher2:App\n name: foo\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n description: Foo app\n projectId: \u003cproject_id\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n targetNamespace: ${foo.id}\n answers:\n ingress_host: test.xip.io\n foo: bar\n ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApps can be imported using the app ID in the format `\u003cproject_id\u003e:\u003capp_name\u003e`\n\n```sh\n$ pulumi import rancher2:index/app:App foo \u0026lt;PROJECT_ID_ID\u0026gt;:\u0026lt;APP_NAME\u0026gt;\n```\n", + "description": "Provides a Rancher v2 app resource. This can be used to deploy apps within Rancher v2 projects.\n\nThis resource can also modify Rancher v2 apps in 3 ways:\n- `Update`: If `description`, `annotations` or `labels` arguments are modified the app will be updated. No new `revision_id` will be generated in Rancher.\n- `Upgrade`: If `answers`, `catalog_name`, `template_name`, `template_version` or `values_yaml` arguments are modified, the app will be upgraded. A new `revision_id` will be generated in Rancher.\n- `Rollback`: If `revision_id` argument is provided or modified the app will be rolled back accordingly. A new `revision_id` will be generated in Rancher. It will also generate a non-empty pulumi preview that will require manual .tf file intervention. Use carefully.\n\nNote: In case of multiple resource modifications in a row, `rollback` has preference over `upgrade`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 App\nconst foo = new rancher2.App(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n description: \"Foo app\",\n projectId: \"\u003cproject_id\u003e\",\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n targetNamespace: \"\u003cnamespace_name\u003e\",\n answers: {\n ingress_host: \"test.xip.io\",\n foo: \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": \"true\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 App\nfoo = rancher2.App(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n description=\"Foo app\",\n project_id=\"\u003cproject_id\u003e\",\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n target_namespace=\"\u003cnamespace_name\u003e\",\n answers={\n \"ingress_host\": \"test.xip.io\",\n \"foo\": \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": \"true\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 App\n var foo = new Rancher2.App(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Description = \"Foo app\",\n ProjectId = \"\u003cproject_id\u003e\",\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n TargetNamespace = \"\u003cnamespace_name\u003e\",\n Answers = \n {\n { \"ingress_host\", \"test.xip.io\" },\n { \"foo\", \"bar\" },\n { \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", \"true\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 App\n\t\t_, err := rancher2.NewApp(ctx, \"foo\", \u0026rancher2.AppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Foo app\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tTargetNamespace: pulumi.String(\"\u003cnamespace_name\u003e\"),\n\t\t\tAnswers: pulumi.StringMap{\n\t\t\t\t\"ingress_host\": pulumi.String(\"test.xip.io\"),\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": pulumi.String(\"true\"),\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.rancher2.App;\nimport com.pulumi.rancher2.AppArgs;\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 // Create a new rancher2 App\n var foo = new App(\"foo\", AppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .description(\"Foo app\")\n .projectId(\"\u003cproject_id\u003e\")\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .targetNamespace(\"\u003cnamespace_name\u003e\")\n .answers(Map.ofEntries(\n Map.entry(\"ingress_host\", \"test.xip.io\"),\n Map.entry(\"foo\", \"bar\"),\n Map.entry(\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", true)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 App\n foo:\n type: rancher2:App\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n description: Foo app\n projectId: \u003cproject_id\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n targetNamespace: \u003cnamespace_name\u003e\n answers:\n ingress_host: test.xip.io\n foo: bar\n ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 App in a new namespace\nconst foo = new rancher2.Namespace(\"foo\", {\n name: \"foo\",\n description: \"Foo namespace\",\n projectId: \"\u003cproject_id\u003e\",\n resourceQuota: {\n limit: {\n limitsCpu: \"100m\",\n limitsMemory: \"100Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n});\nconst fooApp = new rancher2.App(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n description: \"Foo app\",\n projectId: \"\u003cproject_id\u003e\",\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n targetNamespace: foo.id,\n answers: {\n ingress_host: \"test.xip.io\",\n foo: \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": \"true\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 App in a new namespace\nfoo = rancher2.Namespace(\"foo\",\n name=\"foo\",\n description=\"Foo namespace\",\n project_id=\"\u003cproject_id\u003e\",\n resource_quota={\n \"limit\": {\n \"limits_cpu\": \"100m\",\n \"limits_memory\": \"100Mi\",\n \"requests_storage\": \"1Gi\",\n },\n })\nfoo_app = rancher2.App(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n description=\"Foo app\",\n project_id=\"\u003cproject_id\u003e\",\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n target_namespace=foo.id,\n answers={\n \"ingress_host\": \"test.xip.io\",\n \"foo\": \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": \"true\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 App in a new namespace\n var foo = new Rancher2.Namespace(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Foo namespace\",\n ProjectId = \"\u003cproject_id\u003e\",\n ResourceQuota = new Rancher2.Inputs.NamespaceResourceQuotaArgs\n {\n Limit = new Rancher2.Inputs.NamespaceResourceQuotaLimitArgs\n {\n LimitsCpu = \"100m\",\n LimitsMemory = \"100Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n });\n\n var fooApp = new Rancher2.App(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Description = \"Foo app\",\n ProjectId = \"\u003cproject_id\u003e\",\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n TargetNamespace = foo.Id,\n Answers = \n {\n { \"ingress_host\", \"test.xip.io\" },\n { \"foo\", \"bar\" },\n { \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", \"true\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 App in a new namespace\n\t\tfoo, err := rancher2.NewNamespace(ctx, \"foo\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Foo namespace\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tResourceQuota: \u0026rancher2.NamespaceResourceQuotaArgs{\n\t\t\t\tLimit: \u0026rancher2.NamespaceResourceQuotaLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"100m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"100Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewApp(ctx, \"foo\", \u0026rancher2.AppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Foo app\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tTargetNamespace: foo.ID(),\n\t\t\tAnswers: pulumi.StringMap{\n\t\t\t\t\"ingress_host\": pulumi.String(\"test.xip.io\"),\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": pulumi.String(\"true\"),\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.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaLimitArgs;\nimport com.pulumi.rancher2.App;\nimport com.pulumi.rancher2.AppArgs;\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 // Create a new rancher2 App in a new namespace\n var foo = new Namespace(\"foo\", NamespaceArgs.builder()\n .name(\"foo\")\n .description(\"Foo namespace\")\n .projectId(\"\u003cproject_id\u003e\")\n .resourceQuota(NamespaceResourceQuotaArgs.builder()\n .limit(NamespaceResourceQuotaLimitArgs.builder()\n .limitsCpu(\"100m\")\n .limitsMemory(\"100Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .build());\n\n var fooApp = new App(\"fooApp\", AppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .description(\"Foo app\")\n .projectId(\"\u003cproject_id\u003e\")\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .targetNamespace(foo.id())\n .answers(Map.ofEntries(\n Map.entry(\"ingress_host\", \"test.xip.io\"),\n Map.entry(\"foo\", \"bar\"),\n Map.entry(\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", true)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 App in a new namespace\n foo:\n type: rancher2:Namespace\n properties:\n name: foo\n description: Foo namespace\n projectId: \u003cproject_id\u003e\n resourceQuota:\n limit:\n limitsCpu: 100m\n limitsMemory: 100Mi\n requestsStorage: 1Gi\n fooApp:\n type: rancher2:App\n name: foo\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n description: Foo app\n projectId: \u003cproject_id\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n targetNamespace: ${foo.id}\n answers:\n ingress_host: test.xip.io\n foo: bar\n ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApps can be imported using the app ID in the format `\u003cproject_id\u003e:\u003capp_name\u003e`\n\n```sh\n$ pulumi import rancher2:index/app:App foo \u0026lt;PROJECT_ID_ID\u0026gt;:\u0026lt;APP_NAME\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -20228,7 +20090,7 @@ } }, "rancher2:index/appV2:AppV2": { - "description": "Provides a Rancher App v2 resource. This can be used to manage helm charts for Rancher v2 environments and retrieve their information. App v2 resource is available at Rancher v2.5.x and above.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\nimport * as std from \"@pulumi/std\";\n\n// Create a new Rancher2 App V2 using\nconst foo = new rancher2.AppV2(\"foo\", {\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n name: \"rancher-monitoring\",\n namespace: \"cattle-monitoring-system\",\n repoName: \"rancher-charts\",\n chartName: \"rancher-monitoring\",\n chartVersion: \"9.4.200\",\n values: std.file({\n input: \"values.yaml\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\nimport pulumi_std as std\n\n# Create a new Rancher2 App V2 using\nfoo = rancher2.AppV2(\"foo\",\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n name=\"rancher-monitoring\",\n namespace=\"cattle-monitoring-system\",\n repo_name=\"rancher-charts\",\n chart_name=\"rancher-monitoring\",\n chart_version=\"9.4.200\",\n values=std.file(input=\"values.yaml\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Rancher2 App V2 using\n var foo = new Rancher2.AppV2(\"foo\", new()\n {\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n Name = \"rancher-monitoring\",\n Namespace = \"cattle-monitoring-system\",\n RepoName = \"rancher-charts\",\n ChartName = \"rancher-monitoring\",\n ChartVersion = \"9.4.200\",\n Values = Std.File.Invoke(new()\n {\n Input = \"values.yaml\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"values.yaml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Rancher2 App V2 using\n\t\t_, err = rancher2.NewAppV2(ctx, \"foo\", \u0026rancher2.AppV2Args{\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tName: pulumi.String(\"rancher-monitoring\"),\n\t\t\tNamespace: pulumi.String(\"cattle-monitoring-system\"),\n\t\t\tRepoName: pulumi.String(\"rancher-charts\"),\n\t\t\tChartName: pulumi.String(\"rancher-monitoring\"),\n\t\t\tChartVersion: pulumi.String(\"9.4.200\"),\n\t\t\tValues: pulumi.String(invokeFile.Result),\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.rancher2.AppV2;\nimport com.pulumi.rancher2.AppV2Args;\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 // Create a new Rancher2 App V2 using\n var foo = new AppV2(\"foo\", AppV2Args.builder()\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .name(\"rancher-monitoring\")\n .namespace(\"cattle-monitoring-system\")\n .repoName(\"rancher-charts\")\n .chartName(\"rancher-monitoring\")\n .chartVersion(\"9.4.200\")\n .values(StdFunctions.file(FileArgs.builder()\n .input(\"values.yaml\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Rancher2 App V2 using\n foo:\n type: rancher2:AppV2\n properties:\n clusterId: \u003cCLUSTER_ID\u003e\n name: rancher-monitoring\n namespace: cattle-monitoring-system\n repoName: rancher-charts\n chartName: rancher-monitoring\n chartVersion: 9.4.200\n values:\n fn::invoke:\n Function: std:file\n Arguments:\n input: values.yaml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an App from a Helm Chart using a different registry\n\nThe `system_default_registry` argument can override the global value at App installation. If argument is not provided, the global value for System Default Registry will be used instead.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst cisBenchmark = new rancher2.AppV2(\"cis_benchmark\", {\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n name: \"rancher-cis-benchmark\",\n namespace: \"cis-operator-system\",\n repoName: \"rancher-charts\",\n chartName: \"rancher-cis-benchmark\",\n systemDefaultRegistry: \"\u003csome.dns.here\u003e:\u003cPORT\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\ncis_benchmark = rancher2.AppV2(\"cis_benchmark\",\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n name=\"rancher-cis-benchmark\",\n namespace=\"cis-operator-system\",\n repo_name=\"rancher-charts\",\n chart_name=\"rancher-cis-benchmark\",\n system_default_registry=\"\u003csome.dns.here\u003e:\u003cPORT\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cisBenchmark = new Rancher2.AppV2(\"cis_benchmark\", new()\n {\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n Name = \"rancher-cis-benchmark\",\n Namespace = \"cis-operator-system\",\n RepoName = \"rancher-charts\",\n ChartName = \"rancher-cis-benchmark\",\n SystemDefaultRegistry = \"\u003csome.dns.here\u003e:\u003cPORT\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.NewAppV2(ctx, \"cis_benchmark\", \u0026rancher2.AppV2Args{\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tName: pulumi.String(\"rancher-cis-benchmark\"),\n\t\t\tNamespace: pulumi.String(\"cis-operator-system\"),\n\t\t\tRepoName: pulumi.String(\"rancher-charts\"),\n\t\t\tChartName: pulumi.String(\"rancher-cis-benchmark\"),\n\t\t\tSystemDefaultRegistry: pulumi.String(\"\u003csome.dns.here\u003e:\u003cPORT\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.rancher2.AppV2;\nimport com.pulumi.rancher2.AppV2Args;\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 cisBenchmark = new AppV2(\"cisBenchmark\", AppV2Args.builder()\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .name(\"rancher-cis-benchmark\")\n .namespace(\"cis-operator-system\")\n .repoName(\"rancher-charts\")\n .chartName(\"rancher-cis-benchmark\")\n .systemDefaultRegistry(\"\u003csome.dns.here\u003e:\u003cPORT\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cisBenchmark:\n type: rancher2:AppV2\n name: cis_benchmark\n properties:\n clusterId: \u003cCLUSTER_ID\u003e\n name: rancher-cis-benchmark\n namespace: cis-operator-system\n repoName: rancher-charts\n chartName: rancher-cis-benchmark\n systemDefaultRegistry: \u003csome.dns.here\u003e:\u003cPORT\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nV2 apps can be imported using the Rancher cluster ID and App V2 name, which is composed of `\u003cnamespace\u003e/\u003capplication_name\u003e`.\n\n```sh\n$ pulumi import rancher2:index/appV2:AppV2 foo \u0026lt;CLUSTER_ID\u0026gt;.\u0026lt;APP_V2_NAME\u0026gt;\n```\n", + "description": "Provides a Rancher App v2 resource. This can be used to manage helm charts for Rancher v2 environments and retrieve their information. App v2 resource is available at Rancher v2.5.x and above.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\nimport * as std from \"@pulumi/std\";\n\n// Create a new Rancher2 App V2 using\nconst foo = new rancher2.AppV2(\"foo\", {\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n name: \"rancher-monitoring\",\n namespace: \"cattle-monitoring-system\",\n repoName: \"rancher-charts\",\n chartName: \"rancher-monitoring\",\n chartVersion: \"9.4.200\",\n values: std.file({\n input: \"values.yaml\",\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\nimport pulumi_std as std\n\n# Create a new Rancher2 App V2 using\nfoo = rancher2.AppV2(\"foo\",\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n name=\"rancher-monitoring\",\n namespace=\"cattle-monitoring-system\",\n repo_name=\"rancher-charts\",\n chart_name=\"rancher-monitoring\",\n chart_version=\"9.4.200\",\n values=std.file(input=\"values.yaml\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Rancher2 App V2 using\n var foo = new Rancher2.AppV2(\"foo\", new()\n {\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n Name = \"rancher-monitoring\",\n Namespace = \"cattle-monitoring-system\",\n RepoName = \"rancher-charts\",\n ChartName = \"rancher-monitoring\",\n ChartVersion = \"9.4.200\",\n Values = Std.File.Invoke(new()\n {\n Input = \"values.yaml\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"values.yaml\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Rancher2 App V2 using\n\t\t_, err = rancher2.NewAppV2(ctx, \"foo\", \u0026rancher2.AppV2Args{\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tName: pulumi.String(\"rancher-monitoring\"),\n\t\t\tNamespace: pulumi.String(\"cattle-monitoring-system\"),\n\t\t\tRepoName: pulumi.String(\"rancher-charts\"),\n\t\t\tChartName: pulumi.String(\"rancher-monitoring\"),\n\t\t\tChartVersion: pulumi.String(\"9.4.200\"),\n\t\t\tValues: pulumi.String(invokeFile.Result),\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.rancher2.AppV2;\nimport com.pulumi.rancher2.AppV2Args;\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 // Create a new Rancher2 App V2 using\n var foo = new AppV2(\"foo\", AppV2Args.builder()\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .name(\"rancher-monitoring\")\n .namespace(\"cattle-monitoring-system\")\n .repoName(\"rancher-charts\")\n .chartName(\"rancher-monitoring\")\n .chartVersion(\"9.4.200\")\n .values(StdFunctions.file(FileArgs.builder()\n .input(\"values.yaml\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Rancher2 App V2 using\n foo:\n type: rancher2:AppV2\n properties:\n clusterId: \u003cCLUSTER_ID\u003e\n name: rancher-monitoring\n namespace: cattle-monitoring-system\n repoName: rancher-charts\n chartName: rancher-monitoring\n chartVersion: 9.4.200\n values:\n fn::invoke:\n Function: std:file\n Arguments:\n input: values.yaml\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an App from a Helm Chart using a different registry\n\nThe `system_default_registry` argument can override the global value at App installation. If argument is not provided, the global value for System Default Registry will be used instead.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst cisBenchmark = new rancher2.AppV2(\"cis_benchmark\", {\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n name: \"rancher-cis-benchmark\",\n namespace: \"cis-operator-system\",\n repoName: \"rancher-charts\",\n chartName: \"rancher-cis-benchmark\",\n systemDefaultRegistry: \"\u003csome.dns.here\u003e:\u003cPORT\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\ncis_benchmark = rancher2.AppV2(\"cis_benchmark\",\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n name=\"rancher-cis-benchmark\",\n namespace=\"cis-operator-system\",\n repo_name=\"rancher-charts\",\n chart_name=\"rancher-cis-benchmark\",\n system_default_registry=\"\u003csome.dns.here\u003e:\u003cPORT\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cisBenchmark = new Rancher2.AppV2(\"cis_benchmark\", new()\n {\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n Name = \"rancher-cis-benchmark\",\n Namespace = \"cis-operator-system\",\n RepoName = \"rancher-charts\",\n ChartName = \"rancher-cis-benchmark\",\n SystemDefaultRegistry = \"\u003csome.dns.here\u003e:\u003cPORT\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.NewAppV2(ctx, \"cis_benchmark\", \u0026rancher2.AppV2Args{\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tName: pulumi.String(\"rancher-cis-benchmark\"),\n\t\t\tNamespace: pulumi.String(\"cis-operator-system\"),\n\t\t\tRepoName: pulumi.String(\"rancher-charts\"),\n\t\t\tChartName: pulumi.String(\"rancher-cis-benchmark\"),\n\t\t\tSystemDefaultRegistry: pulumi.String(\"\u003csome.dns.here\u003e:\u003cPORT\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.rancher2.AppV2;\nimport com.pulumi.rancher2.AppV2Args;\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 cisBenchmark = new AppV2(\"cisBenchmark\", AppV2Args.builder()\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .name(\"rancher-cis-benchmark\")\n .namespace(\"cis-operator-system\")\n .repoName(\"rancher-charts\")\n .chartName(\"rancher-cis-benchmark\")\n .systemDefaultRegistry(\"\u003csome.dns.here\u003e:\u003cPORT\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cisBenchmark:\n type: rancher2:AppV2\n name: cis_benchmark\n properties:\n clusterId: \u003cCLUSTER_ID\u003e\n name: rancher-cis-benchmark\n namespace: cis-operator-system\n repoName: rancher-charts\n chartName: rancher-cis-benchmark\n systemDefaultRegistry: \u003csome.dns.here\u003e:\u003cPORT\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nV2 apps can be imported using the Rancher cluster ID and App V2 name, which is composed of `\u003cnamespace\u003e/\u003capplication_name\u003e`.\n\n```sh\n$ pulumi import rancher2:index/appV2:AppV2 foo \u0026lt;CLUSTER_ID\u0026gt;.\u0026lt;APP_V2_NAME\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -21000,7 +20862,7 @@ } }, "rancher2:index/authConfigAdfs:AuthConfigAdfs": { - "description": "Provides a Rancher v2 Auth Config ADFS resource. This can be used to configure and enable Auth Config ADFS for Rancher v2 RKE clusters and retrieve their information.\n\nIn addition to the built-in local auth, only one external auth config provider can be enabled at a time. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Auth Config ADFS\nconst adfs = new rancher2.AuthConfigAdfs(\"adfs\", {\n displayNameField: \"\u003cDISPLAY_NAME_FIELD\u003e\",\n groupsField: \"\u003cGROUPS_FIELD\u003e\",\n idpMetadataContent: \"\u003cIDP_METADATA_CONTENT\u003e\",\n rancherApiHost: \"https://\u003cRANCHER_API_HOST\u003e\",\n spCert: \"\u003cSP_CERT\u003e\",\n spKey: \"\u003cSP_KEY\u003e\",\n uidField: \"\u003cUID_FIELD\u003e\",\n userNameField: \"\u003cUSER_NAME_FIELD\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Auth Config ADFS\nadfs = rancher2.AuthConfigAdfs(\"adfs\",\n display_name_field=\"\u003cDISPLAY_NAME_FIELD\u003e\",\n groups_field=\"\u003cGROUPS_FIELD\u003e\",\n idp_metadata_content=\"\u003cIDP_METADATA_CONTENT\u003e\",\n rancher_api_host=\"https://\u003cRANCHER_API_HOST\u003e\",\n sp_cert=\"\u003cSP_CERT\u003e\",\n sp_key=\"\u003cSP_KEY\u003e\",\n uid_field=\"\u003cUID_FIELD\u003e\",\n user_name_field=\"\u003cUSER_NAME_FIELD\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Auth Config ADFS\n var adfs = new Rancher2.AuthConfigAdfs(\"adfs\", new()\n {\n DisplayNameField = \"\u003cDISPLAY_NAME_FIELD\u003e\",\n GroupsField = \"\u003cGROUPS_FIELD\u003e\",\n IdpMetadataContent = \"\u003cIDP_METADATA_CONTENT\u003e\",\n RancherApiHost = \"https://\u003cRANCHER_API_HOST\u003e\",\n SpCert = \"\u003cSP_CERT\u003e\",\n SpKey = \"\u003cSP_KEY\u003e\",\n UidField = \"\u003cUID_FIELD\u003e\",\n UserNameField = \"\u003cUSER_NAME_FIELD\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Auth Config ADFS\n\t\t_, err := rancher2.NewAuthConfigAdfs(ctx, \"adfs\", \u0026rancher2.AuthConfigAdfsArgs{\n\t\t\tDisplayNameField: pulumi.String(\"\u003cDISPLAY_NAME_FIELD\u003e\"),\n\t\t\tGroupsField: pulumi.String(\"\u003cGROUPS_FIELD\u003e\"),\n\t\t\tIdpMetadataContent: pulumi.String(\"\u003cIDP_METADATA_CONTENT\u003e\"),\n\t\t\tRancherApiHost: pulumi.String(\"https://\u003cRANCHER_API_HOST\u003e\"),\n\t\t\tSpCert: pulumi.String(\"\u003cSP_CERT\u003e\"),\n\t\t\tSpKey: pulumi.String(\"\u003cSP_KEY\u003e\"),\n\t\t\tUidField: pulumi.String(\"\u003cUID_FIELD\u003e\"),\n\t\t\tUserNameField: pulumi.String(\"\u003cUSER_NAME_FIELD\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.rancher2.AuthConfigAdfs;\nimport com.pulumi.rancher2.AuthConfigAdfsArgs;\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 // Create a new rancher2 Auth Config ADFS\n var adfs = new AuthConfigAdfs(\"adfs\", AuthConfigAdfsArgs.builder()\n .displayNameField(\"\u003cDISPLAY_NAME_FIELD\u003e\")\n .groupsField(\"\u003cGROUPS_FIELD\u003e\")\n .idpMetadataContent(\"\u003cIDP_METADATA_CONTENT\u003e\")\n .rancherApiHost(\"https://\u003cRANCHER_API_HOST\u003e\")\n .spCert(\"\u003cSP_CERT\u003e\")\n .spKey(\"\u003cSP_KEY\u003e\")\n .uidField(\"\u003cUID_FIELD\u003e\")\n .userNameField(\"\u003cUSER_NAME_FIELD\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Auth Config ADFS\n adfs:\n type: rancher2:AuthConfigAdfs\n properties:\n displayNameField: \u003cDISPLAY_NAME_FIELD\u003e\n groupsField: \u003cGROUPS_FIELD\u003e\n idpMetadataContent: \u003cIDP_METADATA_CONTENT\u003e\n rancherApiHost: https://\u003cRANCHER_API_HOST\u003e\n spCert: \u003cSP_CERT\u003e\n spKey: \u003cSP_KEY\u003e\n uidField: \u003cUID_FIELD\u003e\n userNameField: \u003cUSER_NAME_FIELD\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Rancher v2 Auth Config ADFS resource. This can be used to configure and enable Auth Config ADFS for Rancher v2 RKE clusters and retrieve their information.\n\nIn addition to the built-in local auth, only one external auth config provider can be enabled at a time. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Auth Config ADFS\nconst adfs = new rancher2.AuthConfigAdfs(\"adfs\", {\n displayNameField: \"\u003cDISPLAY_NAME_FIELD\u003e\",\n groupsField: \"\u003cGROUPS_FIELD\u003e\",\n idpMetadataContent: \"\u003cIDP_METADATA_CONTENT\u003e\",\n rancherApiHost: \"https://\u003cRANCHER_API_HOST\u003e\",\n spCert: \"\u003cSP_CERT\u003e\",\n spKey: \"\u003cSP_KEY\u003e\",\n uidField: \"\u003cUID_FIELD\u003e\",\n userNameField: \"\u003cUSER_NAME_FIELD\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Auth Config ADFS\nadfs = rancher2.AuthConfigAdfs(\"adfs\",\n display_name_field=\"\u003cDISPLAY_NAME_FIELD\u003e\",\n groups_field=\"\u003cGROUPS_FIELD\u003e\",\n idp_metadata_content=\"\u003cIDP_METADATA_CONTENT\u003e\",\n rancher_api_host=\"https://\u003cRANCHER_API_HOST\u003e\",\n sp_cert=\"\u003cSP_CERT\u003e\",\n sp_key=\"\u003cSP_KEY\u003e\",\n uid_field=\"\u003cUID_FIELD\u003e\",\n user_name_field=\"\u003cUSER_NAME_FIELD\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Auth Config ADFS\n var adfs = new Rancher2.AuthConfigAdfs(\"adfs\", new()\n {\n DisplayNameField = \"\u003cDISPLAY_NAME_FIELD\u003e\",\n GroupsField = \"\u003cGROUPS_FIELD\u003e\",\n IdpMetadataContent = \"\u003cIDP_METADATA_CONTENT\u003e\",\n RancherApiHost = \"https://\u003cRANCHER_API_HOST\u003e\",\n SpCert = \"\u003cSP_CERT\u003e\",\n SpKey = \"\u003cSP_KEY\u003e\",\n UidField = \"\u003cUID_FIELD\u003e\",\n UserNameField = \"\u003cUSER_NAME_FIELD\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Auth Config ADFS\n\t\t_, err := rancher2.NewAuthConfigAdfs(ctx, \"adfs\", \u0026rancher2.AuthConfigAdfsArgs{\n\t\t\tDisplayNameField: pulumi.String(\"\u003cDISPLAY_NAME_FIELD\u003e\"),\n\t\t\tGroupsField: pulumi.String(\"\u003cGROUPS_FIELD\u003e\"),\n\t\t\tIdpMetadataContent: pulumi.String(\"\u003cIDP_METADATA_CONTENT\u003e\"),\n\t\t\tRancherApiHost: pulumi.String(\"https://\u003cRANCHER_API_HOST\u003e\"),\n\t\t\tSpCert: pulumi.String(\"\u003cSP_CERT\u003e\"),\n\t\t\tSpKey: pulumi.String(\"\u003cSP_KEY\u003e\"),\n\t\t\tUidField: pulumi.String(\"\u003cUID_FIELD\u003e\"),\n\t\t\tUserNameField: pulumi.String(\"\u003cUSER_NAME_FIELD\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.rancher2.AuthConfigAdfs;\nimport com.pulumi.rancher2.AuthConfigAdfsArgs;\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 // Create a new rancher2 Auth Config ADFS\n var adfs = new AuthConfigAdfs(\"adfs\", AuthConfigAdfsArgs.builder()\n .displayNameField(\"\u003cDISPLAY_NAME_FIELD\u003e\")\n .groupsField(\"\u003cGROUPS_FIELD\u003e\")\n .idpMetadataContent(\"\u003cIDP_METADATA_CONTENT\u003e\")\n .rancherApiHost(\"https://\u003cRANCHER_API_HOST\u003e\")\n .spCert(\"\u003cSP_CERT\u003e\")\n .spKey(\"\u003cSP_KEY\u003e\")\n .uidField(\"\u003cUID_FIELD\u003e\")\n .userNameField(\"\u003cUSER_NAME_FIELD\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Auth Config ADFS\n adfs:\n type: rancher2:AuthConfigAdfs\n properties:\n displayNameField: \u003cDISPLAY_NAME_FIELD\u003e\n groupsField: \u003cGROUPS_FIELD\u003e\n idpMetadataContent: \u003cIDP_METADATA_CONTENT\u003e\n rancherApiHost: https://\u003cRANCHER_API_HOST\u003e\n spCert: \u003cSP_CERT\u003e\n spKey: \u003cSP_KEY\u003e\n uidField: \u003cUID_FIELD\u003e\n userNameField: \u003cUSER_NAME_FIELD\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "accessMode": { "type": "string", @@ -21245,7 +21107,7 @@ } }, "rancher2:index/authConfigAzureAd:AuthConfigAzureAd": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Auth Config AzureAD\nconst azuread = new rancher2.AuthConfigAzureAd(\"azuread\", {\n applicationId: \"\u003cAZUREAD_APP_ID\u003e\",\n applicationSecret: \"\u003cAZUREAD_APP_SECRET\u003e\",\n authEndpoint: \"\u003cAZUREAD_AUTH_ENDPOINT\u003e\",\n graphEndpoint: \"\u003cAZUREAD_GRAPH_ENDPOINT\u003e\",\n rancherUrl: \"\u003cRANCHER_URL\u003e\",\n tenantId: \"\u003cAZUREAD_TENANT_ID\u003e\",\n tokenEndpoint: \"\u003cAZUREAD_TOKEN_ENDPOINT\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Auth Config AzureAD\nazuread = rancher2.AuthConfigAzureAd(\"azuread\",\n application_id=\"\u003cAZUREAD_APP_ID\u003e\",\n application_secret=\"\u003cAZUREAD_APP_SECRET\u003e\",\n auth_endpoint=\"\u003cAZUREAD_AUTH_ENDPOINT\u003e\",\n graph_endpoint=\"\u003cAZUREAD_GRAPH_ENDPOINT\u003e\",\n rancher_url=\"\u003cRANCHER_URL\u003e\",\n tenant_id=\"\u003cAZUREAD_TENANT_ID\u003e\",\n token_endpoint=\"\u003cAZUREAD_TOKEN_ENDPOINT\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Auth Config AzureAD\n var azuread = new Rancher2.AuthConfigAzureAd(\"azuread\", new()\n {\n ApplicationId = \"\u003cAZUREAD_APP_ID\u003e\",\n ApplicationSecret = \"\u003cAZUREAD_APP_SECRET\u003e\",\n AuthEndpoint = \"\u003cAZUREAD_AUTH_ENDPOINT\u003e\",\n GraphEndpoint = \"\u003cAZUREAD_GRAPH_ENDPOINT\u003e\",\n RancherUrl = \"\u003cRANCHER_URL\u003e\",\n TenantId = \"\u003cAZUREAD_TENANT_ID\u003e\",\n TokenEndpoint = \"\u003cAZUREAD_TOKEN_ENDPOINT\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Auth Config AzureAD\n\t\t_, err := rancher2.NewAuthConfigAzureAd(ctx, \"azuread\", \u0026rancher2.AuthConfigAzureAdArgs{\n\t\t\tApplicationId: pulumi.String(\"\u003cAZUREAD_APP_ID\u003e\"),\n\t\t\tApplicationSecret: pulumi.String(\"\u003cAZUREAD_APP_SECRET\u003e\"),\n\t\t\tAuthEndpoint: pulumi.String(\"\u003cAZUREAD_AUTH_ENDPOINT\u003e\"),\n\t\t\tGraphEndpoint: pulumi.String(\"\u003cAZUREAD_GRAPH_ENDPOINT\u003e\"),\n\t\t\tRancherUrl: pulumi.String(\"\u003cRANCHER_URL\u003e\"),\n\t\t\tTenantId: pulumi.String(\"\u003cAZUREAD_TENANT_ID\u003e\"),\n\t\t\tTokenEndpoint: pulumi.String(\"\u003cAZUREAD_TOKEN_ENDPOINT\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.rancher2.AuthConfigAzureAd;\nimport com.pulumi.rancher2.AuthConfigAzureAdArgs;\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 // Create a new rancher2 Auth Config AzureAD\n var azuread = new AuthConfigAzureAd(\"azuread\", AuthConfigAzureAdArgs.builder()\n .applicationId(\"\u003cAZUREAD_APP_ID\u003e\")\n .applicationSecret(\"\u003cAZUREAD_APP_SECRET\u003e\")\n .authEndpoint(\"\u003cAZUREAD_AUTH_ENDPOINT\u003e\")\n .graphEndpoint(\"\u003cAZUREAD_GRAPH_ENDPOINT\u003e\")\n .rancherUrl(\"\u003cRANCHER_URL\u003e\")\n .tenantId(\"\u003cAZUREAD_TENANT_ID\u003e\")\n .tokenEndpoint(\"\u003cAZUREAD_TOKEN_ENDPOINT\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Auth Config AzureAD\n azuread:\n type: rancher2:AuthConfigAzureAd\n properties:\n applicationId: \u003cAZUREAD_APP_ID\u003e\n applicationSecret: \u003cAZUREAD_APP_SECRET\u003e\n authEndpoint: \u003cAZUREAD_AUTH_ENDPOINT\u003e\n graphEndpoint: \u003cAZUREAD_GRAPH_ENDPOINT\u003e\n rancherUrl: \u003cRANCHER_URL\u003e\n tenantId: \u003cAZUREAD_TENANT_ID\u003e\n tokenEndpoint: \u003cAZUREAD_TOKEN_ENDPOINT\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Auth Config AzureAD\nconst azuread = new rancher2.AuthConfigAzureAd(\"azuread\", {\n applicationId: \"\u003cAZUREAD_APP_ID\u003e\",\n applicationSecret: \"\u003cAZUREAD_APP_SECRET\u003e\",\n authEndpoint: \"\u003cAZUREAD_AUTH_ENDPOINT\u003e\",\n graphEndpoint: \"\u003cAZUREAD_GRAPH_ENDPOINT\u003e\",\n rancherUrl: \"\u003cRANCHER_URL\u003e\",\n tenantId: \"\u003cAZUREAD_TENANT_ID\u003e\",\n tokenEndpoint: \"\u003cAZUREAD_TOKEN_ENDPOINT\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Auth Config AzureAD\nazuread = rancher2.AuthConfigAzureAd(\"azuread\",\n application_id=\"\u003cAZUREAD_APP_ID\u003e\",\n application_secret=\"\u003cAZUREAD_APP_SECRET\u003e\",\n auth_endpoint=\"\u003cAZUREAD_AUTH_ENDPOINT\u003e\",\n graph_endpoint=\"\u003cAZUREAD_GRAPH_ENDPOINT\u003e\",\n rancher_url=\"\u003cRANCHER_URL\u003e\",\n tenant_id=\"\u003cAZUREAD_TENANT_ID\u003e\",\n token_endpoint=\"\u003cAZUREAD_TOKEN_ENDPOINT\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Auth Config AzureAD\n var azuread = new Rancher2.AuthConfigAzureAd(\"azuread\", new()\n {\n ApplicationId = \"\u003cAZUREAD_APP_ID\u003e\",\n ApplicationSecret = \"\u003cAZUREAD_APP_SECRET\u003e\",\n AuthEndpoint = \"\u003cAZUREAD_AUTH_ENDPOINT\u003e\",\n GraphEndpoint = \"\u003cAZUREAD_GRAPH_ENDPOINT\u003e\",\n RancherUrl = \"\u003cRANCHER_URL\u003e\",\n TenantId = \"\u003cAZUREAD_TENANT_ID\u003e\",\n TokenEndpoint = \"\u003cAZUREAD_TOKEN_ENDPOINT\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Auth Config AzureAD\n\t\t_, err := rancher2.NewAuthConfigAzureAd(ctx, \"azuread\", \u0026rancher2.AuthConfigAzureAdArgs{\n\t\t\tApplicationId: pulumi.String(\"\u003cAZUREAD_APP_ID\u003e\"),\n\t\t\tApplicationSecret: pulumi.String(\"\u003cAZUREAD_APP_SECRET\u003e\"),\n\t\t\tAuthEndpoint: pulumi.String(\"\u003cAZUREAD_AUTH_ENDPOINT\u003e\"),\n\t\t\tGraphEndpoint: pulumi.String(\"\u003cAZUREAD_GRAPH_ENDPOINT\u003e\"),\n\t\t\tRancherUrl: pulumi.String(\"\u003cRANCHER_URL\u003e\"),\n\t\t\tTenantId: pulumi.String(\"\u003cAZUREAD_TENANT_ID\u003e\"),\n\t\t\tTokenEndpoint: pulumi.String(\"\u003cAZUREAD_TOKEN_ENDPOINT\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.rancher2.AuthConfigAzureAd;\nimport com.pulumi.rancher2.AuthConfigAzureAdArgs;\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 // Create a new rancher2 Auth Config AzureAD\n var azuread = new AuthConfigAzureAd(\"azuread\", AuthConfigAzureAdArgs.builder()\n .applicationId(\"\u003cAZUREAD_APP_ID\u003e\")\n .applicationSecret(\"\u003cAZUREAD_APP_SECRET\u003e\")\n .authEndpoint(\"\u003cAZUREAD_AUTH_ENDPOINT\u003e\")\n .graphEndpoint(\"\u003cAZUREAD_GRAPH_ENDPOINT\u003e\")\n .rancherUrl(\"\u003cRANCHER_URL\u003e\")\n .tenantId(\"\u003cAZUREAD_TENANT_ID\u003e\")\n .tokenEndpoint(\"\u003cAZUREAD_TOKEN_ENDPOINT\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Auth Config AzureAD\n azuread:\n type: rancher2:AuthConfigAzureAd\n properties:\n applicationId: \u003cAZUREAD_APP_ID\u003e\n applicationSecret: \u003cAZUREAD_APP_SECRET\u003e\n authEndpoint: \u003cAZUREAD_AUTH_ENDPOINT\u003e\n graphEndpoint: \u003cAZUREAD_GRAPH_ENDPOINT\u003e\n rancherUrl: \u003cRANCHER_URL\u003e\n tenantId: \u003cAZUREAD_TENANT_ID\u003e\n tokenEndpoint: \u003cAZUREAD_TOKEN_ENDPOINT\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "accessMode": { "type": "string", @@ -21986,7 +21848,7 @@ } }, "rancher2:index/authConfigGithub:AuthConfigGithub": { - "description": "Provides a Rancher v2 Auth Config Github resource. This can be used to configure and enable Auth Config Github for Rancher v2 RKE clusters and retrieve their information.\n\nIn addition to the built-in local auth, only one external auth config provider can be enabled at a time. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Auth Config Github\nconst github = new rancher2.AuthConfigGithub(\"github\", {\n clientId: \"\u003cGITHUB_CLIENT_ID\u003e\",\n clientSecret: \"\u003cGITHUB_CLIENT_SECRET\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Auth Config Github\ngithub = rancher2.AuthConfigGithub(\"github\",\n client_id=\"\u003cGITHUB_CLIENT_ID\u003e\",\n client_secret=\"\u003cGITHUB_CLIENT_SECRET\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Auth Config Github\n var github = new Rancher2.AuthConfigGithub(\"github\", new()\n {\n ClientId = \"\u003cGITHUB_CLIENT_ID\u003e\",\n ClientSecret = \"\u003cGITHUB_CLIENT_SECRET\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Auth Config Github\n\t\t_, err := rancher2.NewAuthConfigGithub(ctx, \"github\", \u0026rancher2.AuthConfigGithubArgs{\n\t\t\tClientId: pulumi.String(\"\u003cGITHUB_CLIENT_ID\u003e\"),\n\t\t\tClientSecret: pulumi.String(\"\u003cGITHUB_CLIENT_SECRET\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.rancher2.AuthConfigGithub;\nimport com.pulumi.rancher2.AuthConfigGithubArgs;\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 // Create a new rancher2 Auth Config Github\n var github = new AuthConfigGithub(\"github\", AuthConfigGithubArgs.builder()\n .clientId(\"\u003cGITHUB_CLIENT_ID\u003e\")\n .clientSecret(\"\u003cGITHUB_CLIENT_SECRET\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Auth Config Github\n github:\n type: rancher2:AuthConfigGithub\n properties:\n clientId: \u003cGITHUB_CLIENT_ID\u003e\n clientSecret: \u003cGITHUB_CLIENT_SECRET\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Rancher v2 Auth Config Github resource. This can be used to configure and enable Auth Config Github for Rancher v2 RKE clusters and retrieve their information.\n\nIn addition to the built-in local auth, only one external auth config provider can be enabled at a time. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Auth Config Github\nconst github = new rancher2.AuthConfigGithub(\"github\", {\n clientId: \"\u003cGITHUB_CLIENT_ID\u003e\",\n clientSecret: \"\u003cGITHUB_CLIENT_SECRET\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Auth Config Github\ngithub = rancher2.AuthConfigGithub(\"github\",\n client_id=\"\u003cGITHUB_CLIENT_ID\u003e\",\n client_secret=\"\u003cGITHUB_CLIENT_SECRET\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Auth Config Github\n var github = new Rancher2.AuthConfigGithub(\"github\", new()\n {\n ClientId = \"\u003cGITHUB_CLIENT_ID\u003e\",\n ClientSecret = \"\u003cGITHUB_CLIENT_SECRET\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Auth Config Github\n\t\t_, err := rancher2.NewAuthConfigGithub(ctx, \"github\", \u0026rancher2.AuthConfigGithubArgs{\n\t\t\tClientId: pulumi.String(\"\u003cGITHUB_CLIENT_ID\u003e\"),\n\t\t\tClientSecret: pulumi.String(\"\u003cGITHUB_CLIENT_SECRET\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.rancher2.AuthConfigGithub;\nimport com.pulumi.rancher2.AuthConfigGithubArgs;\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 // Create a new rancher2 Auth Config Github\n var github = new AuthConfigGithub(\"github\", AuthConfigGithubArgs.builder()\n .clientId(\"\u003cGITHUB_CLIENT_ID\u003e\")\n .clientSecret(\"\u003cGITHUB_CLIENT_SECRET\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Auth Config Github\n github:\n type: rancher2:AuthConfigGithub\n properties:\n clientId: \u003cGITHUB_CLIENT_ID\u003e\n clientSecret: \u003cGITHUB_CLIENT_SECRET\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "accessMode": { "type": "string", @@ -22168,7 +22030,7 @@ } }, "rancher2:index/authConfigKeycloak:AuthConfigKeycloak": { - "description": "Provides a Rancher v2 Auth Config KeyCloak resource. This can be used to configure and enable Auth Config KeyCloak for Rancher v2 RKE clusters and retrieve their information.\n\nIn addition to the built-in local auth, only one external auth config provider can be enabled at a time.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Auth Config KeyCloak\nconst keycloak = new rancher2.AuthConfigKeycloak(\"keycloak\", {\n displayNameField: \"\u003cDISPLAY_NAME_FIELD\u003e\",\n groupsField: \"\u003cGROUPS_FIELD\u003e\",\n idpMetadataContent: \"\u003cIDP_METADATA_CONTENT\u003e\",\n rancherApiHost: \"https://\u003cRANCHER_API_HOST\u003e\",\n spCert: \"\u003cSP_CERT\u003e\",\n spKey: \"\u003cSP_KEY\u003e\",\n uidField: \"\u003cUID_FIELD\u003e\",\n userNameField: \"\u003cUSER_NAME_FIELD\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Auth Config KeyCloak\nkeycloak = rancher2.AuthConfigKeycloak(\"keycloak\",\n display_name_field=\"\u003cDISPLAY_NAME_FIELD\u003e\",\n groups_field=\"\u003cGROUPS_FIELD\u003e\",\n idp_metadata_content=\"\u003cIDP_METADATA_CONTENT\u003e\",\n rancher_api_host=\"https://\u003cRANCHER_API_HOST\u003e\",\n sp_cert=\"\u003cSP_CERT\u003e\",\n sp_key=\"\u003cSP_KEY\u003e\",\n uid_field=\"\u003cUID_FIELD\u003e\",\n user_name_field=\"\u003cUSER_NAME_FIELD\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Auth Config KeyCloak\n var keycloak = new Rancher2.AuthConfigKeycloak(\"keycloak\", new()\n {\n DisplayNameField = \"\u003cDISPLAY_NAME_FIELD\u003e\",\n GroupsField = \"\u003cGROUPS_FIELD\u003e\",\n IdpMetadataContent = \"\u003cIDP_METADATA_CONTENT\u003e\",\n RancherApiHost = \"https://\u003cRANCHER_API_HOST\u003e\",\n SpCert = \"\u003cSP_CERT\u003e\",\n SpKey = \"\u003cSP_KEY\u003e\",\n UidField = \"\u003cUID_FIELD\u003e\",\n UserNameField = \"\u003cUSER_NAME_FIELD\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Auth Config KeyCloak\n\t\t_, err := rancher2.NewAuthConfigKeycloak(ctx, \"keycloak\", \u0026rancher2.AuthConfigKeycloakArgs{\n\t\t\tDisplayNameField: pulumi.String(\"\u003cDISPLAY_NAME_FIELD\u003e\"),\n\t\t\tGroupsField: pulumi.String(\"\u003cGROUPS_FIELD\u003e\"),\n\t\t\tIdpMetadataContent: pulumi.String(\"\u003cIDP_METADATA_CONTENT\u003e\"),\n\t\t\tRancherApiHost: pulumi.String(\"https://\u003cRANCHER_API_HOST\u003e\"),\n\t\t\tSpCert: pulumi.String(\"\u003cSP_CERT\u003e\"),\n\t\t\tSpKey: pulumi.String(\"\u003cSP_KEY\u003e\"),\n\t\t\tUidField: pulumi.String(\"\u003cUID_FIELD\u003e\"),\n\t\t\tUserNameField: pulumi.String(\"\u003cUSER_NAME_FIELD\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.rancher2.AuthConfigKeycloak;\nimport com.pulumi.rancher2.AuthConfigKeycloakArgs;\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 // Create a new rancher2 Auth Config KeyCloak\n var keycloak = new AuthConfigKeycloak(\"keycloak\", AuthConfigKeycloakArgs.builder()\n .displayNameField(\"\u003cDISPLAY_NAME_FIELD\u003e\")\n .groupsField(\"\u003cGROUPS_FIELD\u003e\")\n .idpMetadataContent(\"\u003cIDP_METADATA_CONTENT\u003e\")\n .rancherApiHost(\"https://\u003cRANCHER_API_HOST\u003e\")\n .spCert(\"\u003cSP_CERT\u003e\")\n .spKey(\"\u003cSP_KEY\u003e\")\n .uidField(\"\u003cUID_FIELD\u003e\")\n .userNameField(\"\u003cUSER_NAME_FIELD\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Auth Config KeyCloak\n keycloak:\n type: rancher2:AuthConfigKeycloak\n properties:\n displayNameField: \u003cDISPLAY_NAME_FIELD\u003e\n groupsField: \u003cGROUPS_FIELD\u003e\n idpMetadataContent: \u003cIDP_METADATA_CONTENT\u003e\n rancherApiHost: https://\u003cRANCHER_API_HOST\u003e\n spCert: \u003cSP_CERT\u003e\n spKey: \u003cSP_KEY\u003e\n uidField: \u003cUID_FIELD\u003e\n userNameField: \u003cUSER_NAME_FIELD\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Rancher v2 Auth Config KeyCloak resource. This can be used to configure and enable Auth Config KeyCloak for Rancher v2 RKE clusters and retrieve their information.\n\nIn addition to the built-in local auth, only one external auth config provider can be enabled at a time.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Auth Config KeyCloak\nconst keycloak = new rancher2.AuthConfigKeycloak(\"keycloak\", {\n displayNameField: \"\u003cDISPLAY_NAME_FIELD\u003e\",\n groupsField: \"\u003cGROUPS_FIELD\u003e\",\n idpMetadataContent: \"\u003cIDP_METADATA_CONTENT\u003e\",\n rancherApiHost: \"https://\u003cRANCHER_API_HOST\u003e\",\n spCert: \"\u003cSP_CERT\u003e\",\n spKey: \"\u003cSP_KEY\u003e\",\n uidField: \"\u003cUID_FIELD\u003e\",\n userNameField: \"\u003cUSER_NAME_FIELD\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Auth Config KeyCloak\nkeycloak = rancher2.AuthConfigKeycloak(\"keycloak\",\n display_name_field=\"\u003cDISPLAY_NAME_FIELD\u003e\",\n groups_field=\"\u003cGROUPS_FIELD\u003e\",\n idp_metadata_content=\"\u003cIDP_METADATA_CONTENT\u003e\",\n rancher_api_host=\"https://\u003cRANCHER_API_HOST\u003e\",\n sp_cert=\"\u003cSP_CERT\u003e\",\n sp_key=\"\u003cSP_KEY\u003e\",\n uid_field=\"\u003cUID_FIELD\u003e\",\n user_name_field=\"\u003cUSER_NAME_FIELD\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Auth Config KeyCloak\n var keycloak = new Rancher2.AuthConfigKeycloak(\"keycloak\", new()\n {\n DisplayNameField = \"\u003cDISPLAY_NAME_FIELD\u003e\",\n GroupsField = \"\u003cGROUPS_FIELD\u003e\",\n IdpMetadataContent = \"\u003cIDP_METADATA_CONTENT\u003e\",\n RancherApiHost = \"https://\u003cRANCHER_API_HOST\u003e\",\n SpCert = \"\u003cSP_CERT\u003e\",\n SpKey = \"\u003cSP_KEY\u003e\",\n UidField = \"\u003cUID_FIELD\u003e\",\n UserNameField = \"\u003cUSER_NAME_FIELD\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Auth Config KeyCloak\n\t\t_, err := rancher2.NewAuthConfigKeycloak(ctx, \"keycloak\", \u0026rancher2.AuthConfigKeycloakArgs{\n\t\t\tDisplayNameField: pulumi.String(\"\u003cDISPLAY_NAME_FIELD\u003e\"),\n\t\t\tGroupsField: pulumi.String(\"\u003cGROUPS_FIELD\u003e\"),\n\t\t\tIdpMetadataContent: pulumi.String(\"\u003cIDP_METADATA_CONTENT\u003e\"),\n\t\t\tRancherApiHost: pulumi.String(\"https://\u003cRANCHER_API_HOST\u003e\"),\n\t\t\tSpCert: pulumi.String(\"\u003cSP_CERT\u003e\"),\n\t\t\tSpKey: pulumi.String(\"\u003cSP_KEY\u003e\"),\n\t\t\tUidField: pulumi.String(\"\u003cUID_FIELD\u003e\"),\n\t\t\tUserNameField: pulumi.String(\"\u003cUSER_NAME_FIELD\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.rancher2.AuthConfigKeycloak;\nimport com.pulumi.rancher2.AuthConfigKeycloakArgs;\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 // Create a new rancher2 Auth Config KeyCloak\n var keycloak = new AuthConfigKeycloak(\"keycloak\", AuthConfigKeycloakArgs.builder()\n .displayNameField(\"\u003cDISPLAY_NAME_FIELD\u003e\")\n .groupsField(\"\u003cGROUPS_FIELD\u003e\")\n .idpMetadataContent(\"\u003cIDP_METADATA_CONTENT\u003e\")\n .rancherApiHost(\"https://\u003cRANCHER_API_HOST\u003e\")\n .spCert(\"\u003cSP_CERT\u003e\")\n .spKey(\"\u003cSP_KEY\u003e\")\n .uidField(\"\u003cUID_FIELD\u003e\")\n .userNameField(\"\u003cUSER_NAME_FIELD\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Auth Config KeyCloak\n keycloak:\n type: rancher2:AuthConfigKeycloak\n properties:\n displayNameField: \u003cDISPLAY_NAME_FIELD\u003e\n groupsField: \u003cGROUPS_FIELD\u003e\n idpMetadataContent: \u003cIDP_METADATA_CONTENT\u003e\n rancherApiHost: https://\u003cRANCHER_API_HOST\u003e\n spCert: \u003cSP_CERT\u003e\n spKey: \u003cSP_KEY\u003e\n uidField: \u003cUID_FIELD\u003e\n userNameField: \u003cUSER_NAME_FIELD\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "accessMode": { "type": "string", @@ -22426,7 +22288,7 @@ } }, "rancher2:index/authConfigOkta:AuthConfigOkta": { - "description": "Provides a Rancher v2 Auth Config OKTA resource. This can be used to configure and enable Auth Config OKTA for Rancher v2 RKE clusters and retrieve their information.\n\nIn addition to the built-in local auth, only one external auth config provider can be enabled at a time.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Auth Config OKTA\nconst okta = new rancher2.AuthConfigOkta(\"okta\", {\n displayNameField: \"\u003cDISPLAY_NAME_FIELD\u003e\",\n groupsField: \"\u003cGROUPS_FIELD\u003e\",\n idpMetadataContent: \"\u003cIDP_METADATA_CONTENT\u003e\",\n rancherApiHost: \"https://\u003cRANCHER_API_HOST\u003e\",\n spCert: \"\u003cSP_CERT\u003e\",\n spKey: \"\u003cSP_KEY\u003e\",\n uidField: \"\u003cUID_FIELD\u003e\",\n userNameField: \"\u003cUSER_NAME_FIELD\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Auth Config OKTA\nokta = rancher2.AuthConfigOkta(\"okta\",\n display_name_field=\"\u003cDISPLAY_NAME_FIELD\u003e\",\n groups_field=\"\u003cGROUPS_FIELD\u003e\",\n idp_metadata_content=\"\u003cIDP_METADATA_CONTENT\u003e\",\n rancher_api_host=\"https://\u003cRANCHER_API_HOST\u003e\",\n sp_cert=\"\u003cSP_CERT\u003e\",\n sp_key=\"\u003cSP_KEY\u003e\",\n uid_field=\"\u003cUID_FIELD\u003e\",\n user_name_field=\"\u003cUSER_NAME_FIELD\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Auth Config OKTA\n var okta = new Rancher2.AuthConfigOkta(\"okta\", new()\n {\n DisplayNameField = \"\u003cDISPLAY_NAME_FIELD\u003e\",\n GroupsField = \"\u003cGROUPS_FIELD\u003e\",\n IdpMetadataContent = \"\u003cIDP_METADATA_CONTENT\u003e\",\n RancherApiHost = \"https://\u003cRANCHER_API_HOST\u003e\",\n SpCert = \"\u003cSP_CERT\u003e\",\n SpKey = \"\u003cSP_KEY\u003e\",\n UidField = \"\u003cUID_FIELD\u003e\",\n UserNameField = \"\u003cUSER_NAME_FIELD\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Auth Config OKTA\n\t\t_, err := rancher2.NewAuthConfigOkta(ctx, \"okta\", \u0026rancher2.AuthConfigOktaArgs{\n\t\t\tDisplayNameField: pulumi.String(\"\u003cDISPLAY_NAME_FIELD\u003e\"),\n\t\t\tGroupsField: pulumi.String(\"\u003cGROUPS_FIELD\u003e\"),\n\t\t\tIdpMetadataContent: pulumi.String(\"\u003cIDP_METADATA_CONTENT\u003e\"),\n\t\t\tRancherApiHost: pulumi.String(\"https://\u003cRANCHER_API_HOST\u003e\"),\n\t\t\tSpCert: pulumi.String(\"\u003cSP_CERT\u003e\"),\n\t\t\tSpKey: pulumi.String(\"\u003cSP_KEY\u003e\"),\n\t\t\tUidField: pulumi.String(\"\u003cUID_FIELD\u003e\"),\n\t\t\tUserNameField: pulumi.String(\"\u003cUSER_NAME_FIELD\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.rancher2.AuthConfigOkta;\nimport com.pulumi.rancher2.AuthConfigOktaArgs;\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 // Create a new rancher2 Auth Config OKTA\n var okta = new AuthConfigOkta(\"okta\", AuthConfigOktaArgs.builder()\n .displayNameField(\"\u003cDISPLAY_NAME_FIELD\u003e\")\n .groupsField(\"\u003cGROUPS_FIELD\u003e\")\n .idpMetadataContent(\"\u003cIDP_METADATA_CONTENT\u003e\")\n .rancherApiHost(\"https://\u003cRANCHER_API_HOST\u003e\")\n .spCert(\"\u003cSP_CERT\u003e\")\n .spKey(\"\u003cSP_KEY\u003e\")\n .uidField(\"\u003cUID_FIELD\u003e\")\n .userNameField(\"\u003cUSER_NAME_FIELD\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Auth Config OKTA\n okta:\n type: rancher2:AuthConfigOkta\n properties:\n displayNameField: \u003cDISPLAY_NAME_FIELD\u003e\n groupsField: \u003cGROUPS_FIELD\u003e\n idpMetadataContent: \u003cIDP_METADATA_CONTENT\u003e\n rancherApiHost: https://\u003cRANCHER_API_HOST\u003e\n spCert: \u003cSP_CERT\u003e\n spKey: \u003cSP_KEY\u003e\n uidField: \u003cUID_FIELD\u003e\n userNameField: \u003cUSER_NAME_FIELD\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Rancher v2 Auth Config OKTA resource. This can be used to configure and enable Auth Config OKTA for Rancher v2 RKE clusters and retrieve their information.\n\nIn addition to the built-in local auth, only one external auth config provider can be enabled at a time.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Auth Config OKTA\nconst okta = new rancher2.AuthConfigOkta(\"okta\", {\n displayNameField: \"\u003cDISPLAY_NAME_FIELD\u003e\",\n groupsField: \"\u003cGROUPS_FIELD\u003e\",\n idpMetadataContent: \"\u003cIDP_METADATA_CONTENT\u003e\",\n rancherApiHost: \"https://\u003cRANCHER_API_HOST\u003e\",\n spCert: \"\u003cSP_CERT\u003e\",\n spKey: \"\u003cSP_KEY\u003e\",\n uidField: \"\u003cUID_FIELD\u003e\",\n userNameField: \"\u003cUSER_NAME_FIELD\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Auth Config OKTA\nokta = rancher2.AuthConfigOkta(\"okta\",\n display_name_field=\"\u003cDISPLAY_NAME_FIELD\u003e\",\n groups_field=\"\u003cGROUPS_FIELD\u003e\",\n idp_metadata_content=\"\u003cIDP_METADATA_CONTENT\u003e\",\n rancher_api_host=\"https://\u003cRANCHER_API_HOST\u003e\",\n sp_cert=\"\u003cSP_CERT\u003e\",\n sp_key=\"\u003cSP_KEY\u003e\",\n uid_field=\"\u003cUID_FIELD\u003e\",\n user_name_field=\"\u003cUSER_NAME_FIELD\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Auth Config OKTA\n var okta = new Rancher2.AuthConfigOkta(\"okta\", new()\n {\n DisplayNameField = \"\u003cDISPLAY_NAME_FIELD\u003e\",\n GroupsField = \"\u003cGROUPS_FIELD\u003e\",\n IdpMetadataContent = \"\u003cIDP_METADATA_CONTENT\u003e\",\n RancherApiHost = \"https://\u003cRANCHER_API_HOST\u003e\",\n SpCert = \"\u003cSP_CERT\u003e\",\n SpKey = \"\u003cSP_KEY\u003e\",\n UidField = \"\u003cUID_FIELD\u003e\",\n UserNameField = \"\u003cUSER_NAME_FIELD\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Auth Config OKTA\n\t\t_, err := rancher2.NewAuthConfigOkta(ctx, \"okta\", \u0026rancher2.AuthConfigOktaArgs{\n\t\t\tDisplayNameField: pulumi.String(\"\u003cDISPLAY_NAME_FIELD\u003e\"),\n\t\t\tGroupsField: pulumi.String(\"\u003cGROUPS_FIELD\u003e\"),\n\t\t\tIdpMetadataContent: pulumi.String(\"\u003cIDP_METADATA_CONTENT\u003e\"),\n\t\t\tRancherApiHost: pulumi.String(\"https://\u003cRANCHER_API_HOST\u003e\"),\n\t\t\tSpCert: pulumi.String(\"\u003cSP_CERT\u003e\"),\n\t\t\tSpKey: pulumi.String(\"\u003cSP_KEY\u003e\"),\n\t\t\tUidField: pulumi.String(\"\u003cUID_FIELD\u003e\"),\n\t\t\tUserNameField: pulumi.String(\"\u003cUSER_NAME_FIELD\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.rancher2.AuthConfigOkta;\nimport com.pulumi.rancher2.AuthConfigOktaArgs;\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 // Create a new rancher2 Auth Config OKTA\n var okta = new AuthConfigOkta(\"okta\", AuthConfigOktaArgs.builder()\n .displayNameField(\"\u003cDISPLAY_NAME_FIELD\u003e\")\n .groupsField(\"\u003cGROUPS_FIELD\u003e\")\n .idpMetadataContent(\"\u003cIDP_METADATA_CONTENT\u003e\")\n .rancherApiHost(\"https://\u003cRANCHER_API_HOST\u003e\")\n .spCert(\"\u003cSP_CERT\u003e\")\n .spKey(\"\u003cSP_KEY\u003e\")\n .uidField(\"\u003cUID_FIELD\u003e\")\n .userNameField(\"\u003cUSER_NAME_FIELD\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Auth Config OKTA\n okta:\n type: rancher2:AuthConfigOkta\n properties:\n displayNameField: \u003cDISPLAY_NAME_FIELD\u003e\n groupsField: \u003cGROUPS_FIELD\u003e\n idpMetadataContent: \u003cIDP_METADATA_CONTENT\u003e\n rancherApiHost: https://\u003cRANCHER_API_HOST\u003e\n spCert: \u003cSP_CERT\u003e\n spKey: \u003cSP_KEY\u003e\n uidField: \u003cUID_FIELD\u003e\n userNameField: \u003cUSER_NAME_FIELD\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "accessMode": { "type": "string", @@ -23172,7 +23034,7 @@ } }, "rancher2:index/authConfigPing:AuthConfigPing": { - "description": "Provides a Rancher v2 Auth Config Ping resource. This can be used to configure and enable Auth Config Ping for Rancher v2 RKE clusters and retrieve their information.\n\nIn addition to the built-in local auth, only one external auth config provider can be enabled at a time.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Auth Config Ping\nconst ping = new rancher2.AuthConfigPing(\"ping\", {\n displayNameField: \"\u003cDISPLAY_NAME_FIELD\u003e\",\n groupsField: \"\u003cGROUPS_FIELD\u003e\",\n idpMetadataContent: \"\u003cIDP_METADATA_CONTENT\u003e\",\n rancherApiHost: \"https://\u003cRANCHER_API_HOST\u003e\",\n spCert: \"\u003cSP_CERT\u003e\",\n spKey: \"\u003cSP_KEY\u003e\",\n uidField: \"\u003cUID_FIELD\u003e\",\n userNameField: \"\u003cUSER_NAME_FIELD\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Auth Config Ping\nping = rancher2.AuthConfigPing(\"ping\",\n display_name_field=\"\u003cDISPLAY_NAME_FIELD\u003e\",\n groups_field=\"\u003cGROUPS_FIELD\u003e\",\n idp_metadata_content=\"\u003cIDP_METADATA_CONTENT\u003e\",\n rancher_api_host=\"https://\u003cRANCHER_API_HOST\u003e\",\n sp_cert=\"\u003cSP_CERT\u003e\",\n sp_key=\"\u003cSP_KEY\u003e\",\n uid_field=\"\u003cUID_FIELD\u003e\",\n user_name_field=\"\u003cUSER_NAME_FIELD\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Auth Config Ping\n var ping = new Rancher2.AuthConfigPing(\"ping\", new()\n {\n DisplayNameField = \"\u003cDISPLAY_NAME_FIELD\u003e\",\n GroupsField = \"\u003cGROUPS_FIELD\u003e\",\n IdpMetadataContent = \"\u003cIDP_METADATA_CONTENT\u003e\",\n RancherApiHost = \"https://\u003cRANCHER_API_HOST\u003e\",\n SpCert = \"\u003cSP_CERT\u003e\",\n SpKey = \"\u003cSP_KEY\u003e\",\n UidField = \"\u003cUID_FIELD\u003e\",\n UserNameField = \"\u003cUSER_NAME_FIELD\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Auth Config Ping\n\t\t_, err := rancher2.NewAuthConfigPing(ctx, \"ping\", \u0026rancher2.AuthConfigPingArgs{\n\t\t\tDisplayNameField: pulumi.String(\"\u003cDISPLAY_NAME_FIELD\u003e\"),\n\t\t\tGroupsField: pulumi.String(\"\u003cGROUPS_FIELD\u003e\"),\n\t\t\tIdpMetadataContent: pulumi.String(\"\u003cIDP_METADATA_CONTENT\u003e\"),\n\t\t\tRancherApiHost: pulumi.String(\"https://\u003cRANCHER_API_HOST\u003e\"),\n\t\t\tSpCert: pulumi.String(\"\u003cSP_CERT\u003e\"),\n\t\t\tSpKey: pulumi.String(\"\u003cSP_KEY\u003e\"),\n\t\t\tUidField: pulumi.String(\"\u003cUID_FIELD\u003e\"),\n\t\t\tUserNameField: pulumi.String(\"\u003cUSER_NAME_FIELD\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.rancher2.AuthConfigPing;\nimport com.pulumi.rancher2.AuthConfigPingArgs;\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 // Create a new rancher2 Auth Config Ping\n var ping = new AuthConfigPing(\"ping\", AuthConfigPingArgs.builder()\n .displayNameField(\"\u003cDISPLAY_NAME_FIELD\u003e\")\n .groupsField(\"\u003cGROUPS_FIELD\u003e\")\n .idpMetadataContent(\"\u003cIDP_METADATA_CONTENT\u003e\")\n .rancherApiHost(\"https://\u003cRANCHER_API_HOST\u003e\")\n .spCert(\"\u003cSP_CERT\u003e\")\n .spKey(\"\u003cSP_KEY\u003e\")\n .uidField(\"\u003cUID_FIELD\u003e\")\n .userNameField(\"\u003cUSER_NAME_FIELD\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Auth Config Ping\n ping:\n type: rancher2:AuthConfigPing\n properties:\n displayNameField: \u003cDISPLAY_NAME_FIELD\u003e\n groupsField: \u003cGROUPS_FIELD\u003e\n idpMetadataContent: \u003cIDP_METADATA_CONTENT\u003e\n rancherApiHost: https://\u003cRANCHER_API_HOST\u003e\n spCert: \u003cSP_CERT\u003e\n spKey: \u003cSP_KEY\u003e\n uidField: \u003cUID_FIELD\u003e\n userNameField: \u003cUSER_NAME_FIELD\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Rancher v2 Auth Config Ping resource. This can be used to configure and enable Auth Config Ping for Rancher v2 RKE clusters and retrieve their information.\n\nIn addition to the built-in local auth, only one external auth config provider can be enabled at a time.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Auth Config Ping\nconst ping = new rancher2.AuthConfigPing(\"ping\", {\n displayNameField: \"\u003cDISPLAY_NAME_FIELD\u003e\",\n groupsField: \"\u003cGROUPS_FIELD\u003e\",\n idpMetadataContent: \"\u003cIDP_METADATA_CONTENT\u003e\",\n rancherApiHost: \"https://\u003cRANCHER_API_HOST\u003e\",\n spCert: \"\u003cSP_CERT\u003e\",\n spKey: \"\u003cSP_KEY\u003e\",\n uidField: \"\u003cUID_FIELD\u003e\",\n userNameField: \"\u003cUSER_NAME_FIELD\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Auth Config Ping\nping = rancher2.AuthConfigPing(\"ping\",\n display_name_field=\"\u003cDISPLAY_NAME_FIELD\u003e\",\n groups_field=\"\u003cGROUPS_FIELD\u003e\",\n idp_metadata_content=\"\u003cIDP_METADATA_CONTENT\u003e\",\n rancher_api_host=\"https://\u003cRANCHER_API_HOST\u003e\",\n sp_cert=\"\u003cSP_CERT\u003e\",\n sp_key=\"\u003cSP_KEY\u003e\",\n uid_field=\"\u003cUID_FIELD\u003e\",\n user_name_field=\"\u003cUSER_NAME_FIELD\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Auth Config Ping\n var ping = new Rancher2.AuthConfigPing(\"ping\", new()\n {\n DisplayNameField = \"\u003cDISPLAY_NAME_FIELD\u003e\",\n GroupsField = \"\u003cGROUPS_FIELD\u003e\",\n IdpMetadataContent = \"\u003cIDP_METADATA_CONTENT\u003e\",\n RancherApiHost = \"https://\u003cRANCHER_API_HOST\u003e\",\n SpCert = \"\u003cSP_CERT\u003e\",\n SpKey = \"\u003cSP_KEY\u003e\",\n UidField = \"\u003cUID_FIELD\u003e\",\n UserNameField = \"\u003cUSER_NAME_FIELD\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Auth Config Ping\n\t\t_, err := rancher2.NewAuthConfigPing(ctx, \"ping\", \u0026rancher2.AuthConfigPingArgs{\n\t\t\tDisplayNameField: pulumi.String(\"\u003cDISPLAY_NAME_FIELD\u003e\"),\n\t\t\tGroupsField: pulumi.String(\"\u003cGROUPS_FIELD\u003e\"),\n\t\t\tIdpMetadataContent: pulumi.String(\"\u003cIDP_METADATA_CONTENT\u003e\"),\n\t\t\tRancherApiHost: pulumi.String(\"https://\u003cRANCHER_API_HOST\u003e\"),\n\t\t\tSpCert: pulumi.String(\"\u003cSP_CERT\u003e\"),\n\t\t\tSpKey: pulumi.String(\"\u003cSP_KEY\u003e\"),\n\t\t\tUidField: pulumi.String(\"\u003cUID_FIELD\u003e\"),\n\t\t\tUserNameField: pulumi.String(\"\u003cUSER_NAME_FIELD\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.rancher2.AuthConfigPing;\nimport com.pulumi.rancher2.AuthConfigPingArgs;\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 // Create a new rancher2 Auth Config Ping\n var ping = new AuthConfigPing(\"ping\", AuthConfigPingArgs.builder()\n .displayNameField(\"\u003cDISPLAY_NAME_FIELD\u003e\")\n .groupsField(\"\u003cGROUPS_FIELD\u003e\")\n .idpMetadataContent(\"\u003cIDP_METADATA_CONTENT\u003e\")\n .rancherApiHost(\"https://\u003cRANCHER_API_HOST\u003e\")\n .spCert(\"\u003cSP_CERT\u003e\")\n .spKey(\"\u003cSP_KEY\u003e\")\n .uidField(\"\u003cUID_FIELD\u003e\")\n .userNameField(\"\u003cUSER_NAME_FIELD\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Auth Config Ping\n ping:\n type: rancher2:AuthConfigPing\n properties:\n displayNameField: \u003cDISPLAY_NAME_FIELD\u003e\n groupsField: \u003cGROUPS_FIELD\u003e\n idpMetadataContent: \u003cIDP_METADATA_CONTENT\u003e\n rancherApiHost: https://\u003cRANCHER_API_HOST\u003e\n spCert: \u003cSP_CERT\u003e\n spKey: \u003cSP_KEY\u003e\n uidField: \u003cUID_FIELD\u003e\n userNameField: \u003cUSER_NAME_FIELD\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "accessMode": { "type": "string", @@ -23429,7 +23291,7 @@ } }, "rancher2:index/bootstrap:Bootstrap": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2_bootstrap\nconst admin = new rancher2.Bootstrap(\"admin\", {\n password: \"blahblah\",\n telemetry: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2_bootstrap\nadmin = rancher2.Bootstrap(\"admin\",\n password=\"blahblah\",\n telemetry=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2_bootstrap\n var admin = new Rancher2.Bootstrap(\"admin\", new()\n {\n Password = \"blahblah\",\n Telemetry = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2_bootstrap\n\t\t_, err := rancher2.NewBootstrap(ctx, \"admin\", \u0026rancher2.BootstrapArgs{\n\t\t\tPassword: pulumi.String(\"blahblah\"),\n\t\t\tTelemetry: 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.rancher2.Bootstrap;\nimport com.pulumi.rancher2.BootstrapArgs;\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 // Create a new rancher2_bootstrap\n var admin = new Bootstrap(\"admin\", BootstrapArgs.builder()\n .password(\"blahblah\")\n .telemetry(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2_bootstrap\n admin:\n type: rancher2:Bootstrap\n properties:\n password: blahblah\n telemetry: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2_bootstrap for Rancher v2.6.0 and above\nconst admin = new rancher2.Bootstrap(\"admin\", {\n initialPassword: \"\u003cINSTALL_PASSWORD\u003e\",\n password: \"blahblah\",\n telemetry: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2_bootstrap for Rancher v2.6.0 and above\nadmin = rancher2.Bootstrap(\"admin\",\n initial_password=\"\u003cINSTALL_PASSWORD\u003e\",\n password=\"blahblah\",\n telemetry=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2_bootstrap for Rancher v2.6.0 and above\n var admin = new Rancher2.Bootstrap(\"admin\", new()\n {\n InitialPassword = \"\u003cINSTALL_PASSWORD\u003e\",\n Password = \"blahblah\",\n Telemetry = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2_bootstrap for Rancher v2.6.0 and above\n\t\t_, err := rancher2.NewBootstrap(ctx, \"admin\", \u0026rancher2.BootstrapArgs{\n\t\t\tInitialPassword: pulumi.String(\"\u003cINSTALL_PASSWORD\u003e\"),\n\t\t\tPassword: pulumi.String(\"blahblah\"),\n\t\t\tTelemetry: 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.rancher2.Bootstrap;\nimport com.pulumi.rancher2.BootstrapArgs;\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 // Create a new rancher2_bootstrap for Rancher v2.6.0 and above\n var admin = new Bootstrap(\"admin\", BootstrapArgs.builder()\n .initialPassword(\"\u003cINSTALL_PASSWORD\u003e\")\n .password(\"blahblah\")\n .telemetry(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2_bootstrap for Rancher v2.6.0 and above\n admin:\n type: rancher2:Bootstrap\n properties:\n initialPassword: \u003cINSTALL_PASSWORD\u003e\n password: blahblah\n telemetry: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2_bootstrap using bootstrap provider config\nconst admin = new rancher2.Bootstrap(\"admin\", {\n password: \"blahblah\",\n telemetry: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2_bootstrap using bootstrap provider config\nadmin = rancher2.Bootstrap(\"admin\",\n password=\"blahblah\",\n telemetry=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2_bootstrap using bootstrap provider config\n var admin = new Rancher2.Bootstrap(\"admin\", new()\n {\n Password = \"blahblah\",\n Telemetry = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2_bootstrap using bootstrap provider config\n\t\t_, err := rancher2.NewBootstrap(ctx, \"admin\", \u0026rancher2.BootstrapArgs{\n\t\t\tPassword: pulumi.String(\"blahblah\"),\n\t\t\tTelemetry: 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.rancher2.Bootstrap;\nimport com.pulumi.rancher2.BootstrapArgs;\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 // Create a new rancher2_bootstrap using bootstrap provider config\n var admin = new Bootstrap(\"admin\", BootstrapArgs.builder()\n .password(\"blahblah\")\n .telemetry(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2_bootstrap using bootstrap provider config\n admin:\n type: rancher2:Bootstrap\n properties:\n password: blahblah\n telemetry: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2_bootstrap\nconst admin = new rancher2.Bootstrap(\"admin\", {\n password: \"blahblah\",\n telemetry: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2_bootstrap\nadmin = rancher2.Bootstrap(\"admin\",\n password=\"blahblah\",\n telemetry=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2_bootstrap\n var admin = new Rancher2.Bootstrap(\"admin\", new()\n {\n Password = \"blahblah\",\n Telemetry = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2_bootstrap\n\t\t_, err := rancher2.NewBootstrap(ctx, \"admin\", \u0026rancher2.BootstrapArgs{\n\t\t\tPassword: pulumi.String(\"blahblah\"),\n\t\t\tTelemetry: 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.rancher2.Bootstrap;\nimport com.pulumi.rancher2.BootstrapArgs;\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 // Create a new rancher2_bootstrap\n var admin = new Bootstrap(\"admin\", BootstrapArgs.builder()\n .password(\"blahblah\")\n .telemetry(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2_bootstrap\n admin:\n type: rancher2:Bootstrap\n properties:\n password: blahblah\n telemetry: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2_bootstrap for Rancher v2.6.0 and above\nconst admin = new rancher2.Bootstrap(\"admin\", {\n initialPassword: \"\u003cINSTALL_PASSWORD\u003e\",\n password: \"blahblah\",\n telemetry: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2_bootstrap for Rancher v2.6.0 and above\nadmin = rancher2.Bootstrap(\"admin\",\n initial_password=\"\u003cINSTALL_PASSWORD\u003e\",\n password=\"blahblah\",\n telemetry=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2_bootstrap for Rancher v2.6.0 and above\n var admin = new Rancher2.Bootstrap(\"admin\", new()\n {\n InitialPassword = \"\u003cINSTALL_PASSWORD\u003e\",\n Password = \"blahblah\",\n Telemetry = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2_bootstrap for Rancher v2.6.0 and above\n\t\t_, err := rancher2.NewBootstrap(ctx, \"admin\", \u0026rancher2.BootstrapArgs{\n\t\t\tInitialPassword: pulumi.String(\"\u003cINSTALL_PASSWORD\u003e\"),\n\t\t\tPassword: pulumi.String(\"blahblah\"),\n\t\t\tTelemetry: 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.rancher2.Bootstrap;\nimport com.pulumi.rancher2.BootstrapArgs;\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 // Create a new rancher2_bootstrap for Rancher v2.6.0 and above\n var admin = new Bootstrap(\"admin\", BootstrapArgs.builder()\n .initialPassword(\"\u003cINSTALL_PASSWORD\u003e\")\n .password(\"blahblah\")\n .telemetry(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2_bootstrap for Rancher v2.6.0 and above\n admin:\n type: rancher2:Bootstrap\n properties:\n initialPassword: \u003cINSTALL_PASSWORD\u003e\n password: blahblah\n telemetry: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2_bootstrap using bootstrap provider config\nconst admin = new rancher2.Bootstrap(\"admin\", {\n password: \"blahblah\",\n telemetry: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2_bootstrap using bootstrap provider config\nadmin = rancher2.Bootstrap(\"admin\",\n password=\"blahblah\",\n telemetry=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2_bootstrap using bootstrap provider config\n var admin = new Rancher2.Bootstrap(\"admin\", new()\n {\n Password = \"blahblah\",\n Telemetry = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2_bootstrap using bootstrap provider config\n\t\t_, err := rancher2.NewBootstrap(ctx, \"admin\", \u0026rancher2.BootstrapArgs{\n\t\t\tPassword: pulumi.String(\"blahblah\"),\n\t\t\tTelemetry: 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.rancher2.Bootstrap;\nimport com.pulumi.rancher2.BootstrapArgs;\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 // Create a new rancher2_bootstrap using bootstrap provider config\n var admin = new Bootstrap(\"admin\", BootstrapArgs.builder()\n .password(\"blahblah\")\n .telemetry(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2_bootstrap using bootstrap provider config\n admin:\n type: rancher2:Bootstrap\n properties:\n password: blahblah\n telemetry: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "currentPassword": { "type": "string", @@ -23592,7 +23454,7 @@ } }, "rancher2:index/catalog:Catalog": { - "description": "Provides a Rancher v2 Catalog resource. This can be used to create cluster, global and/or project catalogs for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new Rancher2 Global Catalog\nconst foo_global = new rancher2.Catalog(\"foo-global\", {\n name: \"foo-global\",\n url: \"https://\u003cCATALOG_URL\u003e\",\n});\n// Create a new Rancher2 Cluster Catalog\nconst foo_cluster = new rancher2.Catalog(\"foo-cluster\", {\n name: \"foo-cluster\",\n url: \"https://\u003cCATALOG_URL\u003e\",\n scope: \"cluster\",\n});\n// Create a new Rancher2 Project Catalog\nconst foo_project = new rancher2.Catalog(\"foo-project\", {\n name: \"foo-project\",\n url: \"https://\u003cCATALOG_URL\u003e\",\n scope: \"project\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new Rancher2 Global Catalog\nfoo_global = rancher2.Catalog(\"foo-global\",\n name=\"foo-global\",\n url=\"https://\u003cCATALOG_URL\u003e\")\n# Create a new Rancher2 Cluster Catalog\nfoo_cluster = rancher2.Catalog(\"foo-cluster\",\n name=\"foo-cluster\",\n url=\"https://\u003cCATALOG_URL\u003e\",\n scope=\"cluster\")\n# Create a new Rancher2 Project Catalog\nfoo_project = rancher2.Catalog(\"foo-project\",\n name=\"foo-project\",\n url=\"https://\u003cCATALOG_URL\u003e\",\n scope=\"project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Rancher2 Global Catalog\n var foo_global = new Rancher2.Catalog(\"foo-global\", new()\n {\n Name = \"foo-global\",\n Url = \"https://\u003cCATALOG_URL\u003e\",\n });\n\n // Create a new Rancher2 Cluster Catalog\n var foo_cluster = new Rancher2.Catalog(\"foo-cluster\", new()\n {\n Name = \"foo-cluster\",\n Url = \"https://\u003cCATALOG_URL\u003e\",\n Scope = \"cluster\",\n });\n\n // Create a new Rancher2 Project Catalog\n var foo_project = new Rancher2.Catalog(\"foo-project\", new()\n {\n Name = \"foo-project\",\n Url = \"https://\u003cCATALOG_URL\u003e\",\n Scope = \"project\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Rancher2 Global Catalog\n\t\t_, err := rancher2.NewCatalog(ctx, \"foo-global\", \u0026rancher2.CatalogArgs{\n\t\t\tName: pulumi.String(\"foo-global\"),\n\t\t\tUrl: pulumi.String(\"https://\u003cCATALOG_URL\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Rancher2 Cluster Catalog\n\t\t_, err = rancher2.NewCatalog(ctx, \"foo-cluster\", \u0026rancher2.CatalogArgs{\n\t\t\tName: pulumi.String(\"foo-cluster\"),\n\t\t\tUrl: pulumi.String(\"https://\u003cCATALOG_URL\u003e\"),\n\t\t\tScope: pulumi.String(\"cluster\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Rancher2 Project Catalog\n\t\t_, err = rancher2.NewCatalog(ctx, \"foo-project\", \u0026rancher2.CatalogArgs{\n\t\t\tName: pulumi.String(\"foo-project\"),\n\t\t\tUrl: pulumi.String(\"https://\u003cCATALOG_URL\u003e\"),\n\t\t\tScope: pulumi.String(\"project\"),\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.rancher2.Catalog;\nimport com.pulumi.rancher2.CatalogArgs;\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 // Create a new Rancher2 Global Catalog\n var foo_global = new Catalog(\"foo-global\", CatalogArgs.builder()\n .name(\"foo-global\")\n .url(\"https://\u003cCATALOG_URL\u003e\")\n .build());\n\n // Create a new Rancher2 Cluster Catalog\n var foo_cluster = new Catalog(\"foo-cluster\", CatalogArgs.builder()\n .name(\"foo-cluster\")\n .url(\"https://\u003cCATALOG_URL\u003e\")\n .scope(\"cluster\")\n .build());\n\n // Create a new Rancher2 Project Catalog\n var foo_project = new Catalog(\"foo-project\", CatalogArgs.builder()\n .name(\"foo-project\")\n .url(\"https://\u003cCATALOG_URL\u003e\")\n .scope(\"project\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Rancher2 Global Catalog\n foo-global:\n type: rancher2:Catalog\n properties:\n name: foo-global\n url: https://\u003cCATALOG_URL\u003e\n # Create a new Rancher2 Cluster Catalog\n foo-cluster:\n type: rancher2:Catalog\n properties:\n name: foo-cluster\n url: https://\u003cCATALOG_URL\u003e\n scope: cluster\n # Create a new Rancher2 Project Catalog\n foo-project:\n type: rancher2:Catalog\n properties:\n name: foo-project\n url: https://\u003cCATALOG_URL\u003e\n scope: project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCatalogs can be imported using the Rancher Catalog ID and its scope.\n\n```sh\n$ pulumi import rancher2:index/catalog:Catalog foo \u0026lt;SCOPE\u0026gt;.\u0026lt;CATALOG_ID_ID\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Catalog resource. This can be used to create cluster, global and/or project catalogs for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new Rancher2 Global Catalog\nconst foo_global = new rancher2.Catalog(\"foo-global\", {\n name: \"foo-global\",\n url: \"https://\u003cCATALOG_URL\u003e\",\n});\n// Create a new Rancher2 Cluster Catalog\nconst foo_cluster = new rancher2.Catalog(\"foo-cluster\", {\n name: \"foo-cluster\",\n url: \"https://\u003cCATALOG_URL\u003e\",\n scope: \"cluster\",\n});\n// Create a new Rancher2 Project Catalog\nconst foo_project = new rancher2.Catalog(\"foo-project\", {\n name: \"foo-project\",\n url: \"https://\u003cCATALOG_URL\u003e\",\n scope: \"project\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new Rancher2 Global Catalog\nfoo_global = rancher2.Catalog(\"foo-global\",\n name=\"foo-global\",\n url=\"https://\u003cCATALOG_URL\u003e\")\n# Create a new Rancher2 Cluster Catalog\nfoo_cluster = rancher2.Catalog(\"foo-cluster\",\n name=\"foo-cluster\",\n url=\"https://\u003cCATALOG_URL\u003e\",\n scope=\"cluster\")\n# Create a new Rancher2 Project Catalog\nfoo_project = rancher2.Catalog(\"foo-project\",\n name=\"foo-project\",\n url=\"https://\u003cCATALOG_URL\u003e\",\n scope=\"project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Rancher2 Global Catalog\n var foo_global = new Rancher2.Catalog(\"foo-global\", new()\n {\n Name = \"foo-global\",\n Url = \"https://\u003cCATALOG_URL\u003e\",\n });\n\n // Create a new Rancher2 Cluster Catalog\n var foo_cluster = new Rancher2.Catalog(\"foo-cluster\", new()\n {\n Name = \"foo-cluster\",\n Url = \"https://\u003cCATALOG_URL\u003e\",\n Scope = \"cluster\",\n });\n\n // Create a new Rancher2 Project Catalog\n var foo_project = new Rancher2.Catalog(\"foo-project\", new()\n {\n Name = \"foo-project\",\n Url = \"https://\u003cCATALOG_URL\u003e\",\n Scope = \"project\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Rancher2 Global Catalog\n\t\t_, err := rancher2.NewCatalog(ctx, \"foo-global\", \u0026rancher2.CatalogArgs{\n\t\t\tName: pulumi.String(\"foo-global\"),\n\t\t\tUrl: pulumi.String(\"https://\u003cCATALOG_URL\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Rancher2 Cluster Catalog\n\t\t_, err = rancher2.NewCatalog(ctx, \"foo-cluster\", \u0026rancher2.CatalogArgs{\n\t\t\tName: pulumi.String(\"foo-cluster\"),\n\t\t\tUrl: pulumi.String(\"https://\u003cCATALOG_URL\u003e\"),\n\t\t\tScope: pulumi.String(\"cluster\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Rancher2 Project Catalog\n\t\t_, err = rancher2.NewCatalog(ctx, \"foo-project\", \u0026rancher2.CatalogArgs{\n\t\t\tName: pulumi.String(\"foo-project\"),\n\t\t\tUrl: pulumi.String(\"https://\u003cCATALOG_URL\u003e\"),\n\t\t\tScope: pulumi.String(\"project\"),\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.rancher2.Catalog;\nimport com.pulumi.rancher2.CatalogArgs;\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 // Create a new Rancher2 Global Catalog\n var foo_global = new Catalog(\"foo-global\", CatalogArgs.builder()\n .name(\"foo-global\")\n .url(\"https://\u003cCATALOG_URL\u003e\")\n .build());\n\n // Create a new Rancher2 Cluster Catalog\n var foo_cluster = new Catalog(\"foo-cluster\", CatalogArgs.builder()\n .name(\"foo-cluster\")\n .url(\"https://\u003cCATALOG_URL\u003e\")\n .scope(\"cluster\")\n .build());\n\n // Create a new Rancher2 Project Catalog\n var foo_project = new Catalog(\"foo-project\", CatalogArgs.builder()\n .name(\"foo-project\")\n .url(\"https://\u003cCATALOG_URL\u003e\")\n .scope(\"project\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Rancher2 Global Catalog\n foo-global:\n type: rancher2:Catalog\n properties:\n name: foo-global\n url: https://\u003cCATALOG_URL\u003e\n # Create a new Rancher2 Cluster Catalog\n foo-cluster:\n type: rancher2:Catalog\n properties:\n name: foo-cluster\n url: https://\u003cCATALOG_URL\u003e\n scope: cluster\n # Create a new Rancher2 Project Catalog\n foo-project:\n type: rancher2:Catalog\n properties:\n name: foo-project\n url: https://\u003cCATALOG_URL\u003e\n scope: project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCatalogs can be imported using the Rancher Catalog ID and its scope.\n\n```sh\n$ pulumi import rancher2:index/catalog:Catalog foo \u0026lt;SCOPE\u0026gt;.\u0026lt;CATALOG_ID_ID\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -24235,7 +24097,7 @@ } }, "rancher2:index/cloudCredential:CloudCredential": { - "description": "Provides a Rancher v2 Cloud Credential resource. This can be used to create Cloud Credential for Rancher v2.2.x and retrieve their information.\n\namazonec2, azure, digitalocean, harvester, linode, openstack and vsphere credentials config are supported for Cloud Credential.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cloud Credential\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cloud Credential\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config={\n \"access_key\": \"\u003cAWS_ACCESS_KEY\u003e\",\n \"secret_key\": \"\u003cAWS_SECRET_KEY\u003e\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cloud Credential\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cloud Credential\n\t\t_, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\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.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\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 // Create a new rancher2 Cloud Credential\n var foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cloud Credential\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Get imported harvester cluster info\nconst foo-harvester = rancher2.getClusterV2({\n name: \"foo-harvester\",\n});\n// Create a new Cloud Credential for an imported Harvester cluster\nconst foo_harvesterCloudCredential = new rancher2.CloudCredential(\"foo-harvester\", {\n name: \"foo-harvester\",\n harvesterCredentialConfig: {\n clusterId: foo_harvester.then(foo_harvester =\u003e foo_harvester.clusterV1Id),\n clusterType: \"imported\",\n kubeconfigContent: foo_harvester.then(foo_harvester =\u003e foo_harvester.kubeConfig),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Get imported harvester cluster info\nfoo_harvester = rancher2.get_cluster_v2(name=\"foo-harvester\")\n# Create a new Cloud Credential for an imported Harvester cluster\nfoo_harvester_cloud_credential = rancher2.CloudCredential(\"foo-harvester\",\n name=\"foo-harvester\",\n harvester_credential_config={\n \"cluster_id\": foo_harvester.cluster_v1_id,\n \"cluster_type\": \"imported\",\n \"kubeconfig_content\": foo_harvester.kube_config,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get imported harvester cluster info\n var foo_harvester = Rancher2.GetClusterV2.Invoke(new()\n {\n Name = \"foo-harvester\",\n });\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new Rancher2.CloudCredential(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n HarvesterCredentialConfig = new Rancher2.Inputs.CloudCredentialHarvesterCredentialConfigArgs\n {\n ClusterId = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.ClusterV1Id)),\n ClusterType = \"imported\",\n KubeconfigContent = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.KubeConfig)),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get imported harvester cluster info\n\t\tfoo_harvester, err := rancher2.LookupClusterV2(ctx, \u0026rancher2.LookupClusterV2Args{\n\t\t\tName: \"foo-harvester\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Cloud Credential for an imported Harvester cluster\n\t\t_, err = rancher2.NewCloudCredential(ctx, \"foo-harvester\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tHarvesterCredentialConfig: \u0026rancher2.CloudCredentialHarvesterCredentialConfigArgs{\n\t\t\t\tClusterId: pulumi.String(foo_harvester.ClusterV1Id),\n\t\t\t\tClusterType: pulumi.String(\"imported\"),\n\t\t\t\tKubeconfigContent: pulumi.String(foo_harvester.KubeConfig),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterV2Args;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialHarvesterCredentialConfigArgs;\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 // Get imported harvester cluster info\n final var foo-harvester = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()\n .name(\"foo-harvester\")\n .build());\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new CloudCredential(\"foo-harvesterCloudCredential\", CloudCredentialArgs.builder()\n .name(\"foo-harvester\")\n .harvesterCredentialConfig(CloudCredentialHarvesterCredentialConfigArgs.builder()\n .clusterId(foo_harvester.clusterV1Id())\n .clusterType(\"imported\")\n .kubeconfigContent(foo_harvester.kubeConfig())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Cloud Credential for an imported Harvester cluster\n foo-harvesterCloudCredential:\n type: rancher2:CloudCredential\n name: foo-harvester\n properties:\n name: foo-harvester\n harvesterCredentialConfig:\n clusterId: ${[\"foo-harvester\"].clusterV1Id}\n clusterType: imported\n kubeconfigContent: ${[\"foo-harvester\"].kubeConfig}\nvariables:\n # Get imported harvester cluster info\n foo-harvester:\n fn::invoke:\n Function: rancher2:getClusterV2\n Arguments:\n name: foo-harvester\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Credential can be imported using the Cloud Credential ID and the Driver name.\n\nbash\n\n```sh\n$ pulumi import rancher2:index/cloudCredential:CloudCredential foo \u0026lt;CLOUD_CREDENTIAL_ID\u0026gt;.\u0026lt;DRIVER\u0026gt;\n```\n\nThe following drivers are supported:\n\n* amazonec2\n\n* azure\n\n* digitalocean\n\n* googlekubernetesengine\n\n* linode\n\n* openstack\n\n* s3\n\n* vmwarevsphere\n\n", + "description": "Provides a Rancher v2 Cloud Credential resource. This can be used to create Cloud Credential for Rancher v2.2.x and retrieve their information.\n\namazonec2, azure, digitalocean, harvester, linode, openstack and vsphere credentials config are supported for Cloud Credential.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cloud Credential\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cloud Credential\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config={\n \"access_key\": \"\u003cAWS_ACCESS_KEY\u003e\",\n \"secret_key\": \"\u003cAWS_SECRET_KEY\u003e\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cloud Credential\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cloud Credential\n\t\t_, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\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.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\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 // Create a new rancher2 Cloud Credential\n var foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cloud Credential\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Get imported harvester cluster info\nconst foo-harvester = rancher2.getClusterV2({\n name: \"foo-harvester\",\n});\n// Create a new Cloud Credential for an imported Harvester cluster\nconst foo_harvesterCloudCredential = new rancher2.CloudCredential(\"foo-harvester\", {\n name: \"foo-harvester\",\n harvesterCredentialConfig: {\n clusterId: foo_harvester.then(foo_harvester =\u003e foo_harvester.clusterV1Id),\n clusterType: \"imported\",\n kubeconfigContent: foo_harvester.then(foo_harvester =\u003e foo_harvester.kubeConfig),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Get imported harvester cluster info\nfoo_harvester = rancher2.get_cluster_v2(name=\"foo-harvester\")\n# Create a new Cloud Credential for an imported Harvester cluster\nfoo_harvester_cloud_credential = rancher2.CloudCredential(\"foo-harvester\",\n name=\"foo-harvester\",\n harvester_credential_config={\n \"cluster_id\": foo_harvester.cluster_v1_id,\n \"cluster_type\": \"imported\",\n \"kubeconfig_content\": foo_harvester.kube_config,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get imported harvester cluster info\n var foo_harvester = Rancher2.GetClusterV2.Invoke(new()\n {\n Name = \"foo-harvester\",\n });\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new Rancher2.CloudCredential(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n HarvesterCredentialConfig = new Rancher2.Inputs.CloudCredentialHarvesterCredentialConfigArgs\n {\n ClusterId = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.ClusterV1Id)),\n ClusterType = \"imported\",\n KubeconfigContent = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.KubeConfig)),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get imported harvester cluster info\n\t\tfoo_harvester, err := rancher2.LookupClusterV2(ctx, \u0026rancher2.LookupClusterV2Args{\n\t\t\tName: \"foo-harvester\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Cloud Credential for an imported Harvester cluster\n\t\t_, err = rancher2.NewCloudCredential(ctx, \"foo-harvester\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tHarvesterCredentialConfig: \u0026rancher2.CloudCredentialHarvesterCredentialConfigArgs{\n\t\t\t\tClusterId: pulumi.String(foo_harvester.ClusterV1Id),\n\t\t\t\tClusterType: pulumi.String(\"imported\"),\n\t\t\t\tKubeconfigContent: pulumi.String(foo_harvester.KubeConfig),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterV2Args;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialHarvesterCredentialConfigArgs;\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 // Get imported harvester cluster info\n final var foo-harvester = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()\n .name(\"foo-harvester\")\n .build());\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new CloudCredential(\"foo-harvesterCloudCredential\", CloudCredentialArgs.builder()\n .name(\"foo-harvester\")\n .harvesterCredentialConfig(CloudCredentialHarvesterCredentialConfigArgs.builder()\n .clusterId(foo_harvester.clusterV1Id())\n .clusterType(\"imported\")\n .kubeconfigContent(foo_harvester.kubeConfig())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Cloud Credential for an imported Harvester cluster\n foo-harvesterCloudCredential:\n type: rancher2:CloudCredential\n name: foo-harvester\n properties:\n name: foo-harvester\n harvesterCredentialConfig:\n clusterId: ${[\"foo-harvester\"].clusterV1Id}\n clusterType: imported\n kubeconfigContent: ${[\"foo-harvester\"].kubeConfig}\nvariables:\n # Get imported harvester cluster info\n foo-harvester:\n fn::invoke:\n Function: rancher2:getClusterV2\n Arguments:\n name: foo-harvester\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Credential can be imported using the Cloud Credential ID and the Driver name.\n\nbash\n\n```sh\n$ pulumi import rancher2:index/cloudCredential:CloudCredential foo \u0026lt;CLOUD_CREDENTIAL_ID\u0026gt;.\u0026lt;DRIVER\u0026gt;\n```\n\nThe following drivers are supported:\n\n* amazonec2\n\n* azure\n\n* digitalocean\n\n* googlekubernetesengine\n\n* linode\n\n* openstack\n\n* s3\n\n* vmwarevsphere\n\n", "properties": { "amazonec2CredentialConfig": { "$ref": "#/types/rancher2:index/CloudCredentialAmazonec2CredentialConfig:CloudCredentialAmazonec2CredentialConfig", @@ -24436,7 +24298,7 @@ } }, "rancher2:index/cluster:Cluster": { - "description": "Provides a Rancher v2 Cluster resource. This can be used to create Clusters for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n**Note optional/computed arguments** If any `optional/computed` argument of this resource is defined by the user, removing it from tf file will NOT reset its value. To reset it, let its definition at tf file as empty/false object. Ex: `cloud_provider {}`, `name = \"\"`\n\n### Creating Rancher v2 imported cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 imported Cluster\nconst foo_imported = new rancher2.Cluster(\"foo-imported\", {\n name: \"foo-imported\",\n description: \"Foo rancher2 imported cluster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 imported Cluster\nfoo_imported = rancher2.Cluster(\"foo-imported\",\n name=\"foo-imported\",\n description=\"Foo rancher2 imported cluster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 imported Cluster\n var foo_imported = new Rancher2.Cluster(\"foo-imported\", new()\n {\n Name = \"foo-imported\",\n Description = \"Foo rancher2 imported cluster\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 imported Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-imported\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-imported\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 imported cluster\"),\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.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\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 // Create a new rancher2 imported Cluster\n var foo_imported = new Cluster(\"foo-imported\", ClusterArgs.builder()\n .name(\"foo-imported\")\n .description(\"Foo rancher2 imported cluster\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 imported Cluster\n foo-imported:\n type: rancher2:Cluster\n properties:\n name: foo-imported\n description: Foo rancher2 imported cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreating Rancher v2 RKE cluster\n\n### Creating Rancher v2 RKE cluster enabling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 RKE Cluster\nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 RKE Cluster\nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 RKE Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\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 // Create a new rancher2 RKE Cluster\n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 RKE Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster enabling/customizing istio\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 RKE Cluster\nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n// Create a new rancher2 Cluster Sync for foo-custom cluster\nconst foo_customClusterSync = new rancher2.ClusterSync(\"foo-custom\", {clusterId: foo_custom.id});\n// Create a new rancher2 Namespace\nconst foo_istio = new rancher2.Namespace(\"foo-istio\", {\n name: \"istio-system\",\n projectId: foo_customClusterSync.systemProjectId,\n description: \"istio namespace\",\n});\n// Create a new rancher2 App deploying istio\nconst istio = new rancher2.App(\"istio\", {\n catalogName: \"system-library\",\n name: \"cluster-istio\",\n description: \"Terraform app acceptance test\",\n projectId: foo_istio.projectId,\n templateName: \"rancher-istio\",\n templateVersion: \"0.1.1\",\n targetNamespace: foo_istio.id,\n answers: {\n \"certmanager.enabled\": \"false\",\n enableCRDs: \"true\",\n \"galley.enabled\": \"true\",\n \"gateways.enabled\": \"false\",\n \"gateways.istio-ingressgateway.resources.limits.cpu\": \"2000m\",\n \"gateways.istio-ingressgateway.resources.limits.memory\": \"1024Mi\",\n \"gateways.istio-ingressgateway.resources.requests.cpu\": \"100m\",\n \"gateways.istio-ingressgateway.resources.requests.memory\": \"128Mi\",\n \"gateways.istio-ingressgateway.type\": \"NodePort\",\n \"global.rancher.clusterId\": foo_customClusterSync.clusterId,\n \"istio_cni.enabled\": \"false\",\n \"istiocoredns.enabled\": \"false\",\n \"kiali.enabled\": \"true\",\n \"mixer.enabled\": \"true\",\n \"mixer.policy.enabled\": \"true\",\n \"mixer.policy.resources.limits.cpu\": \"4800m\",\n \"mixer.policy.resources.limits.memory\": \"4096Mi\",\n \"mixer.policy.resources.requests.cpu\": \"1000m\",\n \"mixer.policy.resources.requests.memory\": \"1024Mi\",\n \"mixer.telemetry.resources.limits.cpu\": \"4800m\",\n \"mixer.telemetry.resources.limits.memory\": \"4096Mi\",\n \"mixer.telemetry.resources.requests.cpu\": \"1000m\",\n \"mixer.telemetry.resources.requests.memory\": \"1024Mi\",\n \"mtls.enabled\": \"false\",\n \"nodeagent.enabled\": \"false\",\n \"pilot.enabled\": \"true\",\n \"pilot.resources.limits.cpu\": \"1000m\",\n \"pilot.resources.limits.memory\": \"4096Mi\",\n \"pilot.resources.requests.cpu\": \"500m\",\n \"pilot.resources.requests.memory\": \"2048Mi\",\n \"pilot.traceSampling\": \"1\",\n \"security.enabled\": \"true\",\n \"sidecarInjectorWebhook.enabled\": \"true\",\n \"tracing.enabled\": \"true\",\n \"tracing.jaeger.resources.limits.cpu\": \"500m\",\n \"tracing.jaeger.resources.limits.memory\": \"1024Mi\",\n \"tracing.jaeger.resources.requests.cpu\": \"100m\",\n \"tracing.jaeger.resources.requests.memory\": \"100Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 RKE Cluster\nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n# Create a new rancher2 Cluster Sync for foo-custom cluster\nfoo_custom_cluster_sync = rancher2.ClusterSync(\"foo-custom\", cluster_id=foo_custom.id)\n# Create a new rancher2 Namespace\nfoo_istio = rancher2.Namespace(\"foo-istio\",\n name=\"istio-system\",\n project_id=foo_custom_cluster_sync.system_project_id,\n description=\"istio namespace\")\n# Create a new rancher2 App deploying istio\nistio = rancher2.App(\"istio\",\n catalog_name=\"system-library\",\n name=\"cluster-istio\",\n description=\"Terraform app acceptance test\",\n project_id=foo_istio.project_id,\n template_name=\"rancher-istio\",\n template_version=\"0.1.1\",\n target_namespace=foo_istio.id,\n answers={\n \"certmanager.enabled\": \"false\",\n \"enableCRDs\": \"true\",\n \"galley.enabled\": \"true\",\n \"gateways.enabled\": \"false\",\n \"gateways.istio-ingressgateway.resources.limits.cpu\": \"2000m\",\n \"gateways.istio-ingressgateway.resources.limits.memory\": \"1024Mi\",\n \"gateways.istio-ingressgateway.resources.requests.cpu\": \"100m\",\n \"gateways.istio-ingressgateway.resources.requests.memory\": \"128Mi\",\n \"gateways.istio-ingressgateway.type\": \"NodePort\",\n \"global.rancher.clusterId\": foo_custom_cluster_sync.cluster_id,\n \"istio_cni.enabled\": \"false\",\n \"istiocoredns.enabled\": \"false\",\n \"kiali.enabled\": \"true\",\n \"mixer.enabled\": \"true\",\n \"mixer.policy.enabled\": \"true\",\n \"mixer.policy.resources.limits.cpu\": \"4800m\",\n \"mixer.policy.resources.limits.memory\": \"4096Mi\",\n \"mixer.policy.resources.requests.cpu\": \"1000m\",\n \"mixer.policy.resources.requests.memory\": \"1024Mi\",\n \"mixer.telemetry.resources.limits.cpu\": \"4800m\",\n \"mixer.telemetry.resources.limits.memory\": \"4096Mi\",\n \"mixer.telemetry.resources.requests.cpu\": \"1000m\",\n \"mixer.telemetry.resources.requests.memory\": \"1024Mi\",\n \"mtls.enabled\": \"false\",\n \"nodeagent.enabled\": \"false\",\n \"pilot.enabled\": \"true\",\n \"pilot.resources.limits.cpu\": \"1000m\",\n \"pilot.resources.limits.memory\": \"4096Mi\",\n \"pilot.resources.requests.cpu\": \"500m\",\n \"pilot.resources.requests.memory\": \"2048Mi\",\n \"pilot.traceSampling\": \"1\",\n \"security.enabled\": \"true\",\n \"sidecarInjectorWebhook.enabled\": \"true\",\n \"tracing.enabled\": \"true\",\n \"tracing.jaeger.resources.limits.cpu\": \"500m\",\n \"tracing.jaeger.resources.limits.memory\": \"1024Mi\",\n \"tracing.jaeger.resources.requests.cpu\": \"100m\",\n \"tracing.jaeger.resources.requests.memory\": \"100Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n // Create a new rancher2 Cluster Sync for foo-custom cluster\n var foo_customClusterSync = new Rancher2.ClusterSync(\"foo-custom\", new()\n {\n ClusterId = foo_custom.Id,\n });\n\n // Create a new rancher2 Namespace\n var foo_istio = new Rancher2.Namespace(\"foo-istio\", new()\n {\n Name = \"istio-system\",\n ProjectId = foo_customClusterSync.SystemProjectId,\n Description = \"istio namespace\",\n });\n\n // Create a new rancher2 App deploying istio\n var istio = new Rancher2.App(\"istio\", new()\n {\n CatalogName = \"system-library\",\n Name = \"cluster-istio\",\n Description = \"Terraform app acceptance test\",\n ProjectId = foo_istio.ProjectId,\n TemplateName = \"rancher-istio\",\n TemplateVersion = \"0.1.1\",\n TargetNamespace = foo_istio.Id,\n Answers = \n {\n { \"certmanager.enabled\", \"false\" },\n { \"enableCRDs\", \"true\" },\n { \"galley.enabled\", \"true\" },\n { \"gateways.enabled\", \"false\" },\n { \"gateways.istio-ingressgateway.resources.limits.cpu\", \"2000m\" },\n { \"gateways.istio-ingressgateway.resources.limits.memory\", \"1024Mi\" },\n { \"gateways.istio-ingressgateway.resources.requests.cpu\", \"100m\" },\n { \"gateways.istio-ingressgateway.resources.requests.memory\", \"128Mi\" },\n { \"gateways.istio-ingressgateway.type\", \"NodePort\" },\n { \"global.rancher.clusterId\", foo_customClusterSync.ClusterId },\n { \"istio_cni.enabled\", \"false\" },\n { \"istiocoredns.enabled\", \"false\" },\n { \"kiali.enabled\", \"true\" },\n { \"mixer.enabled\", \"true\" },\n { \"mixer.policy.enabled\", \"true\" },\n { \"mixer.policy.resources.limits.cpu\", \"4800m\" },\n { \"mixer.policy.resources.limits.memory\", \"4096Mi\" },\n { \"mixer.policy.resources.requests.cpu\", \"1000m\" },\n { \"mixer.policy.resources.requests.memory\", \"1024Mi\" },\n { \"mixer.telemetry.resources.limits.cpu\", \"4800m\" },\n { \"mixer.telemetry.resources.limits.memory\", \"4096Mi\" },\n { \"mixer.telemetry.resources.requests.cpu\", \"1000m\" },\n { \"mixer.telemetry.resources.requests.memory\", \"1024Mi\" },\n { \"mtls.enabled\", \"false\" },\n { \"nodeagent.enabled\", \"false\" },\n { \"pilot.enabled\", \"true\" },\n { \"pilot.resources.limits.cpu\", \"1000m\" },\n { \"pilot.resources.limits.memory\", \"4096Mi\" },\n { \"pilot.resources.requests.cpu\", \"500m\" },\n { \"pilot.resources.requests.memory\", \"2048Mi\" },\n { \"pilot.traceSampling\", \"1\" },\n { \"security.enabled\", \"true\" },\n { \"sidecarInjectorWebhook.enabled\", \"true\" },\n { \"tracing.enabled\", \"true\" },\n { \"tracing.jaeger.resources.limits.cpu\", \"500m\" },\n { \"tracing.jaeger.resources.limits.memory\", \"1024Mi\" },\n { \"tracing.jaeger.resources.requests.cpu\", \"100m\" },\n { \"tracing.jaeger.resources.requests.memory\", \"100Mi\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 RKE Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Cluster Sync for foo-custom cluster\n\t\t_, err = rancher2.NewClusterSync(ctx, \"foo-custom\", \u0026rancher2.ClusterSyncArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Namespace\n\t\t_, err = rancher2.NewNamespace(ctx, \"foo-istio\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"istio-system\"),\n\t\t\tProjectId: foo_customClusterSync.SystemProjectId,\n\t\t\tDescription: pulumi.String(\"istio namespace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 App deploying istio\n\t\t_, err = rancher2.NewApp(ctx, \"istio\", \u0026rancher2.AppArgs{\n\t\t\tCatalogName: pulumi.String(\"system-library\"),\n\t\t\tName: pulumi.String(\"cluster-istio\"),\n\t\t\tDescription: pulumi.String(\"Terraform app acceptance test\"),\n\t\t\tProjectId: foo_istio.ProjectId,\n\t\t\tTemplateName: pulumi.String(\"rancher-istio\"),\n\t\t\tTemplateVersion: pulumi.String(\"0.1.1\"),\n\t\t\tTargetNamespace: foo_istio.ID(),\n\t\t\tAnswers: pulumi.StringMap{\n\t\t\t\t\"certmanager.enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"enableCRDs\": pulumi.String(\"true\"),\n\t\t\t\t\"galley.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"gateways.enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.limits.cpu\": pulumi.String(\"2000m\"),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.limits.memory\": pulumi.String(\"1024Mi\"),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.requests.cpu\": pulumi.String(\"100m\"),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.requests.memory\": pulumi.String(\"128Mi\"),\n\t\t\t\t\"gateways.istio-ingressgateway.type\": pulumi.String(\"NodePort\"),\n\t\t\t\t\"global.rancher.clusterId\": foo_customClusterSync.ClusterId,\n\t\t\t\t\"istio_cni.enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"istiocoredns.enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"kiali.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"mixer.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"mixer.policy.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"mixer.policy.resources.limits.cpu\": pulumi.String(\"4800m\"),\n\t\t\t\t\"mixer.policy.resources.limits.memory\": pulumi.String(\"4096Mi\"),\n\t\t\t\t\"mixer.policy.resources.requests.cpu\": pulumi.String(\"1000m\"),\n\t\t\t\t\"mixer.policy.resources.requests.memory\": pulumi.String(\"1024Mi\"),\n\t\t\t\t\"mixer.telemetry.resources.limits.cpu\": pulumi.String(\"4800m\"),\n\t\t\t\t\"mixer.telemetry.resources.limits.memory\": pulumi.String(\"4096Mi\"),\n\t\t\t\t\"mixer.telemetry.resources.requests.cpu\": pulumi.String(\"1000m\"),\n\t\t\t\t\"mixer.telemetry.resources.requests.memory\": pulumi.String(\"1024Mi\"),\n\t\t\t\t\"mtls.enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"nodeagent.enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"pilot.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"pilot.resources.limits.cpu\": pulumi.String(\"1000m\"),\n\t\t\t\t\"pilot.resources.limits.memory\": pulumi.String(\"4096Mi\"),\n\t\t\t\t\"pilot.resources.requests.cpu\": pulumi.String(\"500m\"),\n\t\t\t\t\"pilot.resources.requests.memory\": pulumi.String(\"2048Mi\"),\n\t\t\t\t\"pilot.traceSampling\": pulumi.String(\"1\"),\n\t\t\t\t\"security.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sidecarInjectorWebhook.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"tracing.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"tracing.jaeger.resources.limits.cpu\": pulumi.String(\"500m\"),\n\t\t\t\t\"tracing.jaeger.resources.limits.memory\": pulumi.String(\"1024Mi\"),\n\t\t\t\t\"tracing.jaeger.resources.requests.cpu\": pulumi.String(\"100m\"),\n\t\t\t\t\"tracing.jaeger.resources.requests.memory\": pulumi.String(\"100Mi\"),\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.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.ClusterSync;\nimport com.pulumi.rancher2.ClusterSyncArgs;\nimport com.pulumi.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.App;\nimport com.pulumi.rancher2.AppArgs;\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 // Create a new rancher2 RKE Cluster\n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n // Create a new rancher2 Cluster Sync for foo-custom cluster\n var foo_customClusterSync = new ClusterSync(\"foo-customClusterSync\", ClusterSyncArgs.builder()\n .clusterId(foo_custom.id())\n .build());\n\n // Create a new rancher2 Namespace\n var foo_istio = new Namespace(\"foo-istio\", NamespaceArgs.builder()\n .name(\"istio-system\")\n .projectId(foo_customClusterSync.systemProjectId())\n .description(\"istio namespace\")\n .build());\n\n // Create a new rancher2 App deploying istio\n var istio = new App(\"istio\", AppArgs.builder()\n .catalogName(\"system-library\")\n .name(\"cluster-istio\")\n .description(\"Terraform app acceptance test\")\n .projectId(foo_istio.projectId())\n .templateName(\"rancher-istio\")\n .templateVersion(\"0.1.1\")\n .targetNamespace(foo_istio.id())\n .answers(Map.ofEntries(\n Map.entry(\"certmanager.enabled\", false),\n Map.entry(\"enableCRDs\", true),\n Map.entry(\"galley.enabled\", true),\n Map.entry(\"gateways.enabled\", false),\n Map.entry(\"gateways.istio-ingressgateway.resources.limits.cpu\", \"2000m\"),\n Map.entry(\"gateways.istio-ingressgateway.resources.limits.memory\", \"1024Mi\"),\n Map.entry(\"gateways.istio-ingressgateway.resources.requests.cpu\", \"100m\"),\n Map.entry(\"gateways.istio-ingressgateway.resources.requests.memory\", \"128Mi\"),\n Map.entry(\"gateways.istio-ingressgateway.type\", \"NodePort\"),\n Map.entry(\"global.rancher.clusterId\", foo_customClusterSync.clusterId()),\n Map.entry(\"istio_cni.enabled\", \"false\"),\n Map.entry(\"istiocoredns.enabled\", \"false\"),\n Map.entry(\"kiali.enabled\", \"true\"),\n Map.entry(\"mixer.enabled\", \"true\"),\n Map.entry(\"mixer.policy.enabled\", \"true\"),\n Map.entry(\"mixer.policy.resources.limits.cpu\", \"4800m\"),\n Map.entry(\"mixer.policy.resources.limits.memory\", \"4096Mi\"),\n Map.entry(\"mixer.policy.resources.requests.cpu\", \"1000m\"),\n Map.entry(\"mixer.policy.resources.requests.memory\", \"1024Mi\"),\n Map.entry(\"mixer.telemetry.resources.limits.cpu\", \"4800m\"),\n Map.entry(\"mixer.telemetry.resources.limits.memory\", \"4096Mi\"),\n Map.entry(\"mixer.telemetry.resources.requests.cpu\", \"1000m\"),\n Map.entry(\"mixer.telemetry.resources.requests.memory\", \"1024Mi\"),\n Map.entry(\"mtls.enabled\", false),\n Map.entry(\"nodeagent.enabled\", false),\n Map.entry(\"pilot.enabled\", true),\n Map.entry(\"pilot.resources.limits.cpu\", \"1000m\"),\n Map.entry(\"pilot.resources.limits.memory\", \"4096Mi\"),\n Map.entry(\"pilot.resources.requests.cpu\", \"500m\"),\n Map.entry(\"pilot.resources.requests.memory\", \"2048Mi\"),\n Map.entry(\"pilot.traceSampling\", \"1\"),\n Map.entry(\"security.enabled\", true),\n Map.entry(\"sidecarInjectorWebhook.enabled\", true),\n Map.entry(\"tracing.enabled\", true),\n Map.entry(\"tracing.jaeger.resources.limits.cpu\", \"500m\"),\n Map.entry(\"tracing.jaeger.resources.limits.memory\", \"1024Mi\"),\n Map.entry(\"tracing.jaeger.resources.requests.cpu\", \"100m\"),\n Map.entry(\"tracing.jaeger.resources.requests.memory\", \"100Mi\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 RKE Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n # Create a new rancher2 Cluster Sync for foo-custom cluster\n foo-customClusterSync:\n type: rancher2:ClusterSync\n name: foo-custom\n properties:\n clusterId: ${[\"foo-custom\"].id}\n # Create a new rancher2 Namespace\n foo-istio:\n type: rancher2:Namespace\n properties:\n name: istio-system\n projectId: ${[\"foo-customClusterSync\"].systemProjectId}\n description: istio namespace\n # Create a new rancher2 App deploying istio\n istio:\n type: rancher2:App\n properties:\n catalogName: system-library\n name: cluster-istio\n description: Terraform app acceptance test\n projectId: ${[\"foo-istio\"].projectId}\n templateName: rancher-istio\n templateVersion: 0.1.1\n targetNamespace: ${[\"foo-istio\"].id}\n answers:\n certmanager.enabled: false\n enableCRDs: true\n galley.enabled: true\n gateways.enabled: false\n gateways.istio-ingressgateway.resources.limits.cpu: 2000m\n gateways.istio-ingressgateway.resources.limits.memory: 1024Mi\n gateways.istio-ingressgateway.resources.requests.cpu: 100m\n gateways.istio-ingressgateway.resources.requests.memory: 128Mi\n gateways.istio-ingressgateway.type: NodePort\n global.rancher.clusterId: ${[\"foo-customClusterSync\"].clusterId}\n istio_cni.enabled: 'false'\n istiocoredns.enabled: 'false'\n kiali.enabled: 'true'\n mixer.enabled: 'true'\n mixer.policy.enabled: 'true'\n mixer.policy.resources.limits.cpu: 4800m\n mixer.policy.resources.limits.memory: 4096Mi\n mixer.policy.resources.requests.cpu: 1000m\n mixer.policy.resources.requests.memory: 1024Mi\n mixer.telemetry.resources.limits.cpu: 4800m\n mixer.telemetry.resources.limits.memory: 4096Mi\n mixer.telemetry.resources.requests.cpu: 1000m\n mixer.telemetry.resources.requests.memory: 1024Mi\n mtls.enabled: false\n nodeagent.enabled: false\n pilot.enabled: true\n pilot.resources.limits.cpu: 1000m\n pilot.resources.limits.memory: 4096Mi\n pilot.resources.requests.cpu: 500m\n pilot.resources.requests.memory: 2048Mi\n pilot.traceSampling: '1'\n security.enabled: true\n sidecarInjectorWebhook.enabled: true\n tracing.enabled: true\n tracing.jaeger.resources.limits.cpu: 500m\n tracing.jaeger.resources.limits.memory: 1024Mi\n tracing.jaeger.resources.requests.cpu: 100m\n tracing.jaeger.resources.requests.memory: 100Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster assigning a node pool (overlapped planes)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 RKE Cluster\nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n// Create a new rancher2 Node Template\nconst foo = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2Config: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n// Create a new rancher2 Node Pool\nconst fooNodePool = new rancher2.NodePool(\"foo\", {\n clusterId: foo_custom.id,\n name: \"foo\",\n hostnamePrefix: \"foo-cluster-0\",\n nodeTemplateId: foo.id,\n quantity: 3,\n controlPlane: true,\n etcd: true,\n worker: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 RKE Cluster\nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n# Create a new rancher2 Node Template\nfoo = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_config={\n \"access_key\": \"\u003cAWS_ACCESS_KEY\u003e\",\n \"secret_key\": \"\u003cAWS_SECRET_KEY\u003e\",\n \"ami\": \"\u003cAMI_ID\u003e\",\n \"region\": \"\u003cREGION\u003e\",\n \"security_groups\": [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n \"subnet_id\": \"\u003cSUBNET_ID\u003e\",\n \"vpc_id\": \"\u003cVPC_ID\u003e\",\n \"zone\": \"\u003cZONE\u003e\",\n })\n# Create a new rancher2 Node Pool\nfoo_node_pool = rancher2.NodePool(\"foo\",\n cluster_id=foo_custom.id,\n name=\"foo\",\n hostname_prefix=\"foo-cluster-0\",\n node_template_id=foo.id,\n quantity=3,\n control_plane=True,\n etcd=True,\n worker=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n // Create a new rancher2 Node Template\n var foo = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new Rancher2.NodePool(\"foo\", new()\n {\n ClusterId = foo_custom.Id,\n Name = \"foo\",\n HostnamePrefix = \"foo-cluster-0\",\n NodeTemplateId = foo.Id,\n Quantity = 3,\n ControlPlane = true,\n Etcd = true,\n Worker = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 RKE Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Template\n\t\tfoo, err := rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Pool\n\t\t_, err = rancher2.NewNodePool(ctx, \"foo\", \u0026rancher2.NodePoolArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tHostnamePrefix: pulumi.String(\"foo-cluster-0\"),\n\t\t\tNodeTemplateId: foo.ID(),\n\t\t\tQuantity: pulumi.Int(3),\n\t\t\tControlPlane: pulumi.Bool(true),\n\t\t\tEtcd: pulumi.Bool(true),\n\t\t\tWorker: 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.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\nimport com.pulumi.rancher2.NodePool;\nimport com.pulumi.rancher2.NodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n // Create a new rancher2 Node Template\n var foo = new NodeTemplate(\"foo\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new NodePool(\"fooNodePool\", NodePoolArgs.builder()\n .clusterId(foo_custom.id())\n .name(\"foo\")\n .hostnamePrefix(\"foo-cluster-0\")\n .nodeTemplateId(foo.id())\n .quantity(3)\n .controlPlane(true)\n .etcd(true)\n .worker(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 RKE Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n # Create a new rancher2 Node Template\n foo:\n type: rancher2:NodeTemplate\n properties:\n name: foo\n description: foo test\n amazonec2Config:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n # Create a new rancher2 Node Pool\n fooNodePool:\n type: rancher2:NodePool\n name: foo\n properties:\n clusterId: ${[\"foo-custom\"].id}\n name: foo\n hostnamePrefix: foo-cluster-0\n nodeTemplateId: ${foo.id}\n quantity: 3\n controlPlane: true\n etcd: true\n worker: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster from template. For Rancher v2.3.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 cluster template\nconst foo = new rancher2.ClusterTemplate(\"foo\", {\n name: \"foo\",\n members: [{\n accessType: \"owner\",\n userPrincipalId: \"local://user-XXXXX\",\n }],\n templateRevisions: [{\n name: \"V1\",\n clusterConfig: {\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n },\n },\n },\n \"default\": true,\n }],\n description: \"Test cluster template v2\",\n});\n// Create a new rancher2 RKE Cluster from template\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n clusterTemplateId: foo.id,\n clusterTemplateRevisionId: foo.templateRevisions.apply(templateRevisions =\u003e templateRevisions[0].id),\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 cluster template\nfoo = rancher2.ClusterTemplate(\"foo\",\n name=\"foo\",\n members=[{\n \"access_type\": \"owner\",\n \"user_principal_id\": \"local://user-XXXXX\",\n }],\n template_revisions=[{\n \"name\": \"V1\",\n \"cluster_config\": {\n \"rke_config\": {\n \"network\": {\n \"plugin\": \"canal\",\n },\n \"services\": {\n \"etcd\": {\n \"creation\": \"6h\",\n \"retention\": \"24h\",\n },\n },\n },\n },\n \"default\": True,\n }],\n description=\"Test cluster template v2\")\n# Create a new rancher2 RKE Cluster from template\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n cluster_template_id=foo.id,\n cluster_template_revision_id=foo.template_revisions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 cluster template\n var foo = new Rancher2.ClusterTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Members = new[]\n {\n new Rancher2.Inputs.ClusterTemplateMemberArgs\n {\n AccessType = \"owner\",\n UserPrincipalId = \"local://user-XXXXX\",\n },\n },\n TemplateRevisions = new[]\n {\n new Rancher2.Inputs.ClusterTemplateTemplateRevisionArgs\n {\n Name = \"V1\",\n ClusterConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigArgs\n {\n RkeConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n },\n },\n },\n Default = true,\n },\n },\n Description = \"Test cluster template v2\",\n });\n\n // Create a new rancher2 RKE Cluster from template\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n ClusterTemplateId = foo.Id,\n ClusterTemplateRevisionId = foo.TemplateRevisions.Apply(templateRevisions =\u003e templateRevisions[0].Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 cluster template\n\t\tfoo, err := rancher2.NewClusterTemplate(ctx, \"foo\", \u0026rancher2.ClusterTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMembers: rancher2.ClusterTemplateMemberArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateMemberArgs{\n\t\t\t\t\tAccessType: pulumi.String(\"owner\"),\n\t\t\t\t\tUserPrincipalId: pulumi.String(\"local://user-XXXXX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateRevisions: rancher2.ClusterTemplateTemplateRevisionArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateTemplateRevisionArgs{\n\t\t\t\t\tName: pulumi.String(\"V1\"),\n\t\t\t\t\tClusterConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs{\n\t\t\t\t\t\tRkeConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs{\n\t\t\t\t\t\t\tNetwork: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs{\n\t\t\t\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tServices: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs{\n\t\t\t\t\t\t\t\tEtcd: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDefault: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Test cluster template v2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 RKE Cluster from template\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterTemplateId: foo.ID(),\n\t\t\tClusterTemplateRevisionId: pulumi.String(foo.TemplateRevisions.ApplyT(func(templateRevisions []rancher2.ClusterTemplateTemplateRevision) (*string, error) {\n\t\t\t\treturn \u0026templateRevisions[0].Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.rancher2.ClusterTemplate;\nimport com.pulumi.rancher2.ClusterTemplateArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateMemberArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\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 // Create a new rancher2 cluster template\n var foo = new ClusterTemplate(\"foo\", ClusterTemplateArgs.builder()\n .name(\"foo\")\n .members(ClusterTemplateMemberArgs.builder()\n .accessType(\"owner\")\n .userPrincipalId(\"local://user-XXXXX\")\n .build())\n .templateRevisions(ClusterTemplateTemplateRevisionArgs.builder()\n .name(\"V1\")\n .clusterConfig(ClusterTemplateTemplateRevisionClusterConfigArgs.builder()\n .rkeConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs.builder()\n .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs.builder()\n .etcd(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .build())\n .build())\n .build())\n .default_(true)\n .build())\n .description(\"Test cluster template v2\")\n .build());\n\n // Create a new rancher2 RKE Cluster from template\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .clusterTemplateId(foo.id())\n .clusterTemplateRevisionId(foo.templateRevisions().applyValue(templateRevisions -\u003e templateRevisions[0].id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 cluster template\n foo:\n type: rancher2:ClusterTemplate\n properties:\n name: foo\n members:\n - accessType: owner\n userPrincipalId: local://user-XXXXX\n templateRevisions:\n - name: V1\n clusterConfig:\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n default: true\n description: Test cluster template v2\n # Create a new rancher2 RKE Cluster from template\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n clusterTemplateId: ${foo.id}\n clusterTemplateRevisionId: ${foo.templateRevisions[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster with upgrade strategy. For Rancher v2.4.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n kubeApi: {\n auditLog: {\n enabled: true,\n configuration: {\n maxAge: 5,\n maxBackup: 5,\n maxSize: 100,\n path: \"-\",\n format: \"json\",\n policy: `apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n`,\n },\n },\n },\n },\n upgradeStrategy: {\n drain: true,\n maxUnavailableWorker: \"20%\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n \"services\": {\n \"etcd\": {\n \"creation\": \"6h\",\n \"retention\": \"24h\",\n },\n \"kube_api\": {\n \"audit_log\": {\n \"enabled\": True,\n \"configuration\": {\n \"max_age\": 5,\n \"max_backup\": 5,\n \"max_size\": 100,\n \"path\": \"-\",\n \"format\": \"json\",\n \"policy\": \"\"\"apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n\"\"\",\n },\n },\n },\n },\n \"upgrade_strategy\": {\n \"drain\": True,\n \"max_unavailable_worker\": \"20%\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n KubeApi = new Rancher2.Inputs.ClusterRkeConfigServicesKubeApiArgs\n {\n AuditLog = new Rancher2.Inputs.ClusterRkeConfigServicesKubeApiAuditLogArgs\n {\n Enabled = true,\n Configuration = new Rancher2.Inputs.ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs\n {\n MaxAge = 5,\n MaxBackup = 5,\n MaxSize = 100,\n Path = \"-\",\n Format = \"json\",\n Policy = @\"apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n\",\n },\n },\n },\n },\n UpgradeStrategy = new Rancher2.Inputs.ClusterRkeConfigUpgradeStrategyArgs\n {\n Drain = true,\n MaxUnavailableWorker = \"20%\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t\tServices: \u0026rancher2.ClusterRkeConfigServicesArgs{\n\t\t\t\t\tEtcd: \u0026rancher2.ClusterRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t},\n\t\t\t\t\tKubeApi: \u0026rancher2.ClusterRkeConfigServicesKubeApiArgs{\n\t\t\t\t\t\tAuditLog: \u0026rancher2.ClusterRkeConfigServicesKubeApiAuditLogArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t\tConfiguration: \u0026rancher2.ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs{\n\t\t\t\t\t\t\t\tMaxAge: pulumi.Int(5),\n\t\t\t\t\t\t\t\tMaxBackup: pulumi.Int(5),\n\t\t\t\t\t\t\t\tMaxSize: pulumi.Int(100),\n\t\t\t\t\t\t\t\tPath: pulumi.String(\"-\"),\n\t\t\t\t\t\t\t\tFormat: pulumi.String(\"json\"),\n\t\t\t\t\t\t\t\tPolicy: pulumi.String(`apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n`),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tUpgradeStrategy: \u0026rancher2.ClusterRkeConfigUpgradeStrategyArgs{\n\t\t\t\t\tDrain: pulumi.Bool(true),\n\t\t\t\t\tMaxUnavailableWorker: pulumi.String(\"20%\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesEtcdArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesKubeApiArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesKubeApiAuditLogArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigUpgradeStrategyArgs;\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 foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterRkeConfigServicesArgs.builder()\n .etcd(ClusterRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .kubeApi(ClusterRkeConfigServicesKubeApiArgs.builder()\n .auditLog(ClusterRkeConfigServicesKubeApiAuditLogArgs.builder()\n .enabled(true)\n .configuration(ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs.builder()\n .maxAge(5)\n .maxBackup(5)\n .maxSize(100)\n .path(\"-\")\n .format(\"json\")\n .policy(\"\"\"\napiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n \"\"\")\n .build())\n .build())\n .build())\n .build())\n .upgradeStrategy(ClusterRkeConfigUpgradeStrategyArgs.builder()\n .drain(true)\n .maxUnavailableWorker(\"20%\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:Cluster\n properties:\n name: foo\n description: Terraform custom cluster\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n kubeApi:\n auditLog:\n enabled: true\n configuration:\n maxAge: 5\n maxBackup: 5\n maxSize: 100\n path: '-'\n format: json\n policy: |\n apiVersion: audit.k8s.io/v1\n kind: Policy\n metadata:\n creationTimestamp: null\n omitStages:\n - RequestReceived\n rules:\n - level: RequestResponse\n resources:\n - resources:\n - pods\n upgradeStrategy:\n drain: true\n maxUnavailableWorker: 20%\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster with cluster agent customization. For Rancher v2.7.5 and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform cluster with agent customization\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n clusterAgentDeploymentCustomizations: [{\n appendTolerations: [{\n effect: \"NoSchedule\",\n key: \"tolerate/control-plane\",\n value: \"true\",\n }],\n overrideAffinity: `{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n`,\n overrideResourceRequirements: [{\n cpuLimit: \"800\",\n cpuRequest: \"500\",\n memoryLimit: \"800\",\n memoryRequest: \"500\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform cluster with agent customization\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n },\n cluster_agent_deployment_customizations=[{\n \"append_tolerations\": [{\n \"effect\": \"NoSchedule\",\n \"key\": \"tolerate/control-plane\",\n \"value\": \"true\",\n }],\n \"override_affinity\": \"\"\"{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n\"\"\",\n \"override_resource_requirements\": [{\n \"cpu_limit\": \"800\",\n \"cpu_request\": \"500\",\n \"memory_limit\": \"800\",\n \"memory_request\": \"500\",\n }],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform cluster with agent customization\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n ClusterAgentDeploymentCustomizations = new[]\n {\n new Rancher2.Inputs.ClusterClusterAgentDeploymentCustomizationArgs\n {\n AppendTolerations = new[]\n {\n new Rancher2.Inputs.ClusterClusterAgentDeploymentCustomizationAppendTolerationArgs\n {\n Effect = \"NoSchedule\",\n Key = \"tolerate/control-plane\",\n Value = \"true\",\n },\n },\n OverrideAffinity = @\"{\n \"\"nodeAffinity\"\": {\n \"\"requiredDuringSchedulingIgnoredDuringExecution\"\": {\n \"\"nodeSelectorTerms\"\": [{\n \"\"matchExpressions\"\": [{\n \"\"key\"\": \"\"not.this/nodepool\"\",\n \"\"operator\"\": \"\"In\"\",\n \"\"values\"\": [\n \"\"true\"\"\n ]\n }]\n }]\n }\n }\n}\n\",\n OverrideResourceRequirements = new[]\n {\n new Rancher2.Inputs.ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs\n {\n CpuLimit = \"800\",\n CpuRequest = \"500\",\n MemoryLimit = \"800\",\n MemoryRequest = \"500\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform cluster with agent customization\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterAgentDeploymentCustomizations: rancher2.ClusterClusterAgentDeploymentCustomizationArray{\n\t\t\t\t\u0026rancher2.ClusterClusterAgentDeploymentCustomizationArgs{\n\t\t\t\t\tAppendTolerations: rancher2.ClusterClusterAgentDeploymentCustomizationAppendTolerationArray{\n\t\t\t\t\t\t\u0026rancher2.ClusterClusterAgentDeploymentCustomizationAppendTolerationArgs{\n\t\t\t\t\t\t\tEffect: pulumi.String(\"NoSchedule\"),\n\t\t\t\t\t\t\tKey: pulumi.String(\"tolerate/control-plane\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tOverrideAffinity: pulumi.String(`{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n`),\n\t\t\t\t\tOverrideResourceRequirements: rancher2.ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArray{\n\t\t\t\t\t\t\u0026rancher2.ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs{\n\t\t\t\t\t\t\tCpuLimit: pulumi.String(\"800\"),\n\t\t\t\t\t\t\tCpuRequest: pulumi.String(\"500\"),\n\t\t\t\t\t\t\tMemoryLimit: pulumi.String(\"800\"),\n\t\t\t\t\t\t\tMemoryRequest: pulumi.String(\"500\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\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.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterClusterAgentDeploymentCustomizationArgs;\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 foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform cluster with agent customization\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .clusterAgentDeploymentCustomizations(ClusterClusterAgentDeploymentCustomizationArgs.builder()\n .appendTolerations(ClusterClusterAgentDeploymentCustomizationAppendTolerationArgs.builder()\n .effect(\"NoSchedule\")\n .key(\"tolerate/control-plane\")\n .value(\"true\")\n .build())\n .overrideAffinity(\"\"\"\n{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n \"\"\")\n .overrideResourceRequirements(ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs.builder()\n .cpuLimit(\"800\")\n .cpuRequest(\"500\")\n .memoryLimit(\"800\")\n .memoryRequest(\"500\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:Cluster\n properties:\n name: foo\n description: Terraform cluster with agent customization\n rkeConfig:\n network:\n plugin: canal\n clusterAgentDeploymentCustomizations:\n - appendTolerations:\n - effect: NoSchedule\n key: tolerate/control-plane\n value: 'true'\n overrideAffinity: |\n {\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n }\n overrideResourceRequirements:\n - cpuLimit: '800'\n cpuRequest: '500'\n memoryLimit: '800'\n memoryRequest: '500'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster with Pod Security Admission Configuration Template (PSACT). For Rancher v2.7.2 and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Custom PSACT (if you wish to use your own)\nconst foo = new rancher2.PodSecurityAdmissionConfigurationTemplate(\"foo\", {\n name: \"custom-psact\",\n description: \"This is my custom Pod Security Admission Configuration Template\",\n defaults: {\n audit: \"restricted\",\n auditVersion: \"latest\",\n enforce: \"restricted\",\n enforceVersion: \"latest\",\n warn: \"restricted\",\n warnVersion: \"latest\",\n },\n exemptions: {\n usernames: [\"testuser\"],\n runtimeClasses: [\"testclass\"],\n namespaces: [\n \"ingress-nginx\",\n \"kube-system\",\n ],\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform cluster with PSACT\",\n defaultPodSecurityAdmissionConfigurationTemplateName: \"\u003cname\u003e\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Custom PSACT (if you wish to use your own)\nfoo = rancher2.PodSecurityAdmissionConfigurationTemplate(\"foo\",\n name=\"custom-psact\",\n description=\"This is my custom Pod Security Admission Configuration Template\",\n defaults={\n \"audit\": \"restricted\",\n \"audit_version\": \"latest\",\n \"enforce\": \"restricted\",\n \"enforce_version\": \"latest\",\n \"warn\": \"restricted\",\n \"warn_version\": \"latest\",\n },\n exemptions={\n \"usernames\": [\"testuser\"],\n \"runtime_classes\": [\"testclass\"],\n \"namespaces\": [\n \"ingress-nginx\",\n \"kube-system\",\n ],\n })\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform cluster with PSACT\",\n default_pod_security_admission_configuration_template_name=\"\u003cname\u003e\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Custom PSACT (if you wish to use your own)\n var foo = new Rancher2.PodSecurityAdmissionConfigurationTemplate(\"foo\", new()\n {\n Name = \"custom-psact\",\n Description = \"This is my custom Pod Security Admission Configuration Template\",\n Defaults = new Rancher2.Inputs.PodSecurityAdmissionConfigurationTemplateDefaultsArgs\n {\n Audit = \"restricted\",\n AuditVersion = \"latest\",\n Enforce = \"restricted\",\n EnforceVersion = \"latest\",\n Warn = \"restricted\",\n WarnVersion = \"latest\",\n },\n Exemptions = new Rancher2.Inputs.PodSecurityAdmissionConfigurationTemplateExemptionsArgs\n {\n Usernames = new[]\n {\n \"testuser\",\n },\n RuntimeClasses = new[]\n {\n \"testclass\",\n },\n Namespaces = new[]\n {\n \"ingress-nginx\",\n \"kube-system\",\n },\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform cluster with PSACT\",\n DefaultPodSecurityAdmissionConfigurationTemplateName = \"\u003cname\u003e\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Custom PSACT (if you wish to use your own)\n\t\t_, err := rancher2.NewPodSecurityAdmissionConfigurationTemplate(ctx, \"foo\", \u0026rancher2.PodSecurityAdmissionConfigurationTemplateArgs{\n\t\t\tName: pulumi.String(\"custom-psact\"),\n\t\t\tDescription: pulumi.String(\"This is my custom Pod Security Admission Configuration Template\"),\n\t\t\tDefaults: \u0026rancher2.PodSecurityAdmissionConfigurationTemplateDefaultsArgs{\n\t\t\t\tAudit: pulumi.String(\"restricted\"),\n\t\t\t\tAuditVersion: pulumi.String(\"latest\"),\n\t\t\t\tEnforce: pulumi.String(\"restricted\"),\n\t\t\t\tEnforceVersion: pulumi.String(\"latest\"),\n\t\t\t\tWarn: pulumi.String(\"restricted\"),\n\t\t\t\tWarnVersion: pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tExemptions: \u0026rancher2.PodSecurityAdmissionConfigurationTemplateExemptionsArgs{\n\t\t\t\tUsernames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"testuser\"),\n\t\t\t\t},\n\t\t\t\tRuntimeClasses: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"testclass\"),\n\t\t\t\t},\n\t\t\t\tNamespaces: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ingress-nginx\"),\n\t\t\t\t\tpulumi.String(\"kube-system\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform cluster with PSACT\"),\n\t\t\tDefaultPodSecurityAdmissionConfigurationTemplateName: pulumi.String(\"\u003cname\u003e\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.PodSecurityAdmissionConfigurationTemplate;\nimport com.pulumi.rancher2.PodSecurityAdmissionConfigurationTemplateArgs;\nimport com.pulumi.rancher2.inputs.PodSecurityAdmissionConfigurationTemplateDefaultsArgs;\nimport com.pulumi.rancher2.inputs.PodSecurityAdmissionConfigurationTemplateExemptionsArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\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 // Custom PSACT (if you wish to use your own)\n var foo = new PodSecurityAdmissionConfigurationTemplate(\"foo\", PodSecurityAdmissionConfigurationTemplateArgs.builder()\n .name(\"custom-psact\")\n .description(\"This is my custom Pod Security Admission Configuration Template\")\n .defaults(PodSecurityAdmissionConfigurationTemplateDefaultsArgs.builder()\n .audit(\"restricted\")\n .auditVersion(\"latest\")\n .enforce(\"restricted\")\n .enforceVersion(\"latest\")\n .warn(\"restricted\")\n .warnVersion(\"latest\")\n .build())\n .exemptions(PodSecurityAdmissionConfigurationTemplateExemptionsArgs.builder()\n .usernames(\"testuser\")\n .runtimeClasses(\"testclass\")\n .namespaces( \n \"ingress-nginx\",\n \"kube-system\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform cluster with PSACT\")\n .defaultPodSecurityAdmissionConfigurationTemplateName(\"\u003cname\u003e\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Custom PSACT (if you wish to use your own)\n foo:\n type: rancher2:PodSecurityAdmissionConfigurationTemplate\n properties:\n name: custom-psact\n description: This is my custom Pod Security Admission Configuration Template\n defaults:\n audit: restricted\n auditVersion: latest\n enforce: restricted\n enforceVersion: latest\n warn: restricted\n warnVersion: latest\n exemptions:\n usernames:\n - testuser\n runtimeClasses:\n - testclass\n namespaces:\n - ingress-nginx\n - kube-system\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform cluster with PSACT\n defaultPodSecurityAdmissionConfigurationTemplateName: \u003cname\u003e\n rkeConfig:\n network:\n plugin: canal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Importing EKS cluster to Rancher v2, using `eks_config_v2`. For Rancher v2.5.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003caws-access-key\u003e\",\n secretKey: \"\u003caws-secret-key\u003e\",\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform EKS cluster\",\n eksConfigV2: {\n cloudCredentialId: foo.id,\n name: \"\u003ccluster-name\u003e\",\n region: \"\u003ceks-region\u003e\",\n imported: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config={\n \"access_key\": \"\u003caws-access-key\u003e\",\n \"secret_key\": \"\u003caws-secret-key\u003e\",\n })\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform EKS cluster\",\n eks_config_v2={\n \"cloud_credential_id\": foo.id,\n \"name\": \"\u003ccluster-name\u003e\",\n \"region\": \"\u003ceks-region\u003e\",\n \"imported\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003caws-access-key\u003e\",\n SecretKey = \"\u003caws-secret-key\u003e\",\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform EKS cluster\",\n EksConfigV2 = new Rancher2.Inputs.ClusterEksConfigV2Args\n {\n CloudCredentialId = foo.Id,\n Name = \"\u003ccluster-name\u003e\",\n Region = \"\u003ceks-region\u003e\",\n Imported = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003caws-access-key\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003caws-secret-key\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform EKS cluster\"),\n\t\t\tEksConfigV2: \u0026rancher2.ClusterEksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo.ID(),\n\t\t\t\tName: pulumi.String(\"\u003ccluster-name\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003ceks-region\u003e\"),\n\t\t\t\tImported: pulumi.Bool(true),\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.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterEksConfigV2Args;\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 foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003caws-access-key\u003e\")\n .secretKey(\"\u003caws-secret-key\u003e\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform EKS cluster\")\n .eksConfigV2(ClusterEksConfigV2Args.builder()\n .cloudCredentialId(foo.id())\n .name(\"\u003ccluster-name\u003e\")\n .region(\"\u003ceks-region\u003e\")\n .imported(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003caws-access-key\u003e\n secretKey: \u003caws-secret-key\u003e\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform EKS cluster\n eksConfigV2:\n cloudCredentialId: ${foo.id}\n name: \u003ccluster-name\u003e\n region: \u003ceks-region\u003e\n imported: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating EKS cluster from Rancher v2, using `eks_config_v2`. For Rancher v2.5.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003caws-access-key\u003e\",\n secretKey: \"\u003caws-secret-key\u003e\",\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform EKS cluster\",\n eksConfigV2: {\n cloudCredentialId: foo.id,\n region: \"\u003cEKS_REGION\u003e\",\n kubernetesVersion: \"1.24\",\n loggingTypes: [\n \"audit\",\n \"api\",\n ],\n nodeGroups: [\n {\n name: \"node_group1\",\n instanceType: \"t3.medium\",\n desiredSize: 3,\n maxSize: 5,\n },\n {\n name: \"node_group2\",\n instanceType: \"m5.xlarge\",\n desiredSize: 2,\n maxSize: 3,\n nodeRole: \"arn:aws:iam::role/test-NodeInstanceRole\",\n },\n ],\n privateAccess: true,\n publicAccess: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config={\n \"access_key\": \"\u003caws-access-key\u003e\",\n \"secret_key\": \"\u003caws-secret-key\u003e\",\n })\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform EKS cluster\",\n eks_config_v2={\n \"cloud_credential_id\": foo.id,\n \"region\": \"\u003cEKS_REGION\u003e\",\n \"kubernetes_version\": \"1.24\",\n \"logging_types\": [\n \"audit\",\n \"api\",\n ],\n \"node_groups\": [\n {\n \"name\": \"node_group1\",\n \"instance_type\": \"t3.medium\",\n \"desired_size\": 3,\n \"max_size\": 5,\n },\n {\n \"name\": \"node_group2\",\n \"instance_type\": \"m5.xlarge\",\n \"desired_size\": 2,\n \"max_size\": 3,\n \"node_role\": \"arn:aws:iam::role/test-NodeInstanceRole\",\n },\n ],\n \"private_access\": True,\n \"public_access\": False,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003caws-access-key\u003e\",\n SecretKey = \"\u003caws-secret-key\u003e\",\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform EKS cluster\",\n EksConfigV2 = new Rancher2.Inputs.ClusterEksConfigV2Args\n {\n CloudCredentialId = foo.Id,\n Region = \"\u003cEKS_REGION\u003e\",\n KubernetesVersion = \"1.24\",\n LoggingTypes = new[]\n {\n \"audit\",\n \"api\",\n },\n NodeGroups = new[]\n {\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupArgs\n {\n Name = \"node_group1\",\n InstanceType = \"t3.medium\",\n DesiredSize = 3,\n MaxSize = 5,\n },\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupArgs\n {\n Name = \"node_group2\",\n InstanceType = \"m5.xlarge\",\n DesiredSize = 2,\n MaxSize = 3,\n NodeRole = \"arn:aws:iam::role/test-NodeInstanceRole\",\n },\n },\n PrivateAccess = true,\n PublicAccess = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003caws-access-key\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003caws-secret-key\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform EKS cluster\"),\n\t\t\tEksConfigV2: \u0026rancher2.ClusterEksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo.ID(),\n\t\t\t\tRegion: pulumi.String(\"\u003cEKS_REGION\u003e\"),\n\t\t\t\tKubernetesVersion: pulumi.String(\"1.24\"),\n\t\t\t\tLoggingTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"audit\"),\n\t\t\t\t\tpulumi.String(\"api\"),\n\t\t\t\t},\n\t\t\t\tNodeGroups: rancher2.ClusterEksConfigV2NodeGroupArray{\n\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupArgs{\n\t\t\t\t\t\tName: pulumi.String(\"node_group1\"),\n\t\t\t\t\t\tInstanceType: pulumi.String(\"t3.medium\"),\n\t\t\t\t\t\tDesiredSize: pulumi.Int(3),\n\t\t\t\t\t\tMaxSize: pulumi.Int(5),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupArgs{\n\t\t\t\t\t\tName: pulumi.String(\"node_group2\"),\n\t\t\t\t\t\tInstanceType: pulumi.String(\"m5.xlarge\"),\n\t\t\t\t\t\tDesiredSize: pulumi.Int(2),\n\t\t\t\t\t\tMaxSize: pulumi.Int(3),\n\t\t\t\t\t\tNodeRole: pulumi.String(\"arn:aws:iam::role/test-NodeInstanceRole\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPrivateAccess: pulumi.Bool(true),\n\t\t\t\tPublicAccess: pulumi.Bool(false),\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.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterEksConfigV2Args;\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 foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003caws-access-key\u003e\")\n .secretKey(\"\u003caws-secret-key\u003e\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform EKS cluster\")\n .eksConfigV2(ClusterEksConfigV2Args.builder()\n .cloudCredentialId(foo.id())\n .region(\"\u003cEKS_REGION\u003e\")\n .kubernetesVersion(\"1.24\")\n .loggingTypes( \n \"audit\",\n \"api\")\n .nodeGroups( \n ClusterEksConfigV2NodeGroupArgs.builder()\n .name(\"node_group1\")\n .instanceType(\"t3.medium\")\n .desiredSize(3)\n .maxSize(5)\n .build(),\n ClusterEksConfigV2NodeGroupArgs.builder()\n .name(\"node_group2\")\n .instanceType(\"m5.xlarge\")\n .desiredSize(2)\n .maxSize(3)\n .nodeRole(\"arn:aws:iam::role/test-NodeInstanceRole\")\n .build())\n .privateAccess(true)\n .publicAccess(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003caws-access-key\u003e\n secretKey: \u003caws-secret-key\u003e\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform EKS cluster\n eksConfigV2:\n cloudCredentialId: ${foo.id}\n region: \u003cEKS_REGION\u003e\n kubernetesVersion: '1.24'\n loggingTypes:\n - audit\n - api\n nodeGroups:\n - name: node_group1\n instanceType: t3.medium\n desiredSize: 3\n maxSize: 5\n - name: node_group2\n instanceType: m5.xlarge\n desiredSize: 2\n maxSize: 3\n nodeRole: arn:aws:iam::role/test-NodeInstanceRole\n privateAccess: true\n publicAccess: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating EKS cluster from Rancher v2, using `eks_config_v2` and launch template. For Rancher v2.5.6 and above.\n\nNote: To use `launch_template` you must provide the ID (seen as `\u003cEC2_LAUNCH_TEMPLATE_ID\u003e`) to the template either as a static value. Or fetched via AWS data-source using one of: aws_ami, aws_ami_ids, or similar data-sources. You can also create a custom `launch_template` first and provide the ID to that.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003caws-access-key\u003e\",\n secretKey: \"\u003caws-secret-key\u003e\",\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform EKS cluster\",\n eksConfigV2: {\n cloudCredentialId: foo.id,\n region: \"\u003cEKS_REGION\u003e\",\n kubernetesVersion: \"1.24\",\n loggingTypes: [\n \"audit\",\n \"api\",\n ],\n nodeGroups: [{\n desiredSize: 3,\n maxSize: 5,\n name: \"node_group1\",\n launchTemplates: [{\n id: \"\u003cec2-launch-template-id\u003e\",\n version: 1,\n }],\n }],\n privateAccess: true,\n publicAccess: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config={\n \"access_key\": \"\u003caws-access-key\u003e\",\n \"secret_key\": \"\u003caws-secret-key\u003e\",\n })\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform EKS cluster\",\n eks_config_v2={\n \"cloud_credential_id\": foo.id,\n \"region\": \"\u003cEKS_REGION\u003e\",\n \"kubernetes_version\": \"1.24\",\n \"logging_types\": [\n \"audit\",\n \"api\",\n ],\n \"node_groups\": [{\n \"desired_size\": 3,\n \"max_size\": 5,\n \"name\": \"node_group1\",\n \"launch_templates\": [{\n \"id\": \"\u003cec2-launch-template-id\u003e\",\n \"version\": 1,\n }],\n }],\n \"private_access\": True,\n \"public_access\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003caws-access-key\u003e\",\n SecretKey = \"\u003caws-secret-key\u003e\",\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform EKS cluster\",\n EksConfigV2 = new Rancher2.Inputs.ClusterEksConfigV2Args\n {\n CloudCredentialId = foo.Id,\n Region = \"\u003cEKS_REGION\u003e\",\n KubernetesVersion = \"1.24\",\n LoggingTypes = new[]\n {\n \"audit\",\n \"api\",\n },\n NodeGroups = new[]\n {\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupArgs\n {\n DesiredSize = 3,\n MaxSize = 5,\n Name = \"node_group1\",\n LaunchTemplates = new[]\n {\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupLaunchTemplateArgs\n {\n Id = \"\u003cec2-launch-template-id\u003e\",\n Version = 1,\n },\n },\n },\n },\n PrivateAccess = true,\n PublicAccess = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003caws-access-key\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003caws-secret-key\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform EKS cluster\"),\n\t\t\tEksConfigV2: \u0026rancher2.ClusterEksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo.ID(),\n\t\t\t\tRegion: pulumi.String(\"\u003cEKS_REGION\u003e\"),\n\t\t\t\tKubernetesVersion: pulumi.String(\"1.24\"),\n\t\t\t\tLoggingTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"audit\"),\n\t\t\t\t\tpulumi.String(\"api\"),\n\t\t\t\t},\n\t\t\t\tNodeGroups: rancher2.ClusterEksConfigV2NodeGroupArray{\n\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupArgs{\n\t\t\t\t\t\tDesiredSize: pulumi.Int(3),\n\t\t\t\t\t\tMaxSize: pulumi.Int(5),\n\t\t\t\t\t\tName: pulumi.String(\"node_group1\"),\n\t\t\t\t\t\tLaunchTemplates: rancher2.ClusterEksConfigV2NodeGroupLaunchTemplateArray{\n\t\t\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupLaunchTemplateArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"\u003cec2-launch-template-id\u003e\"),\n\t\t\t\t\t\t\t\tVersion: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPrivateAccess: pulumi.Bool(true),\n\t\t\t\tPublicAccess: pulumi.Bool(true),\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.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterEksConfigV2Args;\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 foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003caws-access-key\u003e\")\n .secretKey(\"\u003caws-secret-key\u003e\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform EKS cluster\")\n .eksConfigV2(ClusterEksConfigV2Args.builder()\n .cloudCredentialId(foo.id())\n .region(\"\u003cEKS_REGION\u003e\")\n .kubernetesVersion(\"1.24\")\n .loggingTypes( \n \"audit\",\n \"api\")\n .nodeGroups(ClusterEksConfigV2NodeGroupArgs.builder()\n .desiredSize(3)\n .maxSize(5)\n .name(\"node_group1\")\n .launchTemplates(ClusterEksConfigV2NodeGroupLaunchTemplateArgs.builder()\n .id(\"\u003cec2-launch-template-id\u003e\")\n .version(1)\n .build())\n .build())\n .privateAccess(true)\n .publicAccess(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003caws-access-key\u003e\n secretKey: \u003caws-secret-key\u003e\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform EKS cluster\n eksConfigV2:\n cloudCredentialId: ${foo.id}\n region: \u003cEKS_REGION\u003e\n kubernetesVersion: '1.24'\n loggingTypes:\n - audit\n - api\n nodeGroups:\n - desiredSize: 3\n maxSize: 5\n name: node_group1\n launchTemplates:\n - id: \u003cec2-launch-template-id\u003e\n version: 1\n privateAccess: true\n publicAccess: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating AKS cluster from Rancher v2, using `aks_config_v2`. For Rancher v2.6.0 and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo_aks = new rancher2.CloudCredential(\"foo-aks\", {\n name: \"foo-aks\",\n azureCredentialConfig: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n subscriptionId: \"\u003csubscription-id\u003e\",\n },\n});\nconst foo = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform AKS cluster\",\n aksConfigV2: {\n cloudCredentialId: foo_aks.id,\n resourceGroup: \"\u003cresource-group\u003e\",\n resourceLocation: \"\u003cresource-location\u003e\",\n dnsPrefix: \"\u003cdns-prefix\u003e\",\n kubernetesVersion: \"1.24.6\",\n networkPlugin: \"\u003cnetwork-plugin\u003e\",\n virtualNetwork: \"\u003cvirtual-network\u003e\",\n virtualNetworkResourceGroup: \"\u003cvirtual-network-resource-group\u003e\",\n subnet: \"\u003csubnet\u003e\",\n nodeResourceGroup: \"\u003cnode-resource-group\u003e\",\n nodePools: [\n {\n availabilityZones: [\n \"1\",\n \"2\",\n \"3\",\n ],\n name: \"\u003cnodepool-name-1\u003e\",\n mode: \"System\",\n count: 1,\n orchestratorVersion: \"1.21.2\",\n osDiskSizeGb: 128,\n vmSize: \"Standard_DS2_v2\",\n },\n {\n availabilityZones: [\n \"1\",\n \"2\",\n \"3\",\n ],\n name: \"\u003cnodepool-name-2\u003e\",\n count: 1,\n mode: \"User\",\n orchestratorVersion: \"1.21.2\",\n osDiskSizeGb: 128,\n vmSize: \"Standard_DS2_v2\",\n maxSurge: \"25%\",\n labels: {\n test1: \"data1\",\n test2: \"data2\",\n },\n taints: [\"none:PreferNoSchedule\"],\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo_aks = rancher2.CloudCredential(\"foo-aks\",\n name=\"foo-aks\",\n azure_credential_config={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"subscription_id\": \"\u003csubscription-id\u003e\",\n })\nfoo = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform AKS cluster\",\n aks_config_v2={\n \"cloud_credential_id\": foo_aks.id,\n \"resource_group\": \"\u003cresource-group\u003e\",\n \"resource_location\": \"\u003cresource-location\u003e\",\n \"dns_prefix\": \"\u003cdns-prefix\u003e\",\n \"kubernetes_version\": \"1.24.6\",\n \"network_plugin\": \"\u003cnetwork-plugin\u003e\",\n \"virtual_network\": \"\u003cvirtual-network\u003e\",\n \"virtual_network_resource_group\": \"\u003cvirtual-network-resource-group\u003e\",\n \"subnet\": \"\u003csubnet\u003e\",\n \"node_resource_group\": \"\u003cnode-resource-group\u003e\",\n \"node_pools\": [\n {\n \"availability_zones\": [\n \"1\",\n \"2\",\n \"3\",\n ],\n \"name\": \"\u003cnodepool-name-1\u003e\",\n \"mode\": \"System\",\n \"count\": 1,\n \"orchestrator_version\": \"1.21.2\",\n \"os_disk_size_gb\": 128,\n \"vm_size\": \"Standard_DS2_v2\",\n },\n {\n \"availability_zones\": [\n \"1\",\n \"2\",\n \"3\",\n ],\n \"name\": \"\u003cnodepool-name-2\u003e\",\n \"count\": 1,\n \"mode\": \"User\",\n \"orchestrator_version\": \"1.21.2\",\n \"os_disk_size_gb\": 128,\n \"vm_size\": \"Standard_DS2_v2\",\n \"max_surge\": \"25%\",\n \"labels\": {\n \"test1\": \"data1\",\n \"test2\": \"data2\",\n },\n \"taints\": [\"none:PreferNoSchedule\"],\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo_aks = new Rancher2.CloudCredential(\"foo-aks\", new()\n {\n Name = \"foo-aks\",\n AzureCredentialConfig = new Rancher2.Inputs.CloudCredentialAzureCredentialConfigArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n SubscriptionId = \"\u003csubscription-id\u003e\",\n },\n });\n\n var foo = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform AKS cluster\",\n AksConfigV2 = new Rancher2.Inputs.ClusterAksConfigV2Args\n {\n CloudCredentialId = foo_aks.Id,\n ResourceGroup = \"\u003cresource-group\u003e\",\n ResourceLocation = \"\u003cresource-location\u003e\",\n DnsPrefix = \"\u003cdns-prefix\u003e\",\n KubernetesVersion = \"1.24.6\",\n NetworkPlugin = \"\u003cnetwork-plugin\u003e\",\n VirtualNetwork = \"\u003cvirtual-network\u003e\",\n VirtualNetworkResourceGroup = \"\u003cvirtual-network-resource-group\u003e\",\n Subnet = \"\u003csubnet\u003e\",\n NodeResourceGroup = \"\u003cnode-resource-group\u003e\",\n NodePools = new[]\n {\n new Rancher2.Inputs.ClusterAksConfigV2NodePoolArgs\n {\n AvailabilityZones = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n Name = \"\u003cnodepool-name-1\u003e\",\n Mode = \"System\",\n Count = 1,\n OrchestratorVersion = \"1.21.2\",\n OsDiskSizeGb = 128,\n VmSize = \"Standard_DS2_v2\",\n },\n new Rancher2.Inputs.ClusterAksConfigV2NodePoolArgs\n {\n AvailabilityZones = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n Name = \"\u003cnodepool-name-2\u003e\",\n Count = 1,\n Mode = \"User\",\n OrchestratorVersion = \"1.21.2\",\n OsDiskSizeGb = 128,\n VmSize = \"Standard_DS2_v2\",\n MaxSurge = \"25%\",\n Labels = \n {\n { \"test1\", \"data1\" },\n { \"test2\", \"data2\" },\n },\n Taints = new[]\n {\n \"none:PreferNoSchedule\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.NewCloudCredential(ctx, \"foo-aks\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-aks\"),\n\t\t\tAzureCredentialConfig: \u0026rancher2.CloudCredentialAzureCredentialConfigArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tSubscriptionId: pulumi.String(\"\u003csubscription-id\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform AKS cluster\"),\n\t\t\tAksConfigV2: \u0026rancher2.ClusterAksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo_aks.ID(),\n\t\t\t\tResourceGroup: pulumi.String(\"\u003cresource-group\u003e\"),\n\t\t\t\tResourceLocation: pulumi.String(\"\u003cresource-location\u003e\"),\n\t\t\t\tDnsPrefix: pulumi.String(\"\u003cdns-prefix\u003e\"),\n\t\t\t\tKubernetesVersion: pulumi.String(\"1.24.6\"),\n\t\t\t\tNetworkPlugin: pulumi.String(\"\u003cnetwork-plugin\u003e\"),\n\t\t\t\tVirtualNetwork: pulumi.String(\"\u003cvirtual-network\u003e\"),\n\t\t\t\tVirtualNetworkResourceGroup: pulumi.String(\"\u003cvirtual-network-resource-group\u003e\"),\n\t\t\t\tSubnet: pulumi.String(\"\u003csubnet\u003e\"),\n\t\t\t\tNodeResourceGroup: pulumi.String(\"\u003cnode-resource-group\u003e\"),\n\t\t\t\tNodePools: rancher2.ClusterAksConfigV2NodePoolArray{\n\t\t\t\t\t\u0026rancher2.ClusterAksConfigV2NodePoolArgs{\n\t\t\t\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\t\t\t\tpulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"\u003cnodepool-name-1\u003e\"),\n\t\t\t\t\t\tMode: pulumi.String(\"System\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t\tOrchestratorVersion: pulumi.String(\"1.21.2\"),\n\t\t\t\t\t\tOsDiskSizeGb: pulumi.Int(128),\n\t\t\t\t\t\tVmSize: pulumi.String(\"Standard_DS2_v2\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026rancher2.ClusterAksConfigV2NodePoolArgs{\n\t\t\t\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\t\t\t\tpulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"\u003cnodepool-name-2\u003e\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t\tMode: pulumi.String(\"User\"),\n\t\t\t\t\t\tOrchestratorVersion: pulumi.String(\"1.21.2\"),\n\t\t\t\t\t\tOsDiskSizeGb: pulumi.Int(128),\n\t\t\t\t\t\tVmSize: pulumi.String(\"Standard_DS2_v2\"),\n\t\t\t\t\t\tMaxSurge: pulumi.String(\"25%\"),\n\t\t\t\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\t\t\t\"test1\": pulumi.String(\"data1\"),\n\t\t\t\t\t\t\t\"test2\": pulumi.String(\"data2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTaints: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"none:PreferNoSchedule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\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.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAzureCredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterAksConfigV2Args;\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 foo_aks = new CloudCredential(\"foo-aks\", CloudCredentialArgs.builder()\n .name(\"foo-aks\")\n .azureCredentialConfig(CloudCredentialAzureCredentialConfigArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .subscriptionId(\"\u003csubscription-id\u003e\")\n .build())\n .build());\n\n var foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform AKS cluster\")\n .aksConfigV2(ClusterAksConfigV2Args.builder()\n .cloudCredentialId(foo_aks.id())\n .resourceGroup(\"\u003cresource-group\u003e\")\n .resourceLocation(\"\u003cresource-location\u003e\")\n .dnsPrefix(\"\u003cdns-prefix\u003e\")\n .kubernetesVersion(\"1.24.6\")\n .networkPlugin(\"\u003cnetwork-plugin\u003e\")\n .virtualNetwork(\"\u003cvirtual-network\u003e\")\n .virtualNetworkResourceGroup(\"\u003cvirtual-network-resource-group\u003e\")\n .subnet(\"\u003csubnet\u003e\")\n .nodeResourceGroup(\"\u003cnode-resource-group\u003e\")\n .nodePools( \n ClusterAksConfigV2NodePoolArgs.builder()\n .availabilityZones( \n \"1\",\n \"2\",\n \"3\")\n .name(\"\u003cnodepool-name-1\u003e\")\n .mode(\"System\")\n .count(1)\n .orchestratorVersion(\"1.21.2\")\n .osDiskSizeGb(128)\n .vmSize(\"Standard_DS2_v2\")\n .build(),\n ClusterAksConfigV2NodePoolArgs.builder()\n .availabilityZones( \n \"1\",\n \"2\",\n \"3\")\n .name(\"\u003cnodepool-name-2\u003e\")\n .count(1)\n .mode(\"User\")\n .orchestratorVersion(\"1.21.2\")\n .osDiskSizeGb(128)\n .vmSize(\"Standard_DS2_v2\")\n .maxSurge(\"25%\")\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"data1\"),\n Map.entry(\"test2\", \"data2\")\n ))\n .taints(\"none:PreferNoSchedule\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo-aks:\n type: rancher2:CloudCredential\n properties:\n name: foo-aks\n azureCredentialConfig:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n subscriptionId: \u003csubscription-id\u003e\n foo:\n type: rancher2:Cluster\n properties:\n name: foo\n description: Terraform AKS cluster\n aksConfigV2:\n cloudCredentialId: ${[\"foo-aks\"].id}\n resourceGroup: \u003cresource-group\u003e\n resourceLocation: \u003cresource-location\u003e\n dnsPrefix: \u003cdns-prefix\u003e\n kubernetesVersion: 1.24.6\n networkPlugin: \u003cnetwork-plugin\u003e\n virtualNetwork: \u003cvirtual-network\u003e\n virtualNetworkResourceGroup: \u003cvirtual-network-resource-group\u003e\n subnet: \u003csubnet\u003e\n nodeResourceGroup: \u003cnode-resource-group\u003e\n nodePools:\n - availabilityZones:\n - '1'\n - '2'\n - '3'\n name: \u003cnodepool-name-1\u003e\n mode: System\n count: 1\n orchestratorVersion: 1.21.2\n osDiskSizeGb: 128\n vmSize: Standard_DS2_v2\n - availabilityZones:\n - '1'\n - '2'\n - '3'\n name: \u003cnodepool-name-2\u003e\n count: 1\n mode: User\n orchestratorVersion: 1.21.2\n osDiskSizeGb: 128\n vmSize: Standard_DS2_v2\n maxSurge: 25%\n labels:\n test1: data1\n test2: data2\n taints:\n - none:PreferNoSchedule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClusters can be imported using the Rancher Cluster ID\n\n```sh\n$ pulumi import rancher2:index/cluster:Cluster foo \u0026lt;CLUSTER_ID\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Cluster resource. This can be used to create Clusters for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n**Note optional/computed arguments** If any `optional/computed` argument of this resource is defined by the user, removing it from tf file will NOT reset its value. To reset it, let its definition at tf file as empty/false object. Ex: `cloud_provider {}`, `name = \"\"`\n\n### Creating Rancher v2 imported cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 imported Cluster\nconst foo_imported = new rancher2.Cluster(\"foo-imported\", {\n name: \"foo-imported\",\n description: \"Foo rancher2 imported cluster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 imported Cluster\nfoo_imported = rancher2.Cluster(\"foo-imported\",\n name=\"foo-imported\",\n description=\"Foo rancher2 imported cluster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 imported Cluster\n var foo_imported = new Rancher2.Cluster(\"foo-imported\", new()\n {\n Name = \"foo-imported\",\n Description = \"Foo rancher2 imported cluster\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 imported Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-imported\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-imported\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 imported cluster\"),\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.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\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 // Create a new rancher2 imported Cluster\n var foo_imported = new Cluster(\"foo-imported\", ClusterArgs.builder()\n .name(\"foo-imported\")\n .description(\"Foo rancher2 imported cluster\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 imported Cluster\n foo-imported:\n type: rancher2:Cluster\n properties:\n name: foo-imported\n description: Foo rancher2 imported cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreating Rancher v2 RKE cluster\n\n### Creating Rancher v2 RKE cluster enabling\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 RKE Cluster\nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 RKE Cluster\nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 RKE Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\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 // Create a new rancher2 RKE Cluster\n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 RKE Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster enabling/customizing istio\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 RKE Cluster\nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n// Create a new rancher2 Cluster Sync for foo-custom cluster\nconst foo_customClusterSync = new rancher2.ClusterSync(\"foo-custom\", {clusterId: foo_custom.id});\n// Create a new rancher2 Namespace\nconst foo_istio = new rancher2.Namespace(\"foo-istio\", {\n name: \"istio-system\",\n projectId: foo_customClusterSync.systemProjectId,\n description: \"istio namespace\",\n});\n// Create a new rancher2 App deploying istio\nconst istio = new rancher2.App(\"istio\", {\n catalogName: \"system-library\",\n name: \"cluster-istio\",\n description: \"Terraform app acceptance test\",\n projectId: foo_istio.projectId,\n templateName: \"rancher-istio\",\n templateVersion: \"0.1.1\",\n targetNamespace: foo_istio.id,\n answers: {\n \"certmanager.enabled\": \"false\",\n enableCRDs: \"true\",\n \"galley.enabled\": \"true\",\n \"gateways.enabled\": \"false\",\n \"gateways.istio-ingressgateway.resources.limits.cpu\": \"2000m\",\n \"gateways.istio-ingressgateway.resources.limits.memory\": \"1024Mi\",\n \"gateways.istio-ingressgateway.resources.requests.cpu\": \"100m\",\n \"gateways.istio-ingressgateway.resources.requests.memory\": \"128Mi\",\n \"gateways.istio-ingressgateway.type\": \"NodePort\",\n \"global.rancher.clusterId\": foo_customClusterSync.clusterId,\n \"istio_cni.enabled\": \"false\",\n \"istiocoredns.enabled\": \"false\",\n \"kiali.enabled\": \"true\",\n \"mixer.enabled\": \"true\",\n \"mixer.policy.enabled\": \"true\",\n \"mixer.policy.resources.limits.cpu\": \"4800m\",\n \"mixer.policy.resources.limits.memory\": \"4096Mi\",\n \"mixer.policy.resources.requests.cpu\": \"1000m\",\n \"mixer.policy.resources.requests.memory\": \"1024Mi\",\n \"mixer.telemetry.resources.limits.cpu\": \"4800m\",\n \"mixer.telemetry.resources.limits.memory\": \"4096Mi\",\n \"mixer.telemetry.resources.requests.cpu\": \"1000m\",\n \"mixer.telemetry.resources.requests.memory\": \"1024Mi\",\n \"mtls.enabled\": \"false\",\n \"nodeagent.enabled\": \"false\",\n \"pilot.enabled\": \"true\",\n \"pilot.resources.limits.cpu\": \"1000m\",\n \"pilot.resources.limits.memory\": \"4096Mi\",\n \"pilot.resources.requests.cpu\": \"500m\",\n \"pilot.resources.requests.memory\": \"2048Mi\",\n \"pilot.traceSampling\": \"1\",\n \"security.enabled\": \"true\",\n \"sidecarInjectorWebhook.enabled\": \"true\",\n \"tracing.enabled\": \"true\",\n \"tracing.jaeger.resources.limits.cpu\": \"500m\",\n \"tracing.jaeger.resources.limits.memory\": \"1024Mi\",\n \"tracing.jaeger.resources.requests.cpu\": \"100m\",\n \"tracing.jaeger.resources.requests.memory\": \"100Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 RKE Cluster\nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n# Create a new rancher2 Cluster Sync for foo-custom cluster\nfoo_custom_cluster_sync = rancher2.ClusterSync(\"foo-custom\", cluster_id=foo_custom.id)\n# Create a new rancher2 Namespace\nfoo_istio = rancher2.Namespace(\"foo-istio\",\n name=\"istio-system\",\n project_id=foo_custom_cluster_sync.system_project_id,\n description=\"istio namespace\")\n# Create a new rancher2 App deploying istio\nistio = rancher2.App(\"istio\",\n catalog_name=\"system-library\",\n name=\"cluster-istio\",\n description=\"Terraform app acceptance test\",\n project_id=foo_istio.project_id,\n template_name=\"rancher-istio\",\n template_version=\"0.1.1\",\n target_namespace=foo_istio.id,\n answers={\n \"certmanager.enabled\": \"false\",\n \"enableCRDs\": \"true\",\n \"galley.enabled\": \"true\",\n \"gateways.enabled\": \"false\",\n \"gateways.istio-ingressgateway.resources.limits.cpu\": \"2000m\",\n \"gateways.istio-ingressgateway.resources.limits.memory\": \"1024Mi\",\n \"gateways.istio-ingressgateway.resources.requests.cpu\": \"100m\",\n \"gateways.istio-ingressgateway.resources.requests.memory\": \"128Mi\",\n \"gateways.istio-ingressgateway.type\": \"NodePort\",\n \"global.rancher.clusterId\": foo_custom_cluster_sync.cluster_id,\n \"istio_cni.enabled\": \"false\",\n \"istiocoredns.enabled\": \"false\",\n \"kiali.enabled\": \"true\",\n \"mixer.enabled\": \"true\",\n \"mixer.policy.enabled\": \"true\",\n \"mixer.policy.resources.limits.cpu\": \"4800m\",\n \"mixer.policy.resources.limits.memory\": \"4096Mi\",\n \"mixer.policy.resources.requests.cpu\": \"1000m\",\n \"mixer.policy.resources.requests.memory\": \"1024Mi\",\n \"mixer.telemetry.resources.limits.cpu\": \"4800m\",\n \"mixer.telemetry.resources.limits.memory\": \"4096Mi\",\n \"mixer.telemetry.resources.requests.cpu\": \"1000m\",\n \"mixer.telemetry.resources.requests.memory\": \"1024Mi\",\n \"mtls.enabled\": \"false\",\n \"nodeagent.enabled\": \"false\",\n \"pilot.enabled\": \"true\",\n \"pilot.resources.limits.cpu\": \"1000m\",\n \"pilot.resources.limits.memory\": \"4096Mi\",\n \"pilot.resources.requests.cpu\": \"500m\",\n \"pilot.resources.requests.memory\": \"2048Mi\",\n \"pilot.traceSampling\": \"1\",\n \"security.enabled\": \"true\",\n \"sidecarInjectorWebhook.enabled\": \"true\",\n \"tracing.enabled\": \"true\",\n \"tracing.jaeger.resources.limits.cpu\": \"500m\",\n \"tracing.jaeger.resources.limits.memory\": \"1024Mi\",\n \"tracing.jaeger.resources.requests.cpu\": \"100m\",\n \"tracing.jaeger.resources.requests.memory\": \"100Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n // Create a new rancher2 Cluster Sync for foo-custom cluster\n var foo_customClusterSync = new Rancher2.ClusterSync(\"foo-custom\", new()\n {\n ClusterId = foo_custom.Id,\n });\n\n // Create a new rancher2 Namespace\n var foo_istio = new Rancher2.Namespace(\"foo-istio\", new()\n {\n Name = \"istio-system\",\n ProjectId = foo_customClusterSync.SystemProjectId,\n Description = \"istio namespace\",\n });\n\n // Create a new rancher2 App deploying istio\n var istio = new Rancher2.App(\"istio\", new()\n {\n CatalogName = \"system-library\",\n Name = \"cluster-istio\",\n Description = \"Terraform app acceptance test\",\n ProjectId = foo_istio.ProjectId,\n TemplateName = \"rancher-istio\",\n TemplateVersion = \"0.1.1\",\n TargetNamespace = foo_istio.Id,\n Answers = \n {\n { \"certmanager.enabled\", \"false\" },\n { \"enableCRDs\", \"true\" },\n { \"galley.enabled\", \"true\" },\n { \"gateways.enabled\", \"false\" },\n { \"gateways.istio-ingressgateway.resources.limits.cpu\", \"2000m\" },\n { \"gateways.istio-ingressgateway.resources.limits.memory\", \"1024Mi\" },\n { \"gateways.istio-ingressgateway.resources.requests.cpu\", \"100m\" },\n { \"gateways.istio-ingressgateway.resources.requests.memory\", \"128Mi\" },\n { \"gateways.istio-ingressgateway.type\", \"NodePort\" },\n { \"global.rancher.clusterId\", foo_customClusterSync.ClusterId },\n { \"istio_cni.enabled\", \"false\" },\n { \"istiocoredns.enabled\", \"false\" },\n { \"kiali.enabled\", \"true\" },\n { \"mixer.enabled\", \"true\" },\n { \"mixer.policy.enabled\", \"true\" },\n { \"mixer.policy.resources.limits.cpu\", \"4800m\" },\n { \"mixer.policy.resources.limits.memory\", \"4096Mi\" },\n { \"mixer.policy.resources.requests.cpu\", \"1000m\" },\n { \"mixer.policy.resources.requests.memory\", \"1024Mi\" },\n { \"mixer.telemetry.resources.limits.cpu\", \"4800m\" },\n { \"mixer.telemetry.resources.limits.memory\", \"4096Mi\" },\n { \"mixer.telemetry.resources.requests.cpu\", \"1000m\" },\n { \"mixer.telemetry.resources.requests.memory\", \"1024Mi\" },\n { \"mtls.enabled\", \"false\" },\n { \"nodeagent.enabled\", \"false\" },\n { \"pilot.enabled\", \"true\" },\n { \"pilot.resources.limits.cpu\", \"1000m\" },\n { \"pilot.resources.limits.memory\", \"4096Mi\" },\n { \"pilot.resources.requests.cpu\", \"500m\" },\n { \"pilot.resources.requests.memory\", \"2048Mi\" },\n { \"pilot.traceSampling\", \"1\" },\n { \"security.enabled\", \"true\" },\n { \"sidecarInjectorWebhook.enabled\", \"true\" },\n { \"tracing.enabled\", \"true\" },\n { \"tracing.jaeger.resources.limits.cpu\", \"500m\" },\n { \"tracing.jaeger.resources.limits.memory\", \"1024Mi\" },\n { \"tracing.jaeger.resources.requests.cpu\", \"100m\" },\n { \"tracing.jaeger.resources.requests.memory\", \"100Mi\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 RKE Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Cluster Sync for foo-custom cluster\n\t\t_, err = rancher2.NewClusterSync(ctx, \"foo-custom\", \u0026rancher2.ClusterSyncArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Namespace\n\t\t_, err = rancher2.NewNamespace(ctx, \"foo-istio\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"istio-system\"),\n\t\t\tProjectId: foo_customClusterSync.SystemProjectId,\n\t\t\tDescription: pulumi.String(\"istio namespace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 App deploying istio\n\t\t_, err = rancher2.NewApp(ctx, \"istio\", \u0026rancher2.AppArgs{\n\t\t\tCatalogName: pulumi.String(\"system-library\"),\n\t\t\tName: pulumi.String(\"cluster-istio\"),\n\t\t\tDescription: pulumi.String(\"Terraform app acceptance test\"),\n\t\t\tProjectId: foo_istio.ProjectId,\n\t\t\tTemplateName: pulumi.String(\"rancher-istio\"),\n\t\t\tTemplateVersion: pulumi.String(\"0.1.1\"),\n\t\t\tTargetNamespace: foo_istio.ID(),\n\t\t\tAnswers: pulumi.StringMap{\n\t\t\t\t\"certmanager.enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"enableCRDs\": pulumi.String(\"true\"),\n\t\t\t\t\"galley.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"gateways.enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.limits.cpu\": pulumi.String(\"2000m\"),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.limits.memory\": pulumi.String(\"1024Mi\"),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.requests.cpu\": pulumi.String(\"100m\"),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.requests.memory\": pulumi.String(\"128Mi\"),\n\t\t\t\t\"gateways.istio-ingressgateway.type\": pulumi.String(\"NodePort\"),\n\t\t\t\t\"global.rancher.clusterId\": foo_customClusterSync.ClusterId,\n\t\t\t\t\"istio_cni.enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"istiocoredns.enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"kiali.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"mixer.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"mixer.policy.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"mixer.policy.resources.limits.cpu\": pulumi.String(\"4800m\"),\n\t\t\t\t\"mixer.policy.resources.limits.memory\": pulumi.String(\"4096Mi\"),\n\t\t\t\t\"mixer.policy.resources.requests.cpu\": pulumi.String(\"1000m\"),\n\t\t\t\t\"mixer.policy.resources.requests.memory\": pulumi.String(\"1024Mi\"),\n\t\t\t\t\"mixer.telemetry.resources.limits.cpu\": pulumi.String(\"4800m\"),\n\t\t\t\t\"mixer.telemetry.resources.limits.memory\": pulumi.String(\"4096Mi\"),\n\t\t\t\t\"mixer.telemetry.resources.requests.cpu\": pulumi.String(\"1000m\"),\n\t\t\t\t\"mixer.telemetry.resources.requests.memory\": pulumi.String(\"1024Mi\"),\n\t\t\t\t\"mtls.enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"nodeagent.enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"pilot.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"pilot.resources.limits.cpu\": pulumi.String(\"1000m\"),\n\t\t\t\t\"pilot.resources.limits.memory\": pulumi.String(\"4096Mi\"),\n\t\t\t\t\"pilot.resources.requests.cpu\": pulumi.String(\"500m\"),\n\t\t\t\t\"pilot.resources.requests.memory\": pulumi.String(\"2048Mi\"),\n\t\t\t\t\"pilot.traceSampling\": pulumi.String(\"1\"),\n\t\t\t\t\"security.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sidecarInjectorWebhook.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"tracing.enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"tracing.jaeger.resources.limits.cpu\": pulumi.String(\"500m\"),\n\t\t\t\t\"tracing.jaeger.resources.limits.memory\": pulumi.String(\"1024Mi\"),\n\t\t\t\t\"tracing.jaeger.resources.requests.cpu\": pulumi.String(\"100m\"),\n\t\t\t\t\"tracing.jaeger.resources.requests.memory\": pulumi.String(\"100Mi\"),\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.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.ClusterSync;\nimport com.pulumi.rancher2.ClusterSyncArgs;\nimport com.pulumi.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.App;\nimport com.pulumi.rancher2.AppArgs;\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 // Create a new rancher2 RKE Cluster\n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n // Create a new rancher2 Cluster Sync for foo-custom cluster\n var foo_customClusterSync = new ClusterSync(\"foo-customClusterSync\", ClusterSyncArgs.builder()\n .clusterId(foo_custom.id())\n .build());\n\n // Create a new rancher2 Namespace\n var foo_istio = new Namespace(\"foo-istio\", NamespaceArgs.builder()\n .name(\"istio-system\")\n .projectId(foo_customClusterSync.systemProjectId())\n .description(\"istio namespace\")\n .build());\n\n // Create a new rancher2 App deploying istio\n var istio = new App(\"istio\", AppArgs.builder()\n .catalogName(\"system-library\")\n .name(\"cluster-istio\")\n .description(\"Terraform app acceptance test\")\n .projectId(foo_istio.projectId())\n .templateName(\"rancher-istio\")\n .templateVersion(\"0.1.1\")\n .targetNamespace(foo_istio.id())\n .answers(Map.ofEntries(\n Map.entry(\"certmanager.enabled\", false),\n Map.entry(\"enableCRDs\", true),\n Map.entry(\"galley.enabled\", true),\n Map.entry(\"gateways.enabled\", false),\n Map.entry(\"gateways.istio-ingressgateway.resources.limits.cpu\", \"2000m\"),\n Map.entry(\"gateways.istio-ingressgateway.resources.limits.memory\", \"1024Mi\"),\n Map.entry(\"gateways.istio-ingressgateway.resources.requests.cpu\", \"100m\"),\n Map.entry(\"gateways.istio-ingressgateway.resources.requests.memory\", \"128Mi\"),\n Map.entry(\"gateways.istio-ingressgateway.type\", \"NodePort\"),\n Map.entry(\"global.rancher.clusterId\", foo_customClusterSync.clusterId()),\n Map.entry(\"istio_cni.enabled\", \"false\"),\n Map.entry(\"istiocoredns.enabled\", \"false\"),\n Map.entry(\"kiali.enabled\", \"true\"),\n Map.entry(\"mixer.enabled\", \"true\"),\n Map.entry(\"mixer.policy.enabled\", \"true\"),\n Map.entry(\"mixer.policy.resources.limits.cpu\", \"4800m\"),\n Map.entry(\"mixer.policy.resources.limits.memory\", \"4096Mi\"),\n Map.entry(\"mixer.policy.resources.requests.cpu\", \"1000m\"),\n Map.entry(\"mixer.policy.resources.requests.memory\", \"1024Mi\"),\n Map.entry(\"mixer.telemetry.resources.limits.cpu\", \"4800m\"),\n Map.entry(\"mixer.telemetry.resources.limits.memory\", \"4096Mi\"),\n Map.entry(\"mixer.telemetry.resources.requests.cpu\", \"1000m\"),\n Map.entry(\"mixer.telemetry.resources.requests.memory\", \"1024Mi\"),\n Map.entry(\"mtls.enabled\", false),\n Map.entry(\"nodeagent.enabled\", false),\n Map.entry(\"pilot.enabled\", true),\n Map.entry(\"pilot.resources.limits.cpu\", \"1000m\"),\n Map.entry(\"pilot.resources.limits.memory\", \"4096Mi\"),\n Map.entry(\"pilot.resources.requests.cpu\", \"500m\"),\n Map.entry(\"pilot.resources.requests.memory\", \"2048Mi\"),\n Map.entry(\"pilot.traceSampling\", \"1\"),\n Map.entry(\"security.enabled\", true),\n Map.entry(\"sidecarInjectorWebhook.enabled\", true),\n Map.entry(\"tracing.enabled\", true),\n Map.entry(\"tracing.jaeger.resources.limits.cpu\", \"500m\"),\n Map.entry(\"tracing.jaeger.resources.limits.memory\", \"1024Mi\"),\n Map.entry(\"tracing.jaeger.resources.requests.cpu\", \"100m\"),\n Map.entry(\"tracing.jaeger.resources.requests.memory\", \"100Mi\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 RKE Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n # Create a new rancher2 Cluster Sync for foo-custom cluster\n foo-customClusterSync:\n type: rancher2:ClusterSync\n name: foo-custom\n properties:\n clusterId: ${[\"foo-custom\"].id}\n # Create a new rancher2 Namespace\n foo-istio:\n type: rancher2:Namespace\n properties:\n name: istio-system\n projectId: ${[\"foo-customClusterSync\"].systemProjectId}\n description: istio namespace\n # Create a new rancher2 App deploying istio\n istio:\n type: rancher2:App\n properties:\n catalogName: system-library\n name: cluster-istio\n description: Terraform app acceptance test\n projectId: ${[\"foo-istio\"].projectId}\n templateName: rancher-istio\n templateVersion: 0.1.1\n targetNamespace: ${[\"foo-istio\"].id}\n answers:\n certmanager.enabled: false\n enableCRDs: true\n galley.enabled: true\n gateways.enabled: false\n gateways.istio-ingressgateway.resources.limits.cpu: 2000m\n gateways.istio-ingressgateway.resources.limits.memory: 1024Mi\n gateways.istio-ingressgateway.resources.requests.cpu: 100m\n gateways.istio-ingressgateway.resources.requests.memory: 128Mi\n gateways.istio-ingressgateway.type: NodePort\n global.rancher.clusterId: ${[\"foo-customClusterSync\"].clusterId}\n istio_cni.enabled: 'false'\n istiocoredns.enabled: 'false'\n kiali.enabled: 'true'\n mixer.enabled: 'true'\n mixer.policy.enabled: 'true'\n mixer.policy.resources.limits.cpu: 4800m\n mixer.policy.resources.limits.memory: 4096Mi\n mixer.policy.resources.requests.cpu: 1000m\n mixer.policy.resources.requests.memory: 1024Mi\n mixer.telemetry.resources.limits.cpu: 4800m\n mixer.telemetry.resources.limits.memory: 4096Mi\n mixer.telemetry.resources.requests.cpu: 1000m\n mixer.telemetry.resources.requests.memory: 1024Mi\n mtls.enabled: false\n nodeagent.enabled: false\n pilot.enabled: true\n pilot.resources.limits.cpu: 1000m\n pilot.resources.limits.memory: 4096Mi\n pilot.resources.requests.cpu: 500m\n pilot.resources.requests.memory: 2048Mi\n pilot.traceSampling: '1'\n security.enabled: true\n sidecarInjectorWebhook.enabled: true\n tracing.enabled: true\n tracing.jaeger.resources.limits.cpu: 500m\n tracing.jaeger.resources.limits.memory: 1024Mi\n tracing.jaeger.resources.requests.cpu: 100m\n tracing.jaeger.resources.requests.memory: 100Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster assigning a node pool (overlapped planes)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 RKE Cluster\nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n// Create a new rancher2 Node Template\nconst foo = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2Config: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n// Create a new rancher2 Node Pool\nconst fooNodePool = new rancher2.NodePool(\"foo\", {\n clusterId: foo_custom.id,\n name: \"foo\",\n hostnamePrefix: \"foo-cluster-0\",\n nodeTemplateId: foo.id,\n quantity: 3,\n controlPlane: true,\n etcd: true,\n worker: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 RKE Cluster\nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n# Create a new rancher2 Node Template\nfoo = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_config={\n \"access_key\": \"\u003cAWS_ACCESS_KEY\u003e\",\n \"secret_key\": \"\u003cAWS_SECRET_KEY\u003e\",\n \"ami\": \"\u003cAMI_ID\u003e\",\n \"region\": \"\u003cREGION\u003e\",\n \"security_groups\": [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n \"subnet_id\": \"\u003cSUBNET_ID\u003e\",\n \"vpc_id\": \"\u003cVPC_ID\u003e\",\n \"zone\": \"\u003cZONE\u003e\",\n })\n# Create a new rancher2 Node Pool\nfoo_node_pool = rancher2.NodePool(\"foo\",\n cluster_id=foo_custom.id,\n name=\"foo\",\n hostname_prefix=\"foo-cluster-0\",\n node_template_id=foo.id,\n quantity=3,\n control_plane=True,\n etcd=True,\n worker=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n // Create a new rancher2 Node Template\n var foo = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new Rancher2.NodePool(\"foo\", new()\n {\n ClusterId = foo_custom.Id,\n Name = \"foo\",\n HostnamePrefix = \"foo-cluster-0\",\n NodeTemplateId = foo.Id,\n Quantity = 3,\n ControlPlane = true,\n Etcd = true,\n Worker = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 RKE Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Template\n\t\tfoo, err := rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Pool\n\t\t_, err = rancher2.NewNodePool(ctx, \"foo\", \u0026rancher2.NodePoolArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tHostnamePrefix: pulumi.String(\"foo-cluster-0\"),\n\t\t\tNodeTemplateId: foo.ID(),\n\t\t\tQuantity: pulumi.Int(3),\n\t\t\tControlPlane: pulumi.Bool(true),\n\t\t\tEtcd: pulumi.Bool(true),\n\t\t\tWorker: 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.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\nimport com.pulumi.rancher2.NodePool;\nimport com.pulumi.rancher2.NodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n // Create a new rancher2 Node Template\n var foo = new NodeTemplate(\"foo\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new NodePool(\"fooNodePool\", NodePoolArgs.builder()\n .clusterId(foo_custom.id())\n .name(\"foo\")\n .hostnamePrefix(\"foo-cluster-0\")\n .nodeTemplateId(foo.id())\n .quantity(3)\n .controlPlane(true)\n .etcd(true)\n .worker(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 RKE Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n # Create a new rancher2 Node Template\n foo:\n type: rancher2:NodeTemplate\n properties:\n name: foo\n description: foo test\n amazonec2Config:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n # Create a new rancher2 Node Pool\n fooNodePool:\n type: rancher2:NodePool\n name: foo\n properties:\n clusterId: ${[\"foo-custom\"].id}\n name: foo\n hostnamePrefix: foo-cluster-0\n nodeTemplateId: ${foo.id}\n quantity: 3\n controlPlane: true\n etcd: true\n worker: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster from template. For Rancher v2.3.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 cluster template\nconst foo = new rancher2.ClusterTemplate(\"foo\", {\n name: \"foo\",\n members: [{\n accessType: \"owner\",\n userPrincipalId: \"local://user-XXXXX\",\n }],\n templateRevisions: [{\n name: \"V1\",\n clusterConfig: {\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n },\n },\n },\n \"default\": true,\n }],\n description: \"Test cluster template v2\",\n});\n// Create a new rancher2 RKE Cluster from template\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n clusterTemplateId: foo.id,\n clusterTemplateRevisionId: foo.templateRevisions.apply(templateRevisions =\u003e templateRevisions[0].id),\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 cluster template\nfoo = rancher2.ClusterTemplate(\"foo\",\n name=\"foo\",\n members=[{\n \"access_type\": \"owner\",\n \"user_principal_id\": \"local://user-XXXXX\",\n }],\n template_revisions=[{\n \"name\": \"V1\",\n \"cluster_config\": {\n \"rke_config\": {\n \"network\": {\n \"plugin\": \"canal\",\n },\n \"services\": {\n \"etcd\": {\n \"creation\": \"6h\",\n \"retention\": \"24h\",\n },\n },\n },\n },\n \"default\": True,\n }],\n description=\"Test cluster template v2\")\n# Create a new rancher2 RKE Cluster from template\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n cluster_template_id=foo.id,\n cluster_template_revision_id=foo.template_revisions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 cluster template\n var foo = new Rancher2.ClusterTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Members = new[]\n {\n new Rancher2.Inputs.ClusterTemplateMemberArgs\n {\n AccessType = \"owner\",\n UserPrincipalId = \"local://user-XXXXX\",\n },\n },\n TemplateRevisions = new[]\n {\n new Rancher2.Inputs.ClusterTemplateTemplateRevisionArgs\n {\n Name = \"V1\",\n ClusterConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigArgs\n {\n RkeConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n },\n },\n },\n Default = true,\n },\n },\n Description = \"Test cluster template v2\",\n });\n\n // Create a new rancher2 RKE Cluster from template\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n ClusterTemplateId = foo.Id,\n ClusterTemplateRevisionId = foo.TemplateRevisions.Apply(templateRevisions =\u003e templateRevisions[0].Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 cluster template\n\t\tfoo, err := rancher2.NewClusterTemplate(ctx, \"foo\", \u0026rancher2.ClusterTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMembers: rancher2.ClusterTemplateMemberArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateMemberArgs{\n\t\t\t\t\tAccessType: pulumi.String(\"owner\"),\n\t\t\t\t\tUserPrincipalId: pulumi.String(\"local://user-XXXXX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateRevisions: rancher2.ClusterTemplateTemplateRevisionArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateTemplateRevisionArgs{\n\t\t\t\t\tName: pulumi.String(\"V1\"),\n\t\t\t\t\tClusterConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs{\n\t\t\t\t\t\tRkeConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs{\n\t\t\t\t\t\t\tNetwork: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs{\n\t\t\t\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tServices: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs{\n\t\t\t\t\t\t\t\tEtcd: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDefault: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Test cluster template v2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 RKE Cluster from template\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterTemplateId: foo.ID(),\n\t\t\tClusterTemplateRevisionId: pulumi.String(foo.TemplateRevisions.ApplyT(func(templateRevisions []rancher2.ClusterTemplateTemplateRevision) (*string, error) {\n\t\t\t\treturn \u0026templateRevisions[0].Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.rancher2.ClusterTemplate;\nimport com.pulumi.rancher2.ClusterTemplateArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateMemberArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\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 // Create a new rancher2 cluster template\n var foo = new ClusterTemplate(\"foo\", ClusterTemplateArgs.builder()\n .name(\"foo\")\n .members(ClusterTemplateMemberArgs.builder()\n .accessType(\"owner\")\n .userPrincipalId(\"local://user-XXXXX\")\n .build())\n .templateRevisions(ClusterTemplateTemplateRevisionArgs.builder()\n .name(\"V1\")\n .clusterConfig(ClusterTemplateTemplateRevisionClusterConfigArgs.builder()\n .rkeConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs.builder()\n .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs.builder()\n .etcd(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .build())\n .build())\n .build())\n .default_(true)\n .build())\n .description(\"Test cluster template v2\")\n .build());\n\n // Create a new rancher2 RKE Cluster from template\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .clusterTemplateId(foo.id())\n .clusterTemplateRevisionId(foo.templateRevisions().applyValue(templateRevisions -\u003e templateRevisions[0].id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 cluster template\n foo:\n type: rancher2:ClusterTemplate\n properties:\n name: foo\n members:\n - accessType: owner\n userPrincipalId: local://user-XXXXX\n templateRevisions:\n - name: V1\n clusterConfig:\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n default: true\n description: Test cluster template v2\n # Create a new rancher2 RKE Cluster from template\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n clusterTemplateId: ${foo.id}\n clusterTemplateRevisionId: ${foo.templateRevisions[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster with upgrade strategy. For Rancher v2.4.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n kubeApi: {\n auditLog: {\n enabled: true,\n configuration: {\n maxAge: 5,\n maxBackup: 5,\n maxSize: 100,\n path: \"-\",\n format: \"json\",\n policy: `apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n`,\n },\n },\n },\n },\n upgradeStrategy: {\n drain: true,\n maxUnavailableWorker: \"20%\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n \"services\": {\n \"etcd\": {\n \"creation\": \"6h\",\n \"retention\": \"24h\",\n },\n \"kube_api\": {\n \"audit_log\": {\n \"enabled\": True,\n \"configuration\": {\n \"max_age\": 5,\n \"max_backup\": 5,\n \"max_size\": 100,\n \"path\": \"-\",\n \"format\": \"json\",\n \"policy\": \"\"\"apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n\"\"\",\n },\n },\n },\n },\n \"upgrade_strategy\": {\n \"drain\": True,\n \"max_unavailable_worker\": \"20%\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n KubeApi = new Rancher2.Inputs.ClusterRkeConfigServicesKubeApiArgs\n {\n AuditLog = new Rancher2.Inputs.ClusterRkeConfigServicesKubeApiAuditLogArgs\n {\n Enabled = true,\n Configuration = new Rancher2.Inputs.ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs\n {\n MaxAge = 5,\n MaxBackup = 5,\n MaxSize = 100,\n Path = \"-\",\n Format = \"json\",\n Policy = @\"apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n\",\n },\n },\n },\n },\n UpgradeStrategy = new Rancher2.Inputs.ClusterRkeConfigUpgradeStrategyArgs\n {\n Drain = true,\n MaxUnavailableWorker = \"20%\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t\tServices: \u0026rancher2.ClusterRkeConfigServicesArgs{\n\t\t\t\t\tEtcd: \u0026rancher2.ClusterRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t},\n\t\t\t\t\tKubeApi: \u0026rancher2.ClusterRkeConfigServicesKubeApiArgs{\n\t\t\t\t\t\tAuditLog: \u0026rancher2.ClusterRkeConfigServicesKubeApiAuditLogArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t\tConfiguration: \u0026rancher2.ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs{\n\t\t\t\t\t\t\t\tMaxAge: pulumi.Int(5),\n\t\t\t\t\t\t\t\tMaxBackup: pulumi.Int(5),\n\t\t\t\t\t\t\t\tMaxSize: pulumi.Int(100),\n\t\t\t\t\t\t\t\tPath: pulumi.String(\"-\"),\n\t\t\t\t\t\t\t\tFormat: pulumi.String(\"json\"),\n\t\t\t\t\t\t\t\tPolicy: pulumi.String(`apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n`),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tUpgradeStrategy: \u0026rancher2.ClusterRkeConfigUpgradeStrategyArgs{\n\t\t\t\t\tDrain: pulumi.Bool(true),\n\t\t\t\t\tMaxUnavailableWorker: pulumi.String(\"20%\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesEtcdArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesKubeApiArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesKubeApiAuditLogArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigUpgradeStrategyArgs;\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 foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterRkeConfigServicesArgs.builder()\n .etcd(ClusterRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .kubeApi(ClusterRkeConfigServicesKubeApiArgs.builder()\n .auditLog(ClusterRkeConfigServicesKubeApiAuditLogArgs.builder()\n .enabled(true)\n .configuration(ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs.builder()\n .maxAge(5)\n .maxBackup(5)\n .maxSize(100)\n .path(\"-\")\n .format(\"json\")\n .policy(\"\"\"\napiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n \"\"\")\n .build())\n .build())\n .build())\n .build())\n .upgradeStrategy(ClusterRkeConfigUpgradeStrategyArgs.builder()\n .drain(true)\n .maxUnavailableWorker(\"20%\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:Cluster\n properties:\n name: foo\n description: Terraform custom cluster\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n kubeApi:\n auditLog:\n enabled: true\n configuration:\n maxAge: 5\n maxBackup: 5\n maxSize: 100\n path: '-'\n format: json\n policy: |\n apiVersion: audit.k8s.io/v1\n kind: Policy\n metadata:\n creationTimestamp: null\n omitStages:\n - RequestReceived\n rules:\n - level: RequestResponse\n resources:\n - resources:\n - pods\n upgradeStrategy:\n drain: true\n maxUnavailableWorker: 20%\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster with cluster agent customization. For Rancher v2.7.5 and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform cluster with agent customization\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n clusterAgentDeploymentCustomizations: [{\n appendTolerations: [{\n effect: \"NoSchedule\",\n key: \"tolerate/control-plane\",\n value: \"true\",\n }],\n overrideAffinity: `{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n`,\n overrideResourceRequirements: [{\n cpuLimit: \"800\",\n cpuRequest: \"500\",\n memoryLimit: \"800\",\n memoryRequest: \"500\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform cluster with agent customization\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n },\n cluster_agent_deployment_customizations=[{\n \"append_tolerations\": [{\n \"effect\": \"NoSchedule\",\n \"key\": \"tolerate/control-plane\",\n \"value\": \"true\",\n }],\n \"override_affinity\": \"\"\"{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n\"\"\",\n \"override_resource_requirements\": [{\n \"cpu_limit\": \"800\",\n \"cpu_request\": \"500\",\n \"memory_limit\": \"800\",\n \"memory_request\": \"500\",\n }],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform cluster with agent customization\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n ClusterAgentDeploymentCustomizations = new[]\n {\n new Rancher2.Inputs.ClusterClusterAgentDeploymentCustomizationArgs\n {\n AppendTolerations = new[]\n {\n new Rancher2.Inputs.ClusterClusterAgentDeploymentCustomizationAppendTolerationArgs\n {\n Effect = \"NoSchedule\",\n Key = \"tolerate/control-plane\",\n Value = \"true\",\n },\n },\n OverrideAffinity = @\"{\n \"\"nodeAffinity\"\": {\n \"\"requiredDuringSchedulingIgnoredDuringExecution\"\": {\n \"\"nodeSelectorTerms\"\": [{\n \"\"matchExpressions\"\": [{\n \"\"key\"\": \"\"not.this/nodepool\"\",\n \"\"operator\"\": \"\"In\"\",\n \"\"values\"\": [\n \"\"true\"\"\n ]\n }]\n }]\n }\n }\n}\n\",\n OverrideResourceRequirements = new[]\n {\n new Rancher2.Inputs.ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs\n {\n CpuLimit = \"800\",\n CpuRequest = \"500\",\n MemoryLimit = \"800\",\n MemoryRequest = \"500\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform cluster with agent customization\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterAgentDeploymentCustomizations: rancher2.ClusterClusterAgentDeploymentCustomizationArray{\n\t\t\t\t\u0026rancher2.ClusterClusterAgentDeploymentCustomizationArgs{\n\t\t\t\t\tAppendTolerations: rancher2.ClusterClusterAgentDeploymentCustomizationAppendTolerationArray{\n\t\t\t\t\t\t\u0026rancher2.ClusterClusterAgentDeploymentCustomizationAppendTolerationArgs{\n\t\t\t\t\t\t\tEffect: pulumi.String(\"NoSchedule\"),\n\t\t\t\t\t\t\tKey: pulumi.String(\"tolerate/control-plane\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tOverrideAffinity: pulumi.String(`{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n`),\n\t\t\t\t\tOverrideResourceRequirements: rancher2.ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArray{\n\t\t\t\t\t\t\u0026rancher2.ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs{\n\t\t\t\t\t\t\tCpuLimit: pulumi.String(\"800\"),\n\t\t\t\t\t\t\tCpuRequest: pulumi.String(\"500\"),\n\t\t\t\t\t\t\tMemoryLimit: pulumi.String(\"800\"),\n\t\t\t\t\t\t\tMemoryRequest: pulumi.String(\"500\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\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.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterClusterAgentDeploymentCustomizationArgs;\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 foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform cluster with agent customization\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .clusterAgentDeploymentCustomizations(ClusterClusterAgentDeploymentCustomizationArgs.builder()\n .appendTolerations(ClusterClusterAgentDeploymentCustomizationAppendTolerationArgs.builder()\n .effect(\"NoSchedule\")\n .key(\"tolerate/control-plane\")\n .value(\"true\")\n .build())\n .overrideAffinity(\"\"\"\n{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n \"\"\")\n .overrideResourceRequirements(ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs.builder()\n .cpuLimit(\"800\")\n .cpuRequest(\"500\")\n .memoryLimit(\"800\")\n .memoryRequest(\"500\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:Cluster\n properties:\n name: foo\n description: Terraform cluster with agent customization\n rkeConfig:\n network:\n plugin: canal\n clusterAgentDeploymentCustomizations:\n - appendTolerations:\n - effect: NoSchedule\n key: tolerate/control-plane\n value: 'true'\n overrideAffinity: |\n {\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n }\n overrideResourceRequirements:\n - cpuLimit: '800'\n cpuRequest: '500'\n memoryLimit: '800'\n memoryRequest: '500'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster with Pod Security Admission Configuration Template (PSACT). For Rancher v2.7.2 and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Custom PSACT (if you wish to use your own)\nconst foo = new rancher2.PodSecurityAdmissionConfigurationTemplate(\"foo\", {\n name: \"custom-psact\",\n description: \"This is my custom Pod Security Admission Configuration Template\",\n defaults: {\n audit: \"restricted\",\n auditVersion: \"latest\",\n enforce: \"restricted\",\n enforceVersion: \"latest\",\n warn: \"restricted\",\n warnVersion: \"latest\",\n },\n exemptions: {\n usernames: [\"testuser\"],\n runtimeClasses: [\"testclass\"],\n namespaces: [\n \"ingress-nginx\",\n \"kube-system\",\n ],\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform cluster with PSACT\",\n defaultPodSecurityAdmissionConfigurationTemplateName: \"\u003cname\u003e\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Custom PSACT (if you wish to use your own)\nfoo = rancher2.PodSecurityAdmissionConfigurationTemplate(\"foo\",\n name=\"custom-psact\",\n description=\"This is my custom Pod Security Admission Configuration Template\",\n defaults={\n \"audit\": \"restricted\",\n \"audit_version\": \"latest\",\n \"enforce\": \"restricted\",\n \"enforce_version\": \"latest\",\n \"warn\": \"restricted\",\n \"warn_version\": \"latest\",\n },\n exemptions={\n \"usernames\": [\"testuser\"],\n \"runtime_classes\": [\"testclass\"],\n \"namespaces\": [\n \"ingress-nginx\",\n \"kube-system\",\n ],\n })\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform cluster with PSACT\",\n default_pod_security_admission_configuration_template_name=\"\u003cname\u003e\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Custom PSACT (if you wish to use your own)\n var foo = new Rancher2.PodSecurityAdmissionConfigurationTemplate(\"foo\", new()\n {\n Name = \"custom-psact\",\n Description = \"This is my custom Pod Security Admission Configuration Template\",\n Defaults = new Rancher2.Inputs.PodSecurityAdmissionConfigurationTemplateDefaultsArgs\n {\n Audit = \"restricted\",\n AuditVersion = \"latest\",\n Enforce = \"restricted\",\n EnforceVersion = \"latest\",\n Warn = \"restricted\",\n WarnVersion = \"latest\",\n },\n Exemptions = new Rancher2.Inputs.PodSecurityAdmissionConfigurationTemplateExemptionsArgs\n {\n Usernames = new[]\n {\n \"testuser\",\n },\n RuntimeClasses = new[]\n {\n \"testclass\",\n },\n Namespaces = new[]\n {\n \"ingress-nginx\",\n \"kube-system\",\n },\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform cluster with PSACT\",\n DefaultPodSecurityAdmissionConfigurationTemplateName = \"\u003cname\u003e\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Custom PSACT (if you wish to use your own)\n\t\t_, err := rancher2.NewPodSecurityAdmissionConfigurationTemplate(ctx, \"foo\", \u0026rancher2.PodSecurityAdmissionConfigurationTemplateArgs{\n\t\t\tName: pulumi.String(\"custom-psact\"),\n\t\t\tDescription: pulumi.String(\"This is my custom Pod Security Admission Configuration Template\"),\n\t\t\tDefaults: \u0026rancher2.PodSecurityAdmissionConfigurationTemplateDefaultsArgs{\n\t\t\t\tAudit: pulumi.String(\"restricted\"),\n\t\t\t\tAuditVersion: pulumi.String(\"latest\"),\n\t\t\t\tEnforce: pulumi.String(\"restricted\"),\n\t\t\t\tEnforceVersion: pulumi.String(\"latest\"),\n\t\t\t\tWarn: pulumi.String(\"restricted\"),\n\t\t\t\tWarnVersion: pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tExemptions: \u0026rancher2.PodSecurityAdmissionConfigurationTemplateExemptionsArgs{\n\t\t\t\tUsernames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"testuser\"),\n\t\t\t\t},\n\t\t\t\tRuntimeClasses: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"testclass\"),\n\t\t\t\t},\n\t\t\t\tNamespaces: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ingress-nginx\"),\n\t\t\t\t\tpulumi.String(\"kube-system\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform cluster with PSACT\"),\n\t\t\tDefaultPodSecurityAdmissionConfigurationTemplateName: pulumi.String(\"\u003cname\u003e\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.PodSecurityAdmissionConfigurationTemplate;\nimport com.pulumi.rancher2.PodSecurityAdmissionConfigurationTemplateArgs;\nimport com.pulumi.rancher2.inputs.PodSecurityAdmissionConfigurationTemplateDefaultsArgs;\nimport com.pulumi.rancher2.inputs.PodSecurityAdmissionConfigurationTemplateExemptionsArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\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 // Custom PSACT (if you wish to use your own)\n var foo = new PodSecurityAdmissionConfigurationTemplate(\"foo\", PodSecurityAdmissionConfigurationTemplateArgs.builder()\n .name(\"custom-psact\")\n .description(\"This is my custom Pod Security Admission Configuration Template\")\n .defaults(PodSecurityAdmissionConfigurationTemplateDefaultsArgs.builder()\n .audit(\"restricted\")\n .auditVersion(\"latest\")\n .enforce(\"restricted\")\n .enforceVersion(\"latest\")\n .warn(\"restricted\")\n .warnVersion(\"latest\")\n .build())\n .exemptions(PodSecurityAdmissionConfigurationTemplateExemptionsArgs.builder()\n .usernames(\"testuser\")\n .runtimeClasses(\"testclass\")\n .namespaces( \n \"ingress-nginx\",\n \"kube-system\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform cluster with PSACT\")\n .defaultPodSecurityAdmissionConfigurationTemplateName(\"\u003cname\u003e\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Custom PSACT (if you wish to use your own)\n foo:\n type: rancher2:PodSecurityAdmissionConfigurationTemplate\n properties:\n name: custom-psact\n description: This is my custom Pod Security Admission Configuration Template\n defaults:\n audit: restricted\n auditVersion: latest\n enforce: restricted\n enforceVersion: latest\n warn: restricted\n warnVersion: latest\n exemptions:\n usernames:\n - testuser\n runtimeClasses:\n - testclass\n namespaces:\n - ingress-nginx\n - kube-system\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform cluster with PSACT\n defaultPodSecurityAdmissionConfigurationTemplateName: \u003cname\u003e\n rkeConfig:\n network:\n plugin: canal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Importing EKS cluster to Rancher v2, using `eks_config_v2`. For Rancher v2.5.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003caws-access-key\u003e\",\n secretKey: \"\u003caws-secret-key\u003e\",\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform EKS cluster\",\n eksConfigV2: {\n cloudCredentialId: foo.id,\n name: \"\u003ccluster-name\u003e\",\n region: \"\u003ceks-region\u003e\",\n imported: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config={\n \"access_key\": \"\u003caws-access-key\u003e\",\n \"secret_key\": \"\u003caws-secret-key\u003e\",\n })\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform EKS cluster\",\n eks_config_v2={\n \"cloud_credential_id\": foo.id,\n \"name\": \"\u003ccluster-name\u003e\",\n \"region\": \"\u003ceks-region\u003e\",\n \"imported\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003caws-access-key\u003e\",\n SecretKey = \"\u003caws-secret-key\u003e\",\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform EKS cluster\",\n EksConfigV2 = new Rancher2.Inputs.ClusterEksConfigV2Args\n {\n CloudCredentialId = foo.Id,\n Name = \"\u003ccluster-name\u003e\",\n Region = \"\u003ceks-region\u003e\",\n Imported = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003caws-access-key\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003caws-secret-key\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform EKS cluster\"),\n\t\t\tEksConfigV2: \u0026rancher2.ClusterEksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo.ID(),\n\t\t\t\tName: pulumi.String(\"\u003ccluster-name\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003ceks-region\u003e\"),\n\t\t\t\tImported: pulumi.Bool(true),\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.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterEksConfigV2Args;\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 foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003caws-access-key\u003e\")\n .secretKey(\"\u003caws-secret-key\u003e\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform EKS cluster\")\n .eksConfigV2(ClusterEksConfigV2Args.builder()\n .cloudCredentialId(foo.id())\n .name(\"\u003ccluster-name\u003e\")\n .region(\"\u003ceks-region\u003e\")\n .imported(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003caws-access-key\u003e\n secretKey: \u003caws-secret-key\u003e\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform EKS cluster\n eksConfigV2:\n cloudCredentialId: ${foo.id}\n name: \u003ccluster-name\u003e\n region: \u003ceks-region\u003e\n imported: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating EKS cluster from Rancher v2, using `eks_config_v2`. For Rancher v2.5.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003caws-access-key\u003e\",\n secretKey: \"\u003caws-secret-key\u003e\",\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform EKS cluster\",\n eksConfigV2: {\n cloudCredentialId: foo.id,\n region: \"\u003cEKS_REGION\u003e\",\n kubernetesVersion: \"1.24\",\n loggingTypes: [\n \"audit\",\n \"api\",\n ],\n nodeGroups: [\n {\n name: \"node_group1\",\n instanceType: \"t3.medium\",\n desiredSize: 3,\n maxSize: 5,\n },\n {\n name: \"node_group2\",\n instanceType: \"m5.xlarge\",\n desiredSize: 2,\n maxSize: 3,\n nodeRole: \"arn:aws:iam::role/test-NodeInstanceRole\",\n },\n ],\n privateAccess: true,\n publicAccess: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config={\n \"access_key\": \"\u003caws-access-key\u003e\",\n \"secret_key\": \"\u003caws-secret-key\u003e\",\n })\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform EKS cluster\",\n eks_config_v2={\n \"cloud_credential_id\": foo.id,\n \"region\": \"\u003cEKS_REGION\u003e\",\n \"kubernetes_version\": \"1.24\",\n \"logging_types\": [\n \"audit\",\n \"api\",\n ],\n \"node_groups\": [\n {\n \"name\": \"node_group1\",\n \"instance_type\": \"t3.medium\",\n \"desired_size\": 3,\n \"max_size\": 5,\n },\n {\n \"name\": \"node_group2\",\n \"instance_type\": \"m5.xlarge\",\n \"desired_size\": 2,\n \"max_size\": 3,\n \"node_role\": \"arn:aws:iam::role/test-NodeInstanceRole\",\n },\n ],\n \"private_access\": True,\n \"public_access\": False,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003caws-access-key\u003e\",\n SecretKey = \"\u003caws-secret-key\u003e\",\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform EKS cluster\",\n EksConfigV2 = new Rancher2.Inputs.ClusterEksConfigV2Args\n {\n CloudCredentialId = foo.Id,\n Region = \"\u003cEKS_REGION\u003e\",\n KubernetesVersion = \"1.24\",\n LoggingTypes = new[]\n {\n \"audit\",\n \"api\",\n },\n NodeGroups = new[]\n {\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupArgs\n {\n Name = \"node_group1\",\n InstanceType = \"t3.medium\",\n DesiredSize = 3,\n MaxSize = 5,\n },\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupArgs\n {\n Name = \"node_group2\",\n InstanceType = \"m5.xlarge\",\n DesiredSize = 2,\n MaxSize = 3,\n NodeRole = \"arn:aws:iam::role/test-NodeInstanceRole\",\n },\n },\n PrivateAccess = true,\n PublicAccess = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003caws-access-key\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003caws-secret-key\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform EKS cluster\"),\n\t\t\tEksConfigV2: \u0026rancher2.ClusterEksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo.ID(),\n\t\t\t\tRegion: pulumi.String(\"\u003cEKS_REGION\u003e\"),\n\t\t\t\tKubernetesVersion: pulumi.String(\"1.24\"),\n\t\t\t\tLoggingTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"audit\"),\n\t\t\t\t\tpulumi.String(\"api\"),\n\t\t\t\t},\n\t\t\t\tNodeGroups: rancher2.ClusterEksConfigV2NodeGroupArray{\n\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupArgs{\n\t\t\t\t\t\tName: pulumi.String(\"node_group1\"),\n\t\t\t\t\t\tInstanceType: pulumi.String(\"t3.medium\"),\n\t\t\t\t\t\tDesiredSize: pulumi.Int(3),\n\t\t\t\t\t\tMaxSize: pulumi.Int(5),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupArgs{\n\t\t\t\t\t\tName: pulumi.String(\"node_group2\"),\n\t\t\t\t\t\tInstanceType: pulumi.String(\"m5.xlarge\"),\n\t\t\t\t\t\tDesiredSize: pulumi.Int(2),\n\t\t\t\t\t\tMaxSize: pulumi.Int(3),\n\t\t\t\t\t\tNodeRole: pulumi.String(\"arn:aws:iam::role/test-NodeInstanceRole\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPrivateAccess: pulumi.Bool(true),\n\t\t\t\tPublicAccess: pulumi.Bool(false),\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.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterEksConfigV2Args;\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 foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003caws-access-key\u003e\")\n .secretKey(\"\u003caws-secret-key\u003e\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform EKS cluster\")\n .eksConfigV2(ClusterEksConfigV2Args.builder()\n .cloudCredentialId(foo.id())\n .region(\"\u003cEKS_REGION\u003e\")\n .kubernetesVersion(\"1.24\")\n .loggingTypes( \n \"audit\",\n \"api\")\n .nodeGroups( \n ClusterEksConfigV2NodeGroupArgs.builder()\n .name(\"node_group1\")\n .instanceType(\"t3.medium\")\n .desiredSize(3)\n .maxSize(5)\n .build(),\n ClusterEksConfigV2NodeGroupArgs.builder()\n .name(\"node_group2\")\n .instanceType(\"m5.xlarge\")\n .desiredSize(2)\n .maxSize(3)\n .nodeRole(\"arn:aws:iam::role/test-NodeInstanceRole\")\n .build())\n .privateAccess(true)\n .publicAccess(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003caws-access-key\u003e\n secretKey: \u003caws-secret-key\u003e\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform EKS cluster\n eksConfigV2:\n cloudCredentialId: ${foo.id}\n region: \u003cEKS_REGION\u003e\n kubernetesVersion: '1.24'\n loggingTypes:\n - audit\n - api\n nodeGroups:\n - name: node_group1\n instanceType: t3.medium\n desiredSize: 3\n maxSize: 5\n - name: node_group2\n instanceType: m5.xlarge\n desiredSize: 2\n maxSize: 3\n nodeRole: arn:aws:iam::role/test-NodeInstanceRole\n privateAccess: true\n publicAccess: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating EKS cluster from Rancher v2, using `eks_config_v2` and launch template. For Rancher v2.5.6 and above.\n\nNote: To use `launch_template` you must provide the ID (seen as `\u003cEC2_LAUNCH_TEMPLATE_ID\u003e`) to the template either as a static value. Or fetched via AWS data-source using one of: aws_ami, aws_ami_ids, or similar data-sources. You can also create a custom `launch_template` first and provide the ID to that.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003caws-access-key\u003e\",\n secretKey: \"\u003caws-secret-key\u003e\",\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform EKS cluster\",\n eksConfigV2: {\n cloudCredentialId: foo.id,\n region: \"\u003cEKS_REGION\u003e\",\n kubernetesVersion: \"1.24\",\n loggingTypes: [\n \"audit\",\n \"api\",\n ],\n nodeGroups: [{\n desiredSize: 3,\n maxSize: 5,\n name: \"node_group1\",\n launchTemplates: [{\n id: \"\u003cec2-launch-template-id\u003e\",\n version: 1,\n }],\n }],\n privateAccess: true,\n publicAccess: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config={\n \"access_key\": \"\u003caws-access-key\u003e\",\n \"secret_key\": \"\u003caws-secret-key\u003e\",\n })\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform EKS cluster\",\n eks_config_v2={\n \"cloud_credential_id\": foo.id,\n \"region\": \"\u003cEKS_REGION\u003e\",\n \"kubernetes_version\": \"1.24\",\n \"logging_types\": [\n \"audit\",\n \"api\",\n ],\n \"node_groups\": [{\n \"desired_size\": 3,\n \"max_size\": 5,\n \"name\": \"node_group1\",\n \"launch_templates\": [{\n \"id\": \"\u003cec2-launch-template-id\u003e\",\n \"version\": 1,\n }],\n }],\n \"private_access\": True,\n \"public_access\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003caws-access-key\u003e\",\n SecretKey = \"\u003caws-secret-key\u003e\",\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform EKS cluster\",\n EksConfigV2 = new Rancher2.Inputs.ClusterEksConfigV2Args\n {\n CloudCredentialId = foo.Id,\n Region = \"\u003cEKS_REGION\u003e\",\n KubernetesVersion = \"1.24\",\n LoggingTypes = new[]\n {\n \"audit\",\n \"api\",\n },\n NodeGroups = new[]\n {\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupArgs\n {\n DesiredSize = 3,\n MaxSize = 5,\n Name = \"node_group1\",\n LaunchTemplates = new[]\n {\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupLaunchTemplateArgs\n {\n Id = \"\u003cec2-launch-template-id\u003e\",\n Version = 1,\n },\n },\n },\n },\n PrivateAccess = true,\n PublicAccess = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003caws-access-key\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003caws-secret-key\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform EKS cluster\"),\n\t\t\tEksConfigV2: \u0026rancher2.ClusterEksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo.ID(),\n\t\t\t\tRegion: pulumi.String(\"\u003cEKS_REGION\u003e\"),\n\t\t\t\tKubernetesVersion: pulumi.String(\"1.24\"),\n\t\t\t\tLoggingTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"audit\"),\n\t\t\t\t\tpulumi.String(\"api\"),\n\t\t\t\t},\n\t\t\t\tNodeGroups: rancher2.ClusterEksConfigV2NodeGroupArray{\n\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupArgs{\n\t\t\t\t\t\tDesiredSize: pulumi.Int(3),\n\t\t\t\t\t\tMaxSize: pulumi.Int(5),\n\t\t\t\t\t\tName: pulumi.String(\"node_group1\"),\n\t\t\t\t\t\tLaunchTemplates: rancher2.ClusterEksConfigV2NodeGroupLaunchTemplateArray{\n\t\t\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupLaunchTemplateArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"\u003cec2-launch-template-id\u003e\"),\n\t\t\t\t\t\t\t\tVersion: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPrivateAccess: pulumi.Bool(true),\n\t\t\t\tPublicAccess: pulumi.Bool(true),\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.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterEksConfigV2Args;\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 foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003caws-access-key\u003e\")\n .secretKey(\"\u003caws-secret-key\u003e\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform EKS cluster\")\n .eksConfigV2(ClusterEksConfigV2Args.builder()\n .cloudCredentialId(foo.id())\n .region(\"\u003cEKS_REGION\u003e\")\n .kubernetesVersion(\"1.24\")\n .loggingTypes( \n \"audit\",\n \"api\")\n .nodeGroups(ClusterEksConfigV2NodeGroupArgs.builder()\n .desiredSize(3)\n .maxSize(5)\n .name(\"node_group1\")\n .launchTemplates(ClusterEksConfigV2NodeGroupLaunchTemplateArgs.builder()\n .id(\"\u003cec2-launch-template-id\u003e\")\n .version(1)\n .build())\n .build())\n .privateAccess(true)\n .publicAccess(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003caws-access-key\u003e\n secretKey: \u003caws-secret-key\u003e\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform EKS cluster\n eksConfigV2:\n cloudCredentialId: ${foo.id}\n region: \u003cEKS_REGION\u003e\n kubernetesVersion: '1.24'\n loggingTypes:\n - audit\n - api\n nodeGroups:\n - desiredSize: 3\n maxSize: 5\n name: node_group1\n launchTemplates:\n - id: \u003cec2-launch-template-id\u003e\n version: 1\n privateAccess: true\n publicAccess: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating AKS cluster from Rancher v2, using `aks_config_v2`. For Rancher v2.6.0 and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo_aks = new rancher2.CloudCredential(\"foo-aks\", {\n name: \"foo-aks\",\n azureCredentialConfig: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n subscriptionId: \"\u003csubscription-id\u003e\",\n },\n});\nconst foo = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform AKS cluster\",\n aksConfigV2: {\n cloudCredentialId: foo_aks.id,\n resourceGroup: \"\u003cresource-group\u003e\",\n resourceLocation: \"\u003cresource-location\u003e\",\n dnsPrefix: \"\u003cdns-prefix\u003e\",\n kubernetesVersion: \"1.24.6\",\n networkPlugin: \"\u003cnetwork-plugin\u003e\",\n virtualNetwork: \"\u003cvirtual-network\u003e\",\n virtualNetworkResourceGroup: \"\u003cvirtual-network-resource-group\u003e\",\n subnet: \"\u003csubnet\u003e\",\n nodeResourceGroup: \"\u003cnode-resource-group\u003e\",\n outboundType: \"loadBalancer\",\n nodePools: [\n {\n availabilityZones: [\n \"1\",\n \"2\",\n \"3\",\n ],\n name: \"\u003cnodepool-name-1\u003e\",\n mode: \"System\",\n count: 1,\n orchestratorVersion: \"1.21.2\",\n osDiskSizeGb: 128,\n vmSize: \"Standard_DS2_v2\",\n },\n {\n availabilityZones: [\n \"1\",\n \"2\",\n \"3\",\n ],\n name: \"\u003cnodepool-name-2\u003e\",\n count: 1,\n mode: \"User\",\n orchestratorVersion: \"1.21.2\",\n osDiskSizeGb: 128,\n vmSize: \"Standard_DS2_v2\",\n maxSurge: \"25%\",\n labels: {\n test1: \"data1\",\n test2: \"data2\",\n },\n taints: [\"none:PreferNoSchedule\"],\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo_aks = rancher2.CloudCredential(\"foo-aks\",\n name=\"foo-aks\",\n azure_credential_config={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"subscription_id\": \"\u003csubscription-id\u003e\",\n })\nfoo = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform AKS cluster\",\n aks_config_v2={\n \"cloud_credential_id\": foo_aks.id,\n \"resource_group\": \"\u003cresource-group\u003e\",\n \"resource_location\": \"\u003cresource-location\u003e\",\n \"dns_prefix\": \"\u003cdns-prefix\u003e\",\n \"kubernetes_version\": \"1.24.6\",\n \"network_plugin\": \"\u003cnetwork-plugin\u003e\",\n \"virtual_network\": \"\u003cvirtual-network\u003e\",\n \"virtual_network_resource_group\": \"\u003cvirtual-network-resource-group\u003e\",\n \"subnet\": \"\u003csubnet\u003e\",\n \"node_resource_group\": \"\u003cnode-resource-group\u003e\",\n \"outbound_type\": \"loadBalancer\",\n \"node_pools\": [\n {\n \"availability_zones\": [\n \"1\",\n \"2\",\n \"3\",\n ],\n \"name\": \"\u003cnodepool-name-1\u003e\",\n \"mode\": \"System\",\n \"count\": 1,\n \"orchestrator_version\": \"1.21.2\",\n \"os_disk_size_gb\": 128,\n \"vm_size\": \"Standard_DS2_v2\",\n },\n {\n \"availability_zones\": [\n \"1\",\n \"2\",\n \"3\",\n ],\n \"name\": \"\u003cnodepool-name-2\u003e\",\n \"count\": 1,\n \"mode\": \"User\",\n \"orchestrator_version\": \"1.21.2\",\n \"os_disk_size_gb\": 128,\n \"vm_size\": \"Standard_DS2_v2\",\n \"max_surge\": \"25%\",\n \"labels\": {\n \"test1\": \"data1\",\n \"test2\": \"data2\",\n },\n \"taints\": [\"none:PreferNoSchedule\"],\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo_aks = new Rancher2.CloudCredential(\"foo-aks\", new()\n {\n Name = \"foo-aks\",\n AzureCredentialConfig = new Rancher2.Inputs.CloudCredentialAzureCredentialConfigArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n SubscriptionId = \"\u003csubscription-id\u003e\",\n },\n });\n\n var foo = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform AKS cluster\",\n AksConfigV2 = new Rancher2.Inputs.ClusterAksConfigV2Args\n {\n CloudCredentialId = foo_aks.Id,\n ResourceGroup = \"\u003cresource-group\u003e\",\n ResourceLocation = \"\u003cresource-location\u003e\",\n DnsPrefix = \"\u003cdns-prefix\u003e\",\n KubernetesVersion = \"1.24.6\",\n NetworkPlugin = \"\u003cnetwork-plugin\u003e\",\n VirtualNetwork = \"\u003cvirtual-network\u003e\",\n VirtualNetworkResourceGroup = \"\u003cvirtual-network-resource-group\u003e\",\n Subnet = \"\u003csubnet\u003e\",\n NodeResourceGroup = \"\u003cnode-resource-group\u003e\",\n OutboundType = \"loadBalancer\",\n NodePools = new[]\n {\n new Rancher2.Inputs.ClusterAksConfigV2NodePoolArgs\n {\n AvailabilityZones = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n Name = \"\u003cnodepool-name-1\u003e\",\n Mode = \"System\",\n Count = 1,\n OrchestratorVersion = \"1.21.2\",\n OsDiskSizeGb = 128,\n VmSize = \"Standard_DS2_v2\",\n },\n new Rancher2.Inputs.ClusterAksConfigV2NodePoolArgs\n {\n AvailabilityZones = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n Name = \"\u003cnodepool-name-2\u003e\",\n Count = 1,\n Mode = \"User\",\n OrchestratorVersion = \"1.21.2\",\n OsDiskSizeGb = 128,\n VmSize = \"Standard_DS2_v2\",\n MaxSurge = \"25%\",\n Labels = \n {\n { \"test1\", \"data1\" },\n { \"test2\", \"data2\" },\n },\n Taints = new[]\n {\n \"none:PreferNoSchedule\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.NewCloudCredential(ctx, \"foo-aks\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-aks\"),\n\t\t\tAzureCredentialConfig: \u0026rancher2.CloudCredentialAzureCredentialConfigArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tSubscriptionId: pulumi.String(\"\u003csubscription-id\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform AKS cluster\"),\n\t\t\tAksConfigV2: \u0026rancher2.ClusterAksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo_aks.ID(),\n\t\t\t\tResourceGroup: pulumi.String(\"\u003cresource-group\u003e\"),\n\t\t\t\tResourceLocation: pulumi.String(\"\u003cresource-location\u003e\"),\n\t\t\t\tDnsPrefix: pulumi.String(\"\u003cdns-prefix\u003e\"),\n\t\t\t\tKubernetesVersion: pulumi.String(\"1.24.6\"),\n\t\t\t\tNetworkPlugin: pulumi.String(\"\u003cnetwork-plugin\u003e\"),\n\t\t\t\tVirtualNetwork: pulumi.String(\"\u003cvirtual-network\u003e\"),\n\t\t\t\tVirtualNetworkResourceGroup: pulumi.String(\"\u003cvirtual-network-resource-group\u003e\"),\n\t\t\t\tSubnet: pulumi.String(\"\u003csubnet\u003e\"),\n\t\t\t\tNodeResourceGroup: pulumi.String(\"\u003cnode-resource-group\u003e\"),\n\t\t\t\tOutboundType: pulumi.String(\"loadBalancer\"),\n\t\t\t\tNodePools: rancher2.ClusterAksConfigV2NodePoolArray{\n\t\t\t\t\t\u0026rancher2.ClusterAksConfigV2NodePoolArgs{\n\t\t\t\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\t\t\t\tpulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"\u003cnodepool-name-1\u003e\"),\n\t\t\t\t\t\tMode: pulumi.String(\"System\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t\tOrchestratorVersion: pulumi.String(\"1.21.2\"),\n\t\t\t\t\t\tOsDiskSizeGb: pulumi.Int(128),\n\t\t\t\t\t\tVmSize: pulumi.String(\"Standard_DS2_v2\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026rancher2.ClusterAksConfigV2NodePoolArgs{\n\t\t\t\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\t\t\t\tpulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"\u003cnodepool-name-2\u003e\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t\tMode: pulumi.String(\"User\"),\n\t\t\t\t\t\tOrchestratorVersion: pulumi.String(\"1.21.2\"),\n\t\t\t\t\t\tOsDiskSizeGb: pulumi.Int(128),\n\t\t\t\t\t\tVmSize: pulumi.String(\"Standard_DS2_v2\"),\n\t\t\t\t\t\tMaxSurge: pulumi.String(\"25%\"),\n\t\t\t\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\t\t\t\"test1\": pulumi.String(\"data1\"),\n\t\t\t\t\t\t\t\"test2\": pulumi.String(\"data2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTaints: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"none:PreferNoSchedule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\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.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAzureCredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterAksConfigV2Args;\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 foo_aks = new CloudCredential(\"foo-aks\", CloudCredentialArgs.builder()\n .name(\"foo-aks\")\n .azureCredentialConfig(CloudCredentialAzureCredentialConfigArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .subscriptionId(\"\u003csubscription-id\u003e\")\n .build())\n .build());\n\n var foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform AKS cluster\")\n .aksConfigV2(ClusterAksConfigV2Args.builder()\n .cloudCredentialId(foo_aks.id())\n .resourceGroup(\"\u003cresource-group\u003e\")\n .resourceLocation(\"\u003cresource-location\u003e\")\n .dnsPrefix(\"\u003cdns-prefix\u003e\")\n .kubernetesVersion(\"1.24.6\")\n .networkPlugin(\"\u003cnetwork-plugin\u003e\")\n .virtualNetwork(\"\u003cvirtual-network\u003e\")\n .virtualNetworkResourceGroup(\"\u003cvirtual-network-resource-group\u003e\")\n .subnet(\"\u003csubnet\u003e\")\n .nodeResourceGroup(\"\u003cnode-resource-group\u003e\")\n .outboundType(\"loadBalancer\")\n .nodePools( \n ClusterAksConfigV2NodePoolArgs.builder()\n .availabilityZones( \n \"1\",\n \"2\",\n \"3\")\n .name(\"\u003cnodepool-name-1\u003e\")\n .mode(\"System\")\n .count(1)\n .orchestratorVersion(\"1.21.2\")\n .osDiskSizeGb(128)\n .vmSize(\"Standard_DS2_v2\")\n .build(),\n ClusterAksConfigV2NodePoolArgs.builder()\n .availabilityZones( \n \"1\",\n \"2\",\n \"3\")\n .name(\"\u003cnodepool-name-2\u003e\")\n .count(1)\n .mode(\"User\")\n .orchestratorVersion(\"1.21.2\")\n .osDiskSizeGb(128)\n .vmSize(\"Standard_DS2_v2\")\n .maxSurge(\"25%\")\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"data1\"),\n Map.entry(\"test2\", \"data2\")\n ))\n .taints(\"none:PreferNoSchedule\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo-aks:\n type: rancher2:CloudCredential\n properties:\n name: foo-aks\n azureCredentialConfig:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n subscriptionId: \u003csubscription-id\u003e\n foo:\n type: rancher2:Cluster\n properties:\n name: foo\n description: Terraform AKS cluster\n aksConfigV2:\n cloudCredentialId: ${[\"foo-aks\"].id}\n resourceGroup: \u003cresource-group\u003e\n resourceLocation: \u003cresource-location\u003e\n dnsPrefix: \u003cdns-prefix\u003e\n kubernetesVersion: 1.24.6\n networkPlugin: \u003cnetwork-plugin\u003e\n virtualNetwork: \u003cvirtual-network\u003e\n virtualNetworkResourceGroup: \u003cvirtual-network-resource-group\u003e\n subnet: \u003csubnet\u003e\n nodeResourceGroup: \u003cnode-resource-group\u003e\n outboundType: loadBalancer\n nodePools:\n - availabilityZones:\n - '1'\n - '2'\n - '3'\n name: \u003cnodepool-name-1\u003e\n mode: System\n count: 1\n orchestratorVersion: 1.21.2\n osDiskSizeGb: 128\n vmSize: Standard_DS2_v2\n - availabilityZones:\n - '1'\n - '2'\n - '3'\n name: \u003cnodepool-name-2\u003e\n count: 1\n mode: User\n orchestratorVersion: 1.21.2\n osDiskSizeGb: 128\n vmSize: Standard_DS2_v2\n maxSurge: 25%\n labels:\n test1: data1\n test2: data2\n taints:\n - none:PreferNoSchedule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClusters can be imported using the Rancher Cluster ID\n\n```sh\n$ pulumi import rancher2:index/cluster:Cluster foo \u0026lt;CLUSTER_ID\u0026gt;\n```\n", "properties": { "agentEnvVars": { "type": "array", @@ -25126,7 +24988,7 @@ } }, "rancher2:index/clusterRoleTemplateBinding:ClusterRoleTemplateBinding": { - "description": "Provides a Rancher v2 Cluster Role Template Binding resource. This can be used to create Cluster Role Template Bindings for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new Rancher2 Cluster Role Template Binding\nconst foo = new rancher2.ClusterRoleTemplateBinding(\"foo\", {\n name: \"foo\",\n clusterId: \"\u003ccluster_id\u003e\",\n roleTemplateId: \"\u003crole_template_id\u003e\",\n userId: \"\u003cuser_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new Rancher2 Cluster Role Template Binding\nfoo = rancher2.ClusterRoleTemplateBinding(\"foo\",\n name=\"foo\",\n cluster_id=\"\u003ccluster_id\u003e\",\n role_template_id=\"\u003crole_template_id\u003e\",\n user_id=\"\u003cuser_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Rancher2 Cluster Role Template Binding\n var foo = new Rancher2.ClusterRoleTemplateBinding(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = \"\u003ccluster_id\u003e\",\n RoleTemplateId = \"\u003crole_template_id\u003e\",\n UserId = \"\u003cuser_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Rancher2 Cluster Role Template Binding\n\t\t_, err := rancher2.NewClusterRoleTemplateBinding(ctx, \"foo\", \u0026rancher2.ClusterRoleTemplateBindingArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: pulumi.String(\"\u003ccluster_id\u003e\"),\n\t\t\tRoleTemplateId: pulumi.String(\"\u003crole_template_id\u003e\"),\n\t\t\tUserId: pulumi.String(\"\u003cuser_id\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.rancher2.ClusterRoleTemplateBinding;\nimport com.pulumi.rancher2.ClusterRoleTemplateBindingArgs;\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 // Create a new Rancher2 Cluster Role Template Binding\n var foo = new ClusterRoleTemplateBinding(\"foo\", ClusterRoleTemplateBindingArgs.builder()\n .name(\"foo\")\n .clusterId(\"\u003ccluster_id\u003e\")\n .roleTemplateId(\"\u003crole_template_id\u003e\")\n .userId(\"\u003cuser_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Rancher2 Cluster Role Template Binding\n foo:\n type: rancher2:ClusterRoleTemplateBinding\n properties:\n name: foo\n clusterId: \u003ccluster_id\u003e\n roleTemplateId: \u003crole_template_id\u003e\n userId: \u003cuser_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCluster Role Template Bindings can be imported using the Rancher cluster Role Template Binding ID\n\n```sh\n$ pulumi import rancher2:index/clusterRoleTemplateBinding:ClusterRoleTemplateBinding foo \u0026lt;CLUSTER_ROLE_TEMPLATE_BINDING_ID\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Cluster Role Template Binding resource. This can be used to create Cluster Role Template Bindings for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new Rancher2 Cluster Role Template Binding\nconst foo = new rancher2.ClusterRoleTemplateBinding(\"foo\", {\n name: \"foo\",\n clusterId: \"\u003ccluster_id\u003e\",\n roleTemplateId: \"\u003crole_template_id\u003e\",\n userId: \"\u003cuser_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new Rancher2 Cluster Role Template Binding\nfoo = rancher2.ClusterRoleTemplateBinding(\"foo\",\n name=\"foo\",\n cluster_id=\"\u003ccluster_id\u003e\",\n role_template_id=\"\u003crole_template_id\u003e\",\n user_id=\"\u003cuser_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Rancher2 Cluster Role Template Binding\n var foo = new Rancher2.ClusterRoleTemplateBinding(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = \"\u003ccluster_id\u003e\",\n RoleTemplateId = \"\u003crole_template_id\u003e\",\n UserId = \"\u003cuser_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Rancher2 Cluster Role Template Binding\n\t\t_, err := rancher2.NewClusterRoleTemplateBinding(ctx, \"foo\", \u0026rancher2.ClusterRoleTemplateBindingArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: pulumi.String(\"\u003ccluster_id\u003e\"),\n\t\t\tRoleTemplateId: pulumi.String(\"\u003crole_template_id\u003e\"),\n\t\t\tUserId: pulumi.String(\"\u003cuser_id\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.rancher2.ClusterRoleTemplateBinding;\nimport com.pulumi.rancher2.ClusterRoleTemplateBindingArgs;\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 // Create a new Rancher2 Cluster Role Template Binding\n var foo = new ClusterRoleTemplateBinding(\"foo\", ClusterRoleTemplateBindingArgs.builder()\n .name(\"foo\")\n .clusterId(\"\u003ccluster_id\u003e\")\n .roleTemplateId(\"\u003crole_template_id\u003e\")\n .userId(\"\u003cuser_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Rancher2 Cluster Role Template Binding\n foo:\n type: rancher2:ClusterRoleTemplateBinding\n properties:\n name: foo\n clusterId: \u003ccluster_id\u003e\n roleTemplateId: \u003crole_template_id\u003e\n userId: \u003cuser_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCluster Role Template Bindings can be imported using the Rancher cluster Role Template Binding ID\n\n```sh\n$ pulumi import rancher2:index/clusterRoleTemplateBinding:ClusterRoleTemplateBinding foo \u0026lt;CLUSTER_ROLE_TEMPLATE_BINDING_ID\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -25294,7 +25156,7 @@ } }, "rancher2:index/clusterSync:ClusterSync": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 rke Cluster \nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n// Create a new rancher2 Node Template\nconst foo = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2Config: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n// Create a new rancher2 Node Pool\nconst fooNodePool = new rancher2.NodePool(\"foo\", {\n clusterId: foo_custom.id,\n name: \"foo\",\n hostnamePrefix: \"foo-cluster-0\",\n nodeTemplateId: foo.id,\n quantity: 3,\n controlPlane: true,\n etcd: true,\n worker: true,\n});\n// Create a new rancher2 Cluster Sync\nconst foo_customClusterSync = new rancher2.ClusterSync(\"foo-custom\", {\n clusterId: foo_custom.id,\n nodePoolIds: [fooNodePool.id],\n});\n// Create a new rancher2 Project\nconst fooProject = new rancher2.Project(\"foo\", {\n name: \"foo\",\n clusterId: foo_customClusterSync.id,\n description: \"Terraform namespace acceptance test\",\n resourceQuota: {\n projectLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"2000Mi\",\n requestsStorage: \"2Gi\",\n },\n namespaceDefaultLimit: {\n limitsCpu: \"500m\",\n limitsMemory: \"500Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 rke Cluster \nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n# Create a new rancher2 Node Template\nfoo = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_config={\n \"access_key\": \"\u003cAWS_ACCESS_KEY\u003e\",\n \"secret_key\": \"\u003cAWS_SECRET_KEY\u003e\",\n \"ami\": \"\u003cAMI_ID\u003e\",\n \"region\": \"\u003cREGION\u003e\",\n \"security_groups\": [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n \"subnet_id\": \"\u003cSUBNET_ID\u003e\",\n \"vpc_id\": \"\u003cVPC_ID\u003e\",\n \"zone\": \"\u003cZONE\u003e\",\n })\n# Create a new rancher2 Node Pool\nfoo_node_pool = rancher2.NodePool(\"foo\",\n cluster_id=foo_custom.id,\n name=\"foo\",\n hostname_prefix=\"foo-cluster-0\",\n node_template_id=foo.id,\n quantity=3,\n control_plane=True,\n etcd=True,\n worker=True)\n# Create a new rancher2 Cluster Sync\nfoo_custom_cluster_sync = rancher2.ClusterSync(\"foo-custom\",\n cluster_id=foo_custom.id,\n node_pool_ids=[foo_node_pool.id])\n# Create a new rancher2 Project\nfoo_project = rancher2.Project(\"foo\",\n name=\"foo\",\n cluster_id=foo_custom_cluster_sync.id,\n description=\"Terraform namespace acceptance test\",\n resource_quota={\n \"project_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"2000Mi\",\n \"requests_storage\": \"2Gi\",\n },\n \"namespace_default_limit\": {\n \"limits_cpu\": \"500m\",\n \"limits_memory\": \"500Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 rke Cluster \n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n // Create a new rancher2 Node Template\n var foo = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new Rancher2.NodePool(\"foo\", new()\n {\n ClusterId = foo_custom.Id,\n Name = \"foo\",\n HostnamePrefix = \"foo-cluster-0\",\n NodeTemplateId = foo.Id,\n Quantity = 3,\n ControlPlane = true,\n Etcd = true,\n Worker = true,\n });\n\n // Create a new rancher2 Cluster Sync\n var foo_customClusterSync = new Rancher2.ClusterSync(\"foo-custom\", new()\n {\n ClusterId = foo_custom.Id,\n NodePoolIds = new[]\n {\n fooNodePool.Id,\n },\n });\n\n // Create a new rancher2 Project\n var fooProject = new Rancher2.Project(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = foo_customClusterSync.Id,\n Description = \"Terraform namespace acceptance test\",\n ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs\n {\n ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"2000Mi\",\n RequestsStorage = \"2Gi\",\n },\n NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs\n {\n LimitsCpu = \"500m\",\n LimitsMemory = \"500Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 rke Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Template\n\t\tfoo, err := rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Pool\n\t\tfooNodePool, err := rancher2.NewNodePool(ctx, \"foo\", \u0026rancher2.NodePoolArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tHostnamePrefix: pulumi.String(\"foo-cluster-0\"),\n\t\t\tNodeTemplateId: foo.ID(),\n\t\t\tQuantity: pulumi.Int(3),\n\t\t\tControlPlane: pulumi.Bool(true),\n\t\t\tEtcd: pulumi.Bool(true),\n\t\t\tWorker: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Cluster Sync\n\t\t_, err = rancher2.NewClusterSync(ctx, \"foo-custom\", \u0026rancher2.ClusterSyncArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t\tNodePoolIds: pulumi.StringArray{\n\t\t\t\tfooNodePool.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Project\n\t\t_, err = rancher2.NewProject(ctx, \"foo\", \u0026rancher2.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: foo_customClusterSync.ID(),\n\t\t\tDescription: pulumi.String(\"Terraform namespace acceptance test\"),\n\t\t\tResourceQuota: \u0026rancher2.ProjectResourceQuotaArgs{\n\t\t\t\tProjectLimit: \u0026rancher2.ProjectResourceQuotaProjectLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"2000Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"2Gi\"),\n\t\t\t\t},\n\t\t\t\tNamespaceDefaultLimit: \u0026rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"500m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"500Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.ProjectContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\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.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\nimport com.pulumi.rancher2.NodePool;\nimport com.pulumi.rancher2.NodePoolArgs;\nimport com.pulumi.rancher2.ClusterSync;\nimport com.pulumi.rancher2.ClusterSyncArgs;\nimport com.pulumi.rancher2.Project;\nimport com.pulumi.rancher2.ProjectArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;\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 // Create a new rancher2 rke Cluster \n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n // Create a new rancher2 Node Template\n var foo = new NodeTemplate(\"foo\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new NodePool(\"fooNodePool\", NodePoolArgs.builder()\n .clusterId(foo_custom.id())\n .name(\"foo\")\n .hostnamePrefix(\"foo-cluster-0\")\n .nodeTemplateId(foo.id())\n .quantity(3)\n .controlPlane(true)\n .etcd(true)\n .worker(true)\n .build());\n\n // Create a new rancher2 Cluster Sync\n var foo_customClusterSync = new ClusterSync(\"foo-customClusterSync\", ClusterSyncArgs.builder()\n .clusterId(foo_custom.id())\n .nodePoolIds(fooNodePool.id())\n .build());\n\n // Create a new rancher2 Project\n var fooProject = new Project(\"fooProject\", ProjectArgs.builder()\n .name(\"foo\")\n .clusterId(foo_customClusterSync.id())\n .description(\"Terraform namespace acceptance test\")\n .resourceQuota(ProjectResourceQuotaArgs.builder()\n .projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"2000Mi\")\n .requestsStorage(\"2Gi\")\n .build())\n .namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()\n .limitsCpu(\"500m\")\n .limitsMemory(\"500Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(ProjectContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 rke Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n # Create a new rancher2 Node Template\n foo:\n type: rancher2:NodeTemplate\n properties:\n name: foo\n description: foo test\n amazonec2Config:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n # Create a new rancher2 Node Pool\n fooNodePool:\n type: rancher2:NodePool\n name: foo\n properties:\n clusterId: ${[\"foo-custom\"].id}\n name: foo\n hostnamePrefix: foo-cluster-0\n nodeTemplateId: ${foo.id}\n quantity: 3\n controlPlane: true\n etcd: true\n worker: true\n # Create a new rancher2 Cluster Sync\n foo-customClusterSync:\n type: rancher2:ClusterSync\n name: foo-custom\n properties:\n clusterId: ${[\"foo-custom\"].id}\n nodePoolIds:\n - ${fooNodePool.id}\n # Create a new rancher2 Project\n fooProject:\n type: rancher2:Project\n name: foo\n properties:\n name: foo\n clusterId: ${[\"foo-customClusterSync\"].id}\n description: Terraform namespace acceptance test\n resourceQuota:\n projectLimit:\n limitsCpu: 2000m\n limitsMemory: 2000Mi\n requestsStorage: 2Gi\n namespaceDefaultLimit:\n limitsCpu: 500m\n limitsMemory: 500Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 rke Cluster \nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n// Create a new rancher2 Node Template\nconst foo = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2Config: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n// Create a new rancher2 Node Pool\nconst fooNodePool = new rancher2.NodePool(\"foo\", {\n clusterId: foo_custom.id,\n name: \"foo\",\n hostnamePrefix: \"foo-cluster-0\",\n nodeTemplateId: foo.id,\n quantity: 3,\n controlPlane: true,\n etcd: true,\n worker: true,\n});\n// Create a new rancher2 Cluster Sync\nconst foo_customClusterSync = new rancher2.ClusterSync(\"foo-custom\", {\n clusterId: foo_custom.id,\n nodePoolIds: [fooNodePool.id],\n});\n// Create a new rancher2 Project\nconst fooProject = new rancher2.Project(\"foo\", {\n name: \"foo\",\n clusterId: foo_customClusterSync.id,\n description: \"Terraform namespace acceptance test\",\n resourceQuota: {\n projectLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"2000Mi\",\n requestsStorage: \"2Gi\",\n },\n namespaceDefaultLimit: {\n limitsCpu: \"500m\",\n limitsMemory: \"500Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 rke Cluster \nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n# Create a new rancher2 Node Template\nfoo = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_config={\n \"access_key\": \"\u003cAWS_ACCESS_KEY\u003e\",\n \"secret_key\": \"\u003cAWS_SECRET_KEY\u003e\",\n \"ami\": \"\u003cAMI_ID\u003e\",\n \"region\": \"\u003cREGION\u003e\",\n \"security_groups\": [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n \"subnet_id\": \"\u003cSUBNET_ID\u003e\",\n \"vpc_id\": \"\u003cVPC_ID\u003e\",\n \"zone\": \"\u003cZONE\u003e\",\n })\n# Create a new rancher2 Node Pool\nfoo_node_pool = rancher2.NodePool(\"foo\",\n cluster_id=foo_custom.id,\n name=\"foo\",\n hostname_prefix=\"foo-cluster-0\",\n node_template_id=foo.id,\n quantity=3,\n control_plane=True,\n etcd=True,\n worker=True)\n# Create a new rancher2 Cluster Sync\nfoo_custom_cluster_sync = rancher2.ClusterSync(\"foo-custom\",\n cluster_id=foo_custom.id,\n node_pool_ids=[foo_node_pool.id])\n# Create a new rancher2 Project\nfoo_project = rancher2.Project(\"foo\",\n name=\"foo\",\n cluster_id=foo_custom_cluster_sync.id,\n description=\"Terraform namespace acceptance test\",\n resource_quota={\n \"project_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"2000Mi\",\n \"requests_storage\": \"2Gi\",\n },\n \"namespace_default_limit\": {\n \"limits_cpu\": \"500m\",\n \"limits_memory\": \"500Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 rke Cluster \n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n // Create a new rancher2 Node Template\n var foo = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new Rancher2.NodePool(\"foo\", new()\n {\n ClusterId = foo_custom.Id,\n Name = \"foo\",\n HostnamePrefix = \"foo-cluster-0\",\n NodeTemplateId = foo.Id,\n Quantity = 3,\n ControlPlane = true,\n Etcd = true,\n Worker = true,\n });\n\n // Create a new rancher2 Cluster Sync\n var foo_customClusterSync = new Rancher2.ClusterSync(\"foo-custom\", new()\n {\n ClusterId = foo_custom.Id,\n NodePoolIds = new[]\n {\n fooNodePool.Id,\n },\n });\n\n // Create a new rancher2 Project\n var fooProject = new Rancher2.Project(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = foo_customClusterSync.Id,\n Description = \"Terraform namespace acceptance test\",\n ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs\n {\n ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"2000Mi\",\n RequestsStorage = \"2Gi\",\n },\n NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs\n {\n LimitsCpu = \"500m\",\n LimitsMemory = \"500Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 rke Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Template\n\t\tfoo, err := rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Pool\n\t\tfooNodePool, err := rancher2.NewNodePool(ctx, \"foo\", \u0026rancher2.NodePoolArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tHostnamePrefix: pulumi.String(\"foo-cluster-0\"),\n\t\t\tNodeTemplateId: foo.ID(),\n\t\t\tQuantity: pulumi.Int(3),\n\t\t\tControlPlane: pulumi.Bool(true),\n\t\t\tEtcd: pulumi.Bool(true),\n\t\t\tWorker: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Cluster Sync\n\t\t_, err = rancher2.NewClusterSync(ctx, \"foo-custom\", \u0026rancher2.ClusterSyncArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t\tNodePoolIds: pulumi.StringArray{\n\t\t\t\tfooNodePool.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Project\n\t\t_, err = rancher2.NewProject(ctx, \"foo\", \u0026rancher2.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: foo_customClusterSync.ID(),\n\t\t\tDescription: pulumi.String(\"Terraform namespace acceptance test\"),\n\t\t\tResourceQuota: \u0026rancher2.ProjectResourceQuotaArgs{\n\t\t\t\tProjectLimit: \u0026rancher2.ProjectResourceQuotaProjectLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"2000Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"2Gi\"),\n\t\t\t\t},\n\t\t\t\tNamespaceDefaultLimit: \u0026rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"500m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"500Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.ProjectContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\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.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\nimport com.pulumi.rancher2.NodePool;\nimport com.pulumi.rancher2.NodePoolArgs;\nimport com.pulumi.rancher2.ClusterSync;\nimport com.pulumi.rancher2.ClusterSyncArgs;\nimport com.pulumi.rancher2.Project;\nimport com.pulumi.rancher2.ProjectArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;\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 // Create a new rancher2 rke Cluster \n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n // Create a new rancher2 Node Template\n var foo = new NodeTemplate(\"foo\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new NodePool(\"fooNodePool\", NodePoolArgs.builder()\n .clusterId(foo_custom.id())\n .name(\"foo\")\n .hostnamePrefix(\"foo-cluster-0\")\n .nodeTemplateId(foo.id())\n .quantity(3)\n .controlPlane(true)\n .etcd(true)\n .worker(true)\n .build());\n\n // Create a new rancher2 Cluster Sync\n var foo_customClusterSync = new ClusterSync(\"foo-customClusterSync\", ClusterSyncArgs.builder()\n .clusterId(foo_custom.id())\n .nodePoolIds(fooNodePool.id())\n .build());\n\n // Create a new rancher2 Project\n var fooProject = new Project(\"fooProject\", ProjectArgs.builder()\n .name(\"foo\")\n .clusterId(foo_customClusterSync.id())\n .description(\"Terraform namespace acceptance test\")\n .resourceQuota(ProjectResourceQuotaArgs.builder()\n .projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"2000Mi\")\n .requestsStorage(\"2Gi\")\n .build())\n .namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()\n .limitsCpu(\"500m\")\n .limitsMemory(\"500Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(ProjectContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 rke Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n # Create a new rancher2 Node Template\n foo:\n type: rancher2:NodeTemplate\n properties:\n name: foo\n description: foo test\n amazonec2Config:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n # Create a new rancher2 Node Pool\n fooNodePool:\n type: rancher2:NodePool\n name: foo\n properties:\n clusterId: ${[\"foo-custom\"].id}\n name: foo\n hostnamePrefix: foo-cluster-0\n nodeTemplateId: ${foo.id}\n quantity: 3\n controlPlane: true\n etcd: true\n worker: true\n # Create a new rancher2 Cluster Sync\n foo-customClusterSync:\n type: rancher2:ClusterSync\n name: foo-custom\n properties:\n clusterId: ${[\"foo-custom\"].id}\n nodePoolIds:\n - ${fooNodePool.id}\n # Create a new rancher2 Project\n fooProject:\n type: rancher2:Project\n name: foo\n properties:\n name: foo\n clusterId: ${[\"foo-customClusterSync\"].id}\n description: Terraform namespace acceptance test\n resourceQuota:\n projectLimit:\n limitsCpu: 2000m\n limitsMemory: 2000Mi\n requestsStorage: 2Gi\n namespaceDefaultLimit:\n limitsCpu: 500m\n limitsMemory: 500Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "clusterId": { "type": "string", @@ -25425,7 +25287,7 @@ } }, "rancher2:index/clusterTemplate:ClusterTemplate": { - "description": "Provides a Rancher v2 Cluster Template resource. This can be used to create Cluster Templates for Rancher v2 RKE clusters and retrieve their information. \n\nCluster Templates are available from Rancher v2.3.x and above.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cluster Template\nconst foo = new rancher2.ClusterTemplate(\"foo\", {\n name: \"foo\",\n members: [{\n accessType: \"owner\",\n userPrincipalId: \"local://user-XXXXX\",\n }],\n templateRevisions: [{\n name: \"V1\",\n clusterConfig: {\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n },\n },\n },\n \"default\": true,\n }],\n description: \"Terraform cluster template foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cluster Template\nfoo = rancher2.ClusterTemplate(\"foo\",\n name=\"foo\",\n members=[{\n \"access_type\": \"owner\",\n \"user_principal_id\": \"local://user-XXXXX\",\n }],\n template_revisions=[{\n \"name\": \"V1\",\n \"cluster_config\": {\n \"rke_config\": {\n \"network\": {\n \"plugin\": \"canal\",\n },\n \"services\": {\n \"etcd\": {\n \"creation\": \"6h\",\n \"retention\": \"24h\",\n },\n },\n },\n },\n \"default\": True,\n }],\n description=\"Terraform cluster template foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cluster Template\n var foo = new Rancher2.ClusterTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Members = new[]\n {\n new Rancher2.Inputs.ClusterTemplateMemberArgs\n {\n AccessType = \"owner\",\n UserPrincipalId = \"local://user-XXXXX\",\n },\n },\n TemplateRevisions = new[]\n {\n new Rancher2.Inputs.ClusterTemplateTemplateRevisionArgs\n {\n Name = \"V1\",\n ClusterConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigArgs\n {\n RkeConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n },\n },\n },\n Default = true,\n },\n },\n Description = \"Terraform cluster template foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cluster Template\n\t\t_, err := rancher2.NewClusterTemplate(ctx, \"foo\", \u0026rancher2.ClusterTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMembers: rancher2.ClusterTemplateMemberArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateMemberArgs{\n\t\t\t\t\tAccessType: pulumi.String(\"owner\"),\n\t\t\t\t\tUserPrincipalId: pulumi.String(\"local://user-XXXXX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateRevisions: rancher2.ClusterTemplateTemplateRevisionArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateTemplateRevisionArgs{\n\t\t\t\t\tName: pulumi.String(\"V1\"),\n\t\t\t\t\tClusterConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs{\n\t\t\t\t\t\tRkeConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs{\n\t\t\t\t\t\t\tNetwork: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs{\n\t\t\t\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tServices: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs{\n\t\t\t\t\t\t\t\tEtcd: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDefault: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Terraform cluster template foo\"),\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.rancher2.ClusterTemplate;\nimport com.pulumi.rancher2.ClusterTemplateArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateMemberArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs;\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 // Create a new rancher2 Cluster Template\n var foo = new ClusterTemplate(\"foo\", ClusterTemplateArgs.builder()\n .name(\"foo\")\n .members(ClusterTemplateMemberArgs.builder()\n .accessType(\"owner\")\n .userPrincipalId(\"local://user-XXXXX\")\n .build())\n .templateRevisions(ClusterTemplateTemplateRevisionArgs.builder()\n .name(\"V1\")\n .clusterConfig(ClusterTemplateTemplateRevisionClusterConfigArgs.builder()\n .rkeConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs.builder()\n .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs.builder()\n .etcd(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .build())\n .build())\n .build())\n .default_(true)\n .build())\n .description(\"Terraform cluster template foo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cluster Template\n foo:\n type: rancher2:ClusterTemplate\n properties:\n name: foo\n members:\n - accessType: owner\n userPrincipalId: local://user-XXXXX\n templateRevisions:\n - name: V1\n clusterConfig:\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n default: true\n description: Terraform cluster template foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreating Rancher v2 RKE cluster template with upgrade strategy. For Rancher v2.4.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cluster Template\nconst foo = new rancher2.ClusterTemplate(\"foo\", {\n name: \"foo\",\n members: [{\n accessType: \"owner\",\n userPrincipalId: \"local://user-XXXXX\",\n }],\n templateRevisions: [{\n name: \"V1\",\n clusterConfig: {\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n },\n upgradeStrategy: {\n drain: true,\n maxUnavailableWorker: \"20%\",\n },\n },\n },\n \"default\": true,\n }],\n description: \"Terraform cluster template foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cluster Template\nfoo = rancher2.ClusterTemplate(\"foo\",\n name=\"foo\",\n members=[{\n \"access_type\": \"owner\",\n \"user_principal_id\": \"local://user-XXXXX\",\n }],\n template_revisions=[{\n \"name\": \"V1\",\n \"cluster_config\": {\n \"rke_config\": {\n \"network\": {\n \"plugin\": \"canal\",\n },\n \"services\": {\n \"etcd\": {\n \"creation\": \"6h\",\n \"retention\": \"24h\",\n },\n },\n \"upgrade_strategy\": {\n \"drain\": True,\n \"max_unavailable_worker\": \"20%\",\n },\n },\n },\n \"default\": True,\n }],\n description=\"Terraform cluster template foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cluster Template\n var foo = new Rancher2.ClusterTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Members = new[]\n {\n new Rancher2.Inputs.ClusterTemplateMemberArgs\n {\n AccessType = \"owner\",\n UserPrincipalId = \"local://user-XXXXX\",\n },\n },\n TemplateRevisions = new[]\n {\n new Rancher2.Inputs.ClusterTemplateTemplateRevisionArgs\n {\n Name = \"V1\",\n ClusterConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigArgs\n {\n RkeConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n },\n UpgradeStrategy = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs\n {\n Drain = true,\n MaxUnavailableWorker = \"20%\",\n },\n },\n },\n Default = true,\n },\n },\n Description = \"Terraform cluster template foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cluster Template\n\t\t_, err := rancher2.NewClusterTemplate(ctx, \"foo\", \u0026rancher2.ClusterTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMembers: rancher2.ClusterTemplateMemberArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateMemberArgs{\n\t\t\t\t\tAccessType: pulumi.String(\"owner\"),\n\t\t\t\t\tUserPrincipalId: pulumi.String(\"local://user-XXXXX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateRevisions: rancher2.ClusterTemplateTemplateRevisionArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateTemplateRevisionArgs{\n\t\t\t\t\tName: pulumi.String(\"V1\"),\n\t\t\t\t\tClusterConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs{\n\t\t\t\t\t\tRkeConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs{\n\t\t\t\t\t\t\tNetwork: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs{\n\t\t\t\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tServices: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs{\n\t\t\t\t\t\t\t\tEtcd: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tUpgradeStrategy: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs{\n\t\t\t\t\t\t\t\tDrain: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tMaxUnavailableWorker: pulumi.String(\"20%\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDefault: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Terraform cluster template foo\"),\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.rancher2.ClusterTemplate;\nimport com.pulumi.rancher2.ClusterTemplateArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateMemberArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs;\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 // Create a new rancher2 Cluster Template\n var foo = new ClusterTemplate(\"foo\", ClusterTemplateArgs.builder()\n .name(\"foo\")\n .members(ClusterTemplateMemberArgs.builder()\n .accessType(\"owner\")\n .userPrincipalId(\"local://user-XXXXX\")\n .build())\n .templateRevisions(ClusterTemplateTemplateRevisionArgs.builder()\n .name(\"V1\")\n .clusterConfig(ClusterTemplateTemplateRevisionClusterConfigArgs.builder()\n .rkeConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs.builder()\n .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs.builder()\n .etcd(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .build())\n .upgradeStrategy(ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs.builder()\n .drain(true)\n .maxUnavailableWorker(\"20%\")\n .build())\n .build())\n .build())\n .default_(true)\n .build())\n .description(\"Terraform cluster template foo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cluster Template\n foo:\n type: rancher2:ClusterTemplate\n properties:\n name: foo\n members:\n - accessType: owner\n userPrincipalId: local://user-XXXXX\n templateRevisions:\n - name: V1\n clusterConfig:\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n upgradeStrategy:\n drain: true\n maxUnavailableWorker: 20%\n default: true\n description: Terraform cluster template foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCluster Template can be imported using the rancher Cluster Template ID\n\n```sh\n$ pulumi import rancher2:index/clusterTemplate:ClusterTemplate foo \u0026lt;CLUSTER_TEMPLATE_ID\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Cluster Template resource. This can be used to create Cluster Templates for Rancher v2 RKE clusters and retrieve their information. \n\nCluster Templates are available from Rancher v2.3.x and above.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cluster Template\nconst foo = new rancher2.ClusterTemplate(\"foo\", {\n name: \"foo\",\n members: [{\n accessType: \"owner\",\n userPrincipalId: \"local://user-XXXXX\",\n }],\n templateRevisions: [{\n name: \"V1\",\n clusterConfig: {\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n },\n },\n },\n \"default\": true,\n }],\n description: \"Terraform cluster template foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cluster Template\nfoo = rancher2.ClusterTemplate(\"foo\",\n name=\"foo\",\n members=[{\n \"access_type\": \"owner\",\n \"user_principal_id\": \"local://user-XXXXX\",\n }],\n template_revisions=[{\n \"name\": \"V1\",\n \"cluster_config\": {\n \"rke_config\": {\n \"network\": {\n \"plugin\": \"canal\",\n },\n \"services\": {\n \"etcd\": {\n \"creation\": \"6h\",\n \"retention\": \"24h\",\n },\n },\n },\n },\n \"default\": True,\n }],\n description=\"Terraform cluster template foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cluster Template\n var foo = new Rancher2.ClusterTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Members = new[]\n {\n new Rancher2.Inputs.ClusterTemplateMemberArgs\n {\n AccessType = \"owner\",\n UserPrincipalId = \"local://user-XXXXX\",\n },\n },\n TemplateRevisions = new[]\n {\n new Rancher2.Inputs.ClusterTemplateTemplateRevisionArgs\n {\n Name = \"V1\",\n ClusterConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigArgs\n {\n RkeConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n },\n },\n },\n Default = true,\n },\n },\n Description = \"Terraform cluster template foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cluster Template\n\t\t_, err := rancher2.NewClusterTemplate(ctx, \"foo\", \u0026rancher2.ClusterTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMembers: rancher2.ClusterTemplateMemberArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateMemberArgs{\n\t\t\t\t\tAccessType: pulumi.String(\"owner\"),\n\t\t\t\t\tUserPrincipalId: pulumi.String(\"local://user-XXXXX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateRevisions: rancher2.ClusterTemplateTemplateRevisionArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateTemplateRevisionArgs{\n\t\t\t\t\tName: pulumi.String(\"V1\"),\n\t\t\t\t\tClusterConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs{\n\t\t\t\t\t\tRkeConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs{\n\t\t\t\t\t\t\tNetwork: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs{\n\t\t\t\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tServices: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs{\n\t\t\t\t\t\t\t\tEtcd: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDefault: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Terraform cluster template foo\"),\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.rancher2.ClusterTemplate;\nimport com.pulumi.rancher2.ClusterTemplateArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateMemberArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs;\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 // Create a new rancher2 Cluster Template\n var foo = new ClusterTemplate(\"foo\", ClusterTemplateArgs.builder()\n .name(\"foo\")\n .members(ClusterTemplateMemberArgs.builder()\n .accessType(\"owner\")\n .userPrincipalId(\"local://user-XXXXX\")\n .build())\n .templateRevisions(ClusterTemplateTemplateRevisionArgs.builder()\n .name(\"V1\")\n .clusterConfig(ClusterTemplateTemplateRevisionClusterConfigArgs.builder()\n .rkeConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs.builder()\n .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs.builder()\n .etcd(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .build())\n .build())\n .build())\n .default_(true)\n .build())\n .description(\"Terraform cluster template foo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cluster Template\n foo:\n type: rancher2:ClusterTemplate\n properties:\n name: foo\n members:\n - accessType: owner\n userPrincipalId: local://user-XXXXX\n templateRevisions:\n - name: V1\n clusterConfig:\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n default: true\n description: Terraform cluster template foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreating Rancher v2 RKE cluster template with upgrade strategy. For Rancher v2.4.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cluster Template\nconst foo = new rancher2.ClusterTemplate(\"foo\", {\n name: \"foo\",\n members: [{\n accessType: \"owner\",\n userPrincipalId: \"local://user-XXXXX\",\n }],\n templateRevisions: [{\n name: \"V1\",\n clusterConfig: {\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n },\n upgradeStrategy: {\n drain: true,\n maxUnavailableWorker: \"20%\",\n },\n },\n },\n \"default\": true,\n }],\n description: \"Terraform cluster template foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cluster Template\nfoo = rancher2.ClusterTemplate(\"foo\",\n name=\"foo\",\n members=[{\n \"access_type\": \"owner\",\n \"user_principal_id\": \"local://user-XXXXX\",\n }],\n template_revisions=[{\n \"name\": \"V1\",\n \"cluster_config\": {\n \"rke_config\": {\n \"network\": {\n \"plugin\": \"canal\",\n },\n \"services\": {\n \"etcd\": {\n \"creation\": \"6h\",\n \"retention\": \"24h\",\n },\n },\n \"upgrade_strategy\": {\n \"drain\": True,\n \"max_unavailable_worker\": \"20%\",\n },\n },\n },\n \"default\": True,\n }],\n description=\"Terraform cluster template foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cluster Template\n var foo = new Rancher2.ClusterTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Members = new[]\n {\n new Rancher2.Inputs.ClusterTemplateMemberArgs\n {\n AccessType = \"owner\",\n UserPrincipalId = \"local://user-XXXXX\",\n },\n },\n TemplateRevisions = new[]\n {\n new Rancher2.Inputs.ClusterTemplateTemplateRevisionArgs\n {\n Name = \"V1\",\n ClusterConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigArgs\n {\n RkeConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n },\n UpgradeStrategy = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs\n {\n Drain = true,\n MaxUnavailableWorker = \"20%\",\n },\n },\n },\n Default = true,\n },\n },\n Description = \"Terraform cluster template foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cluster Template\n\t\t_, err := rancher2.NewClusterTemplate(ctx, \"foo\", \u0026rancher2.ClusterTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMembers: rancher2.ClusterTemplateMemberArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateMemberArgs{\n\t\t\t\t\tAccessType: pulumi.String(\"owner\"),\n\t\t\t\t\tUserPrincipalId: pulumi.String(\"local://user-XXXXX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateRevisions: rancher2.ClusterTemplateTemplateRevisionArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateTemplateRevisionArgs{\n\t\t\t\t\tName: pulumi.String(\"V1\"),\n\t\t\t\t\tClusterConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs{\n\t\t\t\t\t\tRkeConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs{\n\t\t\t\t\t\t\tNetwork: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs{\n\t\t\t\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tServices: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs{\n\t\t\t\t\t\t\t\tEtcd: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tUpgradeStrategy: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs{\n\t\t\t\t\t\t\t\tDrain: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tMaxUnavailableWorker: pulumi.String(\"20%\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDefault: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Terraform cluster template foo\"),\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.rancher2.ClusterTemplate;\nimport com.pulumi.rancher2.ClusterTemplateArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateMemberArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs;\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 // Create a new rancher2 Cluster Template\n var foo = new ClusterTemplate(\"foo\", ClusterTemplateArgs.builder()\n .name(\"foo\")\n .members(ClusterTemplateMemberArgs.builder()\n .accessType(\"owner\")\n .userPrincipalId(\"local://user-XXXXX\")\n .build())\n .templateRevisions(ClusterTemplateTemplateRevisionArgs.builder()\n .name(\"V1\")\n .clusterConfig(ClusterTemplateTemplateRevisionClusterConfigArgs.builder()\n .rkeConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs.builder()\n .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs.builder()\n .etcd(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .build())\n .upgradeStrategy(ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs.builder()\n .drain(true)\n .maxUnavailableWorker(\"20%\")\n .build())\n .build())\n .build())\n .default_(true)\n .build())\n .description(\"Terraform cluster template foo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cluster Template\n foo:\n type: rancher2:ClusterTemplate\n properties:\n name: foo\n members:\n - accessType: owner\n userPrincipalId: local://user-XXXXX\n templateRevisions:\n - name: V1\n clusterConfig:\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n upgradeStrategy:\n drain: true\n maxUnavailableWorker: 20%\n default: true\n description: Terraform cluster template foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCluster Template can be imported using the rancher Cluster Template ID\n\n```sh\n$ pulumi import rancher2:index/clusterTemplate:ClusterTemplate foo \u0026lt;CLUSTER_TEMPLATE_ID\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -25992,7 +25854,7 @@ } }, "rancher2:index/customUserToken:CustomUserToken": { - "description": "Provides a Rancher v2 Token resource, specifically to create tokens for custom users (i.e. not the 'admin' user configured with the provider config). Custom user tokens can f.e. be used as service account tokens with the Rancher v2 API having limited permissions. To create a custom user token the username/password for the Rancher User must be known.\n\nThere are 2 kind of tokens:\n- not scoped: valid for global system.\n- scoped: valid for just a specific cluster (`cluster_id` should be provided).\n\nTokens can only be created for a Rancher User with at least the `user-base` global role binding in order to enable user login.\n\nTokens can't be updated once created. Any diff in token data will recreate the token. If any token expire, Rancher2 provider will generate a diff to regenerate it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a rancher2 Token\nconst foo = new rancher2.User(\"foo\", {\n name: \"foo\",\n username: \"foo\",\n password: \"changeme\",\n enabled: true,\n});\nconst foo_login = new rancher2.GlobalRoleBinding(\"foo-login\", {\n name: \"foo-login-binding\",\n globalRoleId: \"user-base\",\n userId: foo.id,\n});\nconst fooCustomUserToken = new rancher2.CustomUserToken(\"foo\", {\n username: foo.username,\n password: foo.password,\n description: \"foo token\",\n ttl: 0,\n}, {\n dependsOn: [foo_login],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a rancher2 Token\nfoo = rancher2.User(\"foo\",\n name=\"foo\",\n username=\"foo\",\n password=\"changeme\",\n enabled=True)\nfoo_login = rancher2.GlobalRoleBinding(\"foo-login\",\n name=\"foo-login-binding\",\n global_role_id=\"user-base\",\n user_id=foo.id)\nfoo_custom_user_token = rancher2.CustomUserToken(\"foo\",\n username=foo.username,\n password=foo.password,\n description=\"foo token\",\n ttl=0,\n opts = pulumi.ResourceOptions(depends_on=[foo_login]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a rancher2 Token\n var foo = new Rancher2.User(\"foo\", new()\n {\n Name = \"foo\",\n Username = \"foo\",\n Password = \"changeme\",\n Enabled = true,\n });\n\n var foo_login = new Rancher2.GlobalRoleBinding(\"foo-login\", new()\n {\n Name = \"foo-login-binding\",\n GlobalRoleId = \"user-base\",\n UserId = foo.Id,\n });\n\n var fooCustomUserToken = new Rancher2.CustomUserToken(\"foo\", new()\n {\n Username = foo.Username,\n Password = foo.Password,\n Description = \"foo token\",\n Ttl = 0,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n foo_login,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a rancher2 Token\n\t\tfoo, err := rancher2.NewUser(ctx, \"foo\", \u0026rancher2.UserArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"changeme\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewGlobalRoleBinding(ctx, \"foo-login\", \u0026rancher2.GlobalRoleBindingArgs{\n\t\t\tName: pulumi.String(\"foo-login-binding\"),\n\t\t\tGlobalRoleId: pulumi.String(\"user-base\"),\n\t\t\tUserId: foo.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCustomUserToken(ctx, \"foo\", \u0026rancher2.CustomUserTokenArgs{\n\t\t\tUsername: foo.Username,\n\t\t\tPassword: foo.Password,\n\t\t\tDescription: pulumi.String(\"foo token\"),\n\t\t\tTtl: pulumi.Int(0),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfoo_login,\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.rancher2.User;\nimport com.pulumi.rancher2.UserArgs;\nimport com.pulumi.rancher2.GlobalRoleBinding;\nimport com.pulumi.rancher2.GlobalRoleBindingArgs;\nimport com.pulumi.rancher2.CustomUserToken;\nimport com.pulumi.rancher2.CustomUserTokenArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a rancher2 Token\n var foo = new User(\"foo\", UserArgs.builder()\n .name(\"foo\")\n .username(\"foo\")\n .password(\"changeme\")\n .enabled(true)\n .build());\n\n var foo_login = new GlobalRoleBinding(\"foo-login\", GlobalRoleBindingArgs.builder()\n .name(\"foo-login-binding\")\n .globalRoleId(\"user-base\")\n .userId(foo.id())\n .build());\n\n var fooCustomUserToken = new CustomUserToken(\"fooCustomUserToken\", CustomUserTokenArgs.builder()\n .username(foo.username())\n .password(foo.password())\n .description(\"foo token\")\n .ttl(0)\n .build(), CustomResourceOptions.builder()\n .dependsOn(foo_login)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a rancher2 Token\n foo:\n type: rancher2:User\n properties:\n name: foo\n username: foo\n password: changeme\n enabled: true\n foo-login:\n type: rancher2:GlobalRoleBinding\n properties:\n name: foo-login-binding\n globalRoleId: user-base\n userId: ${foo.id}\n fooCustomUserToken:\n type: rancher2:CustomUserToken\n name: foo\n properties:\n username: ${foo.username}\n password: ${foo.password}\n description: foo token\n ttl: 0\n options:\n dependson:\n - ${[\"foo-login\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Rancher v2 Token resource, specifically to create tokens for custom users (i.e. not the 'admin' user configured with the provider config). Custom user tokens can f.e. be used as service account tokens with the Rancher v2 API having limited permissions. To create a custom user token the username/password for the Rancher User must be known.\n\nThere are 2 kind of tokens:\n- not scoped: valid for global system.\n- scoped: valid for just a specific cluster (`cluster_id` should be provided).\n\nTokens can only be created for a Rancher User with at least the `user-base` global role binding in order to enable user login.\n\nTokens can't be updated once created. Any diff in token data will recreate the token. If any token expire, Rancher2 provider will generate a diff to regenerate it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a rancher2 Token\nconst foo = new rancher2.User(\"foo\", {\n name: \"foo\",\n username: \"foo\",\n password: \"changeme\",\n enabled: true,\n});\nconst foo_login = new rancher2.GlobalRoleBinding(\"foo-login\", {\n name: \"foo-login-binding\",\n globalRoleId: \"user-base\",\n userId: foo.id,\n});\nconst fooCustomUserToken = new rancher2.CustomUserToken(\"foo\", {\n username: foo.username,\n password: foo.password,\n description: \"foo token\",\n ttl: 0,\n}, {\n dependsOn: [foo_login],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a rancher2 Token\nfoo = rancher2.User(\"foo\",\n name=\"foo\",\n username=\"foo\",\n password=\"changeme\",\n enabled=True)\nfoo_login = rancher2.GlobalRoleBinding(\"foo-login\",\n name=\"foo-login-binding\",\n global_role_id=\"user-base\",\n user_id=foo.id)\nfoo_custom_user_token = rancher2.CustomUserToken(\"foo\",\n username=foo.username,\n password=foo.password,\n description=\"foo token\",\n ttl=0,\n opts = pulumi.ResourceOptions(depends_on=[foo_login]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a rancher2 Token\n var foo = new Rancher2.User(\"foo\", new()\n {\n Name = \"foo\",\n Username = \"foo\",\n Password = \"changeme\",\n Enabled = true,\n });\n\n var foo_login = new Rancher2.GlobalRoleBinding(\"foo-login\", new()\n {\n Name = \"foo-login-binding\",\n GlobalRoleId = \"user-base\",\n UserId = foo.Id,\n });\n\n var fooCustomUserToken = new Rancher2.CustomUserToken(\"foo\", new()\n {\n Username = foo.Username,\n Password = foo.Password,\n Description = \"foo token\",\n Ttl = 0,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n foo_login,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a rancher2 Token\n\t\tfoo, err := rancher2.NewUser(ctx, \"foo\", \u0026rancher2.UserArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"changeme\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewGlobalRoleBinding(ctx, \"foo-login\", \u0026rancher2.GlobalRoleBindingArgs{\n\t\t\tName: pulumi.String(\"foo-login-binding\"),\n\t\t\tGlobalRoleId: pulumi.String(\"user-base\"),\n\t\t\tUserId: foo.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCustomUserToken(ctx, \"foo\", \u0026rancher2.CustomUserTokenArgs{\n\t\t\tUsername: foo.Username,\n\t\t\tPassword: foo.Password,\n\t\t\tDescription: pulumi.String(\"foo token\"),\n\t\t\tTtl: pulumi.Int(0),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfoo_login,\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.rancher2.User;\nimport com.pulumi.rancher2.UserArgs;\nimport com.pulumi.rancher2.GlobalRoleBinding;\nimport com.pulumi.rancher2.GlobalRoleBindingArgs;\nimport com.pulumi.rancher2.CustomUserToken;\nimport com.pulumi.rancher2.CustomUserTokenArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a rancher2 Token\n var foo = new User(\"foo\", UserArgs.builder()\n .name(\"foo\")\n .username(\"foo\")\n .password(\"changeme\")\n .enabled(true)\n .build());\n\n var foo_login = new GlobalRoleBinding(\"foo-login\", GlobalRoleBindingArgs.builder()\n .name(\"foo-login-binding\")\n .globalRoleId(\"user-base\")\n .userId(foo.id())\n .build());\n\n var fooCustomUserToken = new CustomUserToken(\"fooCustomUserToken\", CustomUserTokenArgs.builder()\n .username(foo.username())\n .password(foo.password())\n .description(\"foo token\")\n .ttl(0)\n .build(), CustomResourceOptions.builder()\n .dependsOn(foo_login)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a rancher2 Token\n foo:\n type: rancher2:User\n properties:\n name: foo\n username: foo\n password: changeme\n enabled: true\n foo-login:\n type: rancher2:GlobalRoleBinding\n properties:\n name: foo-login-binding\n globalRoleId: user-base\n userId: ${foo.id}\n fooCustomUserToken:\n type: rancher2:CustomUserToken\n name: foo\n properties:\n username: ${foo.username}\n password: ${foo.password}\n description: foo token\n ttl: 0\n options:\n dependson:\n - ${[\"foo-login\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "accessKey": { "type": "string", @@ -26231,7 +26093,7 @@ } }, "rancher2:index/etcdBackup:EtcdBackup": { - "description": "Provides a Rancher v2 Etcd Backup resource. This can be used to create an Etcd Backup for Rancher v2.2.x and above, and to retrieve their information. \n\nThe `rancher2.EtcdBackup` resource is used to define extra etcd backups for a `rancher2.Cluster`, which will be created as a local or S3 backup in accordance with the etcd backup config for the cluster. The main etcd backup config for the cluster should be set on the cluster config\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Etcd Backup\nconst foo = new rancher2.EtcdBackup(\"foo\", {\n backupConfig: {\n enabled: true,\n intervalHours: 20,\n retention: 10,\n s3BackupConfig: {\n accessKey: \"access_key\",\n bucketName: \"bucket_name\",\n endpoint: \"endpoint\",\n folder: \"/folder\",\n region: \"region\",\n secretKey: \"secret_key\",\n },\n },\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n name: \"foo\",\n filename: \"\u003cFILENAME\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Etcd Backup\nfoo = rancher2.EtcdBackup(\"foo\",\n backup_config={\n \"enabled\": True,\n \"interval_hours\": 20,\n \"retention\": 10,\n \"s3_backup_config\": {\n \"access_key\": \"access_key\",\n \"bucket_name\": \"bucket_name\",\n \"endpoint\": \"endpoint\",\n \"folder\": \"/folder\",\n \"region\": \"region\",\n \"secret_key\": \"secret_key\",\n },\n },\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n name=\"foo\",\n filename=\"\u003cFILENAME\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Etcd Backup\n var foo = new Rancher2.EtcdBackup(\"foo\", new()\n {\n BackupConfig = new Rancher2.Inputs.EtcdBackupBackupConfigArgs\n {\n Enabled = true,\n IntervalHours = 20,\n Retention = 10,\n S3BackupConfig = new Rancher2.Inputs.EtcdBackupBackupConfigS3BackupConfigArgs\n {\n AccessKey = \"access_key\",\n BucketName = \"bucket_name\",\n Endpoint = \"endpoint\",\n Folder = \"/folder\",\n Region = \"region\",\n SecretKey = \"secret_key\",\n },\n },\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n Name = \"foo\",\n Filename = \"\u003cFILENAME\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Etcd Backup\n\t\t_, err := rancher2.NewEtcdBackup(ctx, \"foo\", \u0026rancher2.EtcdBackupArgs{\n\t\t\tBackupConfig: \u0026rancher2.EtcdBackupBackupConfigArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tIntervalHours: pulumi.Int(20),\n\t\t\t\tRetention: pulumi.Int(10),\n\t\t\t\tS3BackupConfig: \u0026rancher2.EtcdBackupBackupConfigS3BackupConfigArgs{\n\t\t\t\t\tAccessKey: pulumi.String(\"access_key\"),\n\t\t\t\t\tBucketName: pulumi.String(\"bucket_name\"),\n\t\t\t\t\tEndpoint: pulumi.String(\"endpoint\"),\n\t\t\t\t\tFolder: pulumi.String(\"/folder\"),\n\t\t\t\t\tRegion: pulumi.String(\"region\"),\n\t\t\t\t\tSecretKey: pulumi.String(\"secret_key\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tFilename: pulumi.String(\"\u003cFILENAME\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.rancher2.EtcdBackup;\nimport com.pulumi.rancher2.EtcdBackupArgs;\nimport com.pulumi.rancher2.inputs.EtcdBackupBackupConfigArgs;\nimport com.pulumi.rancher2.inputs.EtcdBackupBackupConfigS3BackupConfigArgs;\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 // Create a new rancher2 Etcd Backup\n var foo = new EtcdBackup(\"foo\", EtcdBackupArgs.builder()\n .backupConfig(EtcdBackupBackupConfigArgs.builder()\n .enabled(true)\n .intervalHours(20)\n .retention(10)\n .s3BackupConfig(EtcdBackupBackupConfigS3BackupConfigArgs.builder()\n .accessKey(\"access_key\")\n .bucketName(\"bucket_name\")\n .endpoint(\"endpoint\")\n .folder(\"/folder\")\n .region(\"region\")\n .secretKey(\"secret_key\")\n .build())\n .build())\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .name(\"foo\")\n .filename(\"\u003cFILENAME\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Etcd Backup\n foo:\n type: rancher2:EtcdBackup\n properties:\n backupConfig:\n enabled: true\n intervalHours: 20\n retention: 10\n s3BackupConfig:\n accessKey: access_key\n bucketName: bucket_name\n endpoint: endpoint\n folder: /folder\n region: region\n secretKey: secret_key\n clusterId: \u003cCLUSTER_ID\u003e\n name: foo\n filename: \u003cFILENAME\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEtcd Backup can be imported using the Rancher etcd backup ID\n\n```sh\n$ pulumi import rancher2:index/etcdBackup:EtcdBackup foo \u0026lt;ETCD_BACKUP_ID\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Etcd Backup resource. This can be used to create an Etcd Backup for Rancher v2.2.x and above, and to retrieve their information. \n\nThe `rancher2.EtcdBackup` resource is used to define extra etcd backups for a `rancher2.Cluster`, which will be created as a local or S3 backup in accordance with the etcd backup config for the cluster. The main etcd backup config for the cluster should be set on the cluster config\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Etcd Backup\nconst foo = new rancher2.EtcdBackup(\"foo\", {\n backupConfig: {\n enabled: true,\n intervalHours: 20,\n retention: 10,\n s3BackupConfig: {\n accessKey: \"access_key\",\n bucketName: \"bucket_name\",\n endpoint: \"endpoint\",\n folder: \"/folder\",\n region: \"region\",\n secretKey: \"secret_key\",\n },\n },\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n name: \"foo\",\n filename: \"\u003cFILENAME\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Etcd Backup\nfoo = rancher2.EtcdBackup(\"foo\",\n backup_config={\n \"enabled\": True,\n \"interval_hours\": 20,\n \"retention\": 10,\n \"s3_backup_config\": {\n \"access_key\": \"access_key\",\n \"bucket_name\": \"bucket_name\",\n \"endpoint\": \"endpoint\",\n \"folder\": \"/folder\",\n \"region\": \"region\",\n \"secret_key\": \"secret_key\",\n },\n },\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n name=\"foo\",\n filename=\"\u003cFILENAME\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Etcd Backup\n var foo = new Rancher2.EtcdBackup(\"foo\", new()\n {\n BackupConfig = new Rancher2.Inputs.EtcdBackupBackupConfigArgs\n {\n Enabled = true,\n IntervalHours = 20,\n Retention = 10,\n S3BackupConfig = new Rancher2.Inputs.EtcdBackupBackupConfigS3BackupConfigArgs\n {\n AccessKey = \"access_key\",\n BucketName = \"bucket_name\",\n Endpoint = \"endpoint\",\n Folder = \"/folder\",\n Region = \"region\",\n SecretKey = \"secret_key\",\n },\n },\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n Name = \"foo\",\n Filename = \"\u003cFILENAME\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Etcd Backup\n\t\t_, err := rancher2.NewEtcdBackup(ctx, \"foo\", \u0026rancher2.EtcdBackupArgs{\n\t\t\tBackupConfig: \u0026rancher2.EtcdBackupBackupConfigArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tIntervalHours: pulumi.Int(20),\n\t\t\t\tRetention: pulumi.Int(10),\n\t\t\t\tS3BackupConfig: \u0026rancher2.EtcdBackupBackupConfigS3BackupConfigArgs{\n\t\t\t\t\tAccessKey: pulumi.String(\"access_key\"),\n\t\t\t\t\tBucketName: pulumi.String(\"bucket_name\"),\n\t\t\t\t\tEndpoint: pulumi.String(\"endpoint\"),\n\t\t\t\t\tFolder: pulumi.String(\"/folder\"),\n\t\t\t\t\tRegion: pulumi.String(\"region\"),\n\t\t\t\t\tSecretKey: pulumi.String(\"secret_key\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tFilename: pulumi.String(\"\u003cFILENAME\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.rancher2.EtcdBackup;\nimport com.pulumi.rancher2.EtcdBackupArgs;\nimport com.pulumi.rancher2.inputs.EtcdBackupBackupConfigArgs;\nimport com.pulumi.rancher2.inputs.EtcdBackupBackupConfigS3BackupConfigArgs;\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 // Create a new rancher2 Etcd Backup\n var foo = new EtcdBackup(\"foo\", EtcdBackupArgs.builder()\n .backupConfig(EtcdBackupBackupConfigArgs.builder()\n .enabled(true)\n .intervalHours(20)\n .retention(10)\n .s3BackupConfig(EtcdBackupBackupConfigS3BackupConfigArgs.builder()\n .accessKey(\"access_key\")\n .bucketName(\"bucket_name\")\n .endpoint(\"endpoint\")\n .folder(\"/folder\")\n .region(\"region\")\n .secretKey(\"secret_key\")\n .build())\n .build())\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .name(\"foo\")\n .filename(\"\u003cFILENAME\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Etcd Backup\n foo:\n type: rancher2:EtcdBackup\n properties:\n backupConfig:\n enabled: true\n intervalHours: 20\n retention: 10\n s3BackupConfig:\n accessKey: access_key\n bucketName: bucket_name\n endpoint: endpoint\n folder: /folder\n region: region\n secretKey: secret_key\n clusterId: \u003cCLUSTER_ID\u003e\n name: foo\n filename: \u003cFILENAME\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEtcd Backup can be imported using the Rancher etcd backup ID\n\n```sh\n$ pulumi import rancher2:index/etcdBackup:EtcdBackup foo \u0026lt;ETCD_BACKUP_ID\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -26376,7 +26238,7 @@ } }, "rancher2:index/feature:Feature": { - "description": "Provides a Rancher v2 Feature resource. This can be used to enable/disable [experimental features](https://rancher.com/docs/rancher/v2.x/en/installation/resources/feature-flags/) for Rancher v2 environments.\n\nExperimental features already exist at Rancher v2.5.x systems, so they can just be updated: \n* On create, provider will read Feature from Rancher and update its value. It will return an error if feature doesn't exist\n* On destroy, provider will not delete feature from Rancher, just from tfstate\n\n**Note:** Some Rancher features as `fleet`, may force a Rancher reboot once updated. The provider will wait until Rancher is rebooted. If you are modifying more than one feature in a row, and any of them requires a Rancher reboot, `pulumi up` may fail on first run. Run `pulumi up` again should work fine. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Feature\nconst fleet = new rancher2.Feature(\"fleet\", {\n name: \"fleet\",\n value: \"\u003cVALUE\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Feature\nfleet = rancher2.Feature(\"fleet\",\n name=\"fleet\",\n value=\"\u003cVALUE\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Feature\n var fleet = new Rancher2.Feature(\"fleet\", new()\n {\n Name = \"fleet\",\n Value = \"\u003cVALUE\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Feature\n\t\t_, err := rancher2.NewFeature(ctx, \"fleet\", \u0026rancher2.FeatureArgs{\n\t\t\tName: pulumi.String(\"fleet\"),\n\t\t\tValue: pulumi.Bool(\"\u003cVALUE\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.rancher2.Feature;\nimport com.pulumi.rancher2.FeatureArgs;\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 // Create a new rancher2 Feature\n var fleet = new Feature(\"fleet\", FeatureArgs.builder()\n .name(\"fleet\")\n .value(\"\u003cVALUE\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Feature\n fleet:\n type: rancher2:Feature\n properties:\n name: fleet\n value: \u003cVALUE\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Rancher v2 Feature resource. This can be used to enable/disable [experimental features](https://rancher.com/docs/rancher/v2.x/en/installation/resources/feature-flags/) for Rancher v2 environments.\n\nExperimental features already exist at Rancher v2.5.x systems, so they can just be updated: \n* On create, provider will read Feature from Rancher and update its value. It will return an error if feature doesn't exist\n* On destroy, provider will not delete feature from Rancher, just from tfstate\n\n**Note:** Some Rancher features as `fleet`, may force a Rancher reboot once updated. The provider will wait until Rancher is rebooted. If you are modifying more than one feature in a row, and any of them requires a Rancher reboot, `pulumi up` may fail on first run. Run `pulumi up` again should work fine. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Feature\nconst fleet = new rancher2.Feature(\"fleet\", {\n name: \"fleet\",\n value: \"\u003cVALUE\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Feature\nfleet = rancher2.Feature(\"fleet\",\n name=\"fleet\",\n value=\"\u003cVALUE\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Feature\n var fleet = new Rancher2.Feature(\"fleet\", new()\n {\n Name = \"fleet\",\n Value = \"\u003cVALUE\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Feature\n\t\t_, err := rancher2.NewFeature(ctx, \"fleet\", \u0026rancher2.FeatureArgs{\n\t\t\tName: pulumi.String(\"fleet\"),\n\t\t\tValue: pulumi.Bool(\"\u003cVALUE\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.rancher2.Feature;\nimport com.pulumi.rancher2.FeatureArgs;\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 // Create a new rancher2 Feature\n var fleet = new Feature(\"fleet\", FeatureArgs.builder()\n .name(\"fleet\")\n .value(\"\u003cVALUE\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Feature\n fleet:\n type: rancher2:Feature\n properties:\n name: fleet\n value: \u003cVALUE\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "annotations": { "type": "object", @@ -26461,283 +26323,8 @@ "type": "object" } }, - "rancher2:index/globalDns:GlobalDns": { - "description": "Provides a Rancher V2 Global DNS resource. This can be used to create Global DNS records for Rancher V2.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global DNS Provider\nconst foo = new rancher2.GlobalDnsProvider(\"foo\", {\n name: \"foo\",\n rootDomain: \"example.com\",\n route53Config: {\n accessKey: \"YYYYYYYYYYYYYYYYYYYY\",\n secretKey: \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n zoneType: \"private\",\n region: \"us-east-1\",\n },\n});\n// Create a new rancher2 Global DNS using project IDs\nconst fooGlobalDns = new rancher2.GlobalDns(\"foo\", {\n name: \"foo\",\n fqdn: \"foo.example.com\",\n providerId: foo.id,\n projectIds: [\n \"project1\",\n \"project2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global DNS Provider\nfoo = rancher2.GlobalDnsProvider(\"foo\",\n name=\"foo\",\n root_domain=\"example.com\",\n route53_config={\n \"access_key\": \"YYYYYYYYYYYYYYYYYYYY\",\n \"secret_key\": \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n \"zone_type\": \"private\",\n \"region\": \"us-east-1\",\n })\n# Create a new rancher2 Global DNS using project IDs\nfoo_global_dns = rancher2.GlobalDns(\"foo\",\n name=\"foo\",\n fqdn=\"foo.example.com\",\n provider_id=foo.id,\n project_ids=[\n \"project1\",\n \"project2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global DNS Provider\n var foo = new Rancher2.GlobalDnsProvider(\"foo\", new()\n {\n Name = \"foo\",\n RootDomain = \"example.com\",\n Route53Config = new Rancher2.Inputs.GlobalDnsProviderRoute53ConfigArgs\n {\n AccessKey = \"YYYYYYYYYYYYYYYYYYYY\",\n SecretKey = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n ZoneType = \"private\",\n Region = \"us-east-1\",\n },\n });\n\n // Create a new rancher2 Global DNS using project IDs\n var fooGlobalDns = new Rancher2.GlobalDns(\"foo\", new()\n {\n Name = \"foo\",\n Fqdn = \"foo.example.com\",\n ProviderId = foo.Id,\n ProjectIds = new[]\n {\n \"project1\",\n \"project2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global DNS Provider\n\t\tfoo, err := rancher2.NewGlobalDnsProvider(ctx, \"foo\", \u0026rancher2.GlobalDnsProviderArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRootDomain: pulumi.String(\"example.com\"),\n\t\t\tRoute53Config: \u0026rancher2.GlobalDnsProviderRoute53ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"YYYYYYYYYYYYYYYYYYYY\"),\n\t\t\t\tSecretKey: pulumi.String(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"),\n\t\t\t\tZoneType: pulumi.String(\"private\"),\n\t\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Global DNS using project IDs\n\t\t_, err = rancher2.NewGlobalDns(ctx, \"foo\", \u0026rancher2.GlobalDnsArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tFqdn: pulumi.String(\"foo.example.com\"),\n\t\t\tProviderId: foo.ID(),\n\t\t\tProjectIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"project1\"),\n\t\t\t\tpulumi.String(\"project2\"),\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.rancher2.GlobalDnsProvider;\nimport com.pulumi.rancher2.GlobalDnsProviderArgs;\nimport com.pulumi.rancher2.inputs.GlobalDnsProviderRoute53ConfigArgs;\nimport com.pulumi.rancher2.GlobalDns;\nimport com.pulumi.rancher2.GlobalDnsArgs;\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 // Create a new rancher2 Global DNS Provider\n var foo = new GlobalDnsProvider(\"foo\", GlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .rootDomain(\"example.com\")\n .route53Config(GlobalDnsProviderRoute53ConfigArgs.builder()\n .accessKey(\"YYYYYYYYYYYYYYYYYYYY\")\n .secretKey(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\n .zoneType(\"private\")\n .region(\"us-east-1\")\n .build())\n .build());\n\n // Create a new rancher2 Global DNS using project IDs\n var fooGlobalDns = new GlobalDns(\"fooGlobalDns\", GlobalDnsArgs.builder()\n .name(\"foo\")\n .fqdn(\"foo.example.com\")\n .providerId(foo.id())\n .projectIds( \n \"project1\",\n \"project2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global DNS Provider\n foo:\n type: rancher2:GlobalDnsProvider\n properties:\n name: foo\n rootDomain: example.com\n route53Config:\n accessKey: YYYYYYYYYYYYYYYYYYYY\n secretKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n zoneType: private\n region: us-east-1\n # Create a new rancher2 Global DNS using project IDs\n fooGlobalDns:\n type: rancher2:GlobalDns\n name: foo\n properties:\n name: foo\n fqdn: foo.example.com\n providerId: ${foo.id}\n projectIds:\n - project1\n - project2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global DNS Provider\nconst foo = new rancher2.GlobalDnsProvider(\"foo\", {\n name: \"foo\",\n rootDomain: \"example.com\",\n route53Config: {\n accessKey: \"YYYYYYYYYYYYYYYYYYYY\",\n secretKey: \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n zoneType: \"private\",\n region: \"us-east-1\",\n },\n});\n// Create a new rancher2 Global DNS using MultiClusterApp ID\nconst fooGlobalDns = new rancher2.GlobalDns(\"foo\", {\n name: \"foo\",\n fqdn: \"foo.example.com\",\n providerId: foo.id,\n multiClusterAppId: \"\u003cMCA_ID\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global DNS Provider\nfoo = rancher2.GlobalDnsProvider(\"foo\",\n name=\"foo\",\n root_domain=\"example.com\",\n route53_config={\n \"access_key\": \"YYYYYYYYYYYYYYYYYYYY\",\n \"secret_key\": \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n \"zone_type\": \"private\",\n \"region\": \"us-east-1\",\n })\n# Create a new rancher2 Global DNS using MultiClusterApp ID\nfoo_global_dns = rancher2.GlobalDns(\"foo\",\n name=\"foo\",\n fqdn=\"foo.example.com\",\n provider_id=foo.id,\n multi_cluster_app_id=\"\u003cMCA_ID\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global DNS Provider\n var foo = new Rancher2.GlobalDnsProvider(\"foo\", new()\n {\n Name = \"foo\",\n RootDomain = \"example.com\",\n Route53Config = new Rancher2.Inputs.GlobalDnsProviderRoute53ConfigArgs\n {\n AccessKey = \"YYYYYYYYYYYYYYYYYYYY\",\n SecretKey = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n ZoneType = \"private\",\n Region = \"us-east-1\",\n },\n });\n\n // Create a new rancher2 Global DNS using MultiClusterApp ID\n var fooGlobalDns = new Rancher2.GlobalDns(\"foo\", new()\n {\n Name = \"foo\",\n Fqdn = \"foo.example.com\",\n ProviderId = foo.Id,\n MultiClusterAppId = \"\u003cMCA_ID\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global DNS Provider\n\t\tfoo, err := rancher2.NewGlobalDnsProvider(ctx, \"foo\", \u0026rancher2.GlobalDnsProviderArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRootDomain: pulumi.String(\"example.com\"),\n\t\t\tRoute53Config: \u0026rancher2.GlobalDnsProviderRoute53ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"YYYYYYYYYYYYYYYYYYYY\"),\n\t\t\t\tSecretKey: pulumi.String(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"),\n\t\t\t\tZoneType: pulumi.String(\"private\"),\n\t\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Global DNS using MultiClusterApp ID\n\t\t_, err = rancher2.NewGlobalDns(ctx, \"foo\", \u0026rancher2.GlobalDnsArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tFqdn: pulumi.String(\"foo.example.com\"),\n\t\t\tProviderId: foo.ID(),\n\t\t\tMultiClusterAppId: pulumi.String(\"\u003cMCA_ID\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.rancher2.GlobalDnsProvider;\nimport com.pulumi.rancher2.GlobalDnsProviderArgs;\nimport com.pulumi.rancher2.inputs.GlobalDnsProviderRoute53ConfigArgs;\nimport com.pulumi.rancher2.GlobalDns;\nimport com.pulumi.rancher2.GlobalDnsArgs;\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 // Create a new rancher2 Global DNS Provider\n var foo = new GlobalDnsProvider(\"foo\", GlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .rootDomain(\"example.com\")\n .route53Config(GlobalDnsProviderRoute53ConfigArgs.builder()\n .accessKey(\"YYYYYYYYYYYYYYYYYYYY\")\n .secretKey(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\n .zoneType(\"private\")\n .region(\"us-east-1\")\n .build())\n .build());\n\n // Create a new rancher2 Global DNS using MultiClusterApp ID\n var fooGlobalDns = new GlobalDns(\"fooGlobalDns\", GlobalDnsArgs.builder()\n .name(\"foo\")\n .fqdn(\"foo.example.com\")\n .providerId(foo.id())\n .multiClusterAppId(\"\u003cMCA_ID\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global DNS Provider\n foo:\n type: rancher2:GlobalDnsProvider\n properties:\n name: foo\n rootDomain: example.com\n route53Config:\n accessKey: YYYYYYYYYYYYYYYYYYYY\n secretKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n zoneType: private\n region: us-east-1\n # Create a new rancher2 Global DNS using MultiClusterApp ID\n fooGlobalDns:\n type: rancher2:GlobalDns\n name: foo\n properties:\n name: foo\n fqdn: foo.example.com\n providerId: ${foo.id}\n multiClusterAppId: \u003cMCA_ID\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal DNS Entry can be imported using the Rancher Global DNS ID\n\n```sh\n$ pulumi import rancher2:index/globalDns:GlobalDns foo \u003cglobal_dns_id\u003e\n```\n", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Annotations for Global DNS (map)\n" - }, - "fqdn": { - "type": "string", - "description": "The Global DNS record (string)\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels for Global DNS (map)\n" - }, - "multiClusterAppId": { - "type": "string", - "description": "The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string)\n" - }, - "name": { - "type": "string", - "description": "The name of the Global DNS (string)\n" - }, - "projectIds": { - "type": "array", - "items": { - "type": "string" - }, - "description": "A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string))\n" - }, - "providerId": { - "type": "string", - "description": "The Global DNS provider ID to use (string)\n" - }, - "ttl": { - "type": "integer", - "description": "TTL in seconds for DNS record. Default: `300` (int)\n" - } - }, - "required": [ - "annotations", - "fqdn", - "labels", - "name", - "providerId" - ], - "inputProperties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Annotations for Global DNS (map)\n" - }, - "fqdn": { - "type": "string", - "description": "The Global DNS record (string)\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels for Global DNS (map)\n" - }, - "multiClusterAppId": { - "type": "string", - "description": "The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string)\n" - }, - "name": { - "type": "string", - "description": "The name of the Global DNS (string)\n", - "willReplaceOnChanges": true - }, - "projectIds": { - "type": "array", - "items": { - "type": "string" - }, - "description": "A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string))\n" - }, - "providerId": { - "type": "string", - "description": "The Global DNS provider ID to use (string)\n" - }, - "ttl": { - "type": "integer", - "description": "TTL in seconds for DNS record. Default: `300` (int)\n" - } - }, - "requiredInputs": [ - "fqdn", - "providerId" - ], - "stateInputs": { - "description": "Input properties used for looking up and filtering GlobalDns resources.\n", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Annotations for Global DNS (map)\n" - }, - "fqdn": { - "type": "string", - "description": "The Global DNS record (string)\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels for Global DNS (map)\n" - }, - "multiClusterAppId": { - "type": "string", - "description": "The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string)\n" - }, - "name": { - "type": "string", - "description": "The name of the Global DNS (string)\n", - "willReplaceOnChanges": true - }, - "projectIds": { - "type": "array", - "items": { - "type": "string" - }, - "description": "A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string))\n" - }, - "providerId": { - "type": "string", - "description": "The Global DNS provider ID to use (string)\n" - }, - "ttl": { - "type": "integer", - "description": "TTL in seconds for DNS record. Default: `300` (int)\n" - } - }, - "type": "object" - } - }, - "rancher2:index/globalDnsProvider:GlobalDnsProvider": { - "description": "Provides a Rancher V2 Global DNS Provider resource. This can be used to create Global DNS Providers for Rancher V2. Supported Global DNS Providers: `alidns, cloudflare, route53`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global DNS Provider - alidns\nconst foo = new rancher2.GlobalDnsProvider(\"foo\", {\n name: \"foo\",\n rootDomain: \"example.com\",\n alidnsConfig: {\n accessKey: \"YYYYYYYYYYYYYYYYYYYY\",\n secretKey: \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global DNS Provider - alidns\nfoo = rancher2.GlobalDnsProvider(\"foo\",\n name=\"foo\",\n root_domain=\"example.com\",\n alidns_config={\n \"access_key\": \"YYYYYYYYYYYYYYYYYYYY\",\n \"secret_key\": \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global DNS Provider - alidns\n var foo = new Rancher2.GlobalDnsProvider(\"foo\", new()\n {\n Name = \"foo\",\n RootDomain = \"example.com\",\n AlidnsConfig = new Rancher2.Inputs.GlobalDnsProviderAlidnsConfigArgs\n {\n AccessKey = \"YYYYYYYYYYYYYYYYYYYY\",\n SecretKey = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global DNS Provider - alidns\n\t\t_, err := rancher2.NewGlobalDnsProvider(ctx, \"foo\", \u0026rancher2.GlobalDnsProviderArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRootDomain: pulumi.String(\"example.com\"),\n\t\t\tAlidnsConfig: \u0026rancher2.GlobalDnsProviderAlidnsConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"YYYYYYYYYYYYYYYYYYYY\"),\n\t\t\t\tSecretKey: pulumi.String(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"),\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.rancher2.GlobalDnsProvider;\nimport com.pulumi.rancher2.GlobalDnsProviderArgs;\nimport com.pulumi.rancher2.inputs.GlobalDnsProviderAlidnsConfigArgs;\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 // Create a new rancher2 Global DNS Provider - alidns\n var foo = new GlobalDnsProvider(\"foo\", GlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .rootDomain(\"example.com\")\n .alidnsConfig(GlobalDnsProviderAlidnsConfigArgs.builder()\n .accessKey(\"YYYYYYYYYYYYYYYYYYYY\")\n .secretKey(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global DNS Provider - alidns\n foo:\n type: rancher2:GlobalDnsProvider\n properties:\n name: foo\n rootDomain: example.com\n alidnsConfig:\n accessKey: YYYYYYYYYYYYYYYYYYYY\n secretKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global DNS Provider - cloudflare\nconst foo = new rancher2.GlobalDnsProvider(\"foo\", {\n name: \"foo\",\n rootDomain: \"example.com\",\n cloudflareConfig: {\n apiEmail: \"test@test.local\",\n apiKey: \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n proxySetting: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global DNS Provider - cloudflare\nfoo = rancher2.GlobalDnsProvider(\"foo\",\n name=\"foo\",\n root_domain=\"example.com\",\n cloudflare_config={\n \"api_email\": \"test@test.local\",\n \"api_key\": \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n \"proxy_setting\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global DNS Provider - cloudflare\n var foo = new Rancher2.GlobalDnsProvider(\"foo\", new()\n {\n Name = \"foo\",\n RootDomain = \"example.com\",\n CloudflareConfig = new Rancher2.Inputs.GlobalDnsProviderCloudflareConfigArgs\n {\n ApiEmail = \"test@test.local\",\n ApiKey = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n ProxySetting = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global DNS Provider - cloudflare\n\t\t_, err := rancher2.NewGlobalDnsProvider(ctx, \"foo\", \u0026rancher2.GlobalDnsProviderArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRootDomain: pulumi.String(\"example.com\"),\n\t\t\tCloudflareConfig: \u0026rancher2.GlobalDnsProviderCloudflareConfigArgs{\n\t\t\t\tApiEmail: pulumi.String(\"test@test.local\"),\n\t\t\t\tApiKey: pulumi.String(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"),\n\t\t\t\tProxySetting: pulumi.Bool(true),\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.rancher2.GlobalDnsProvider;\nimport com.pulumi.rancher2.GlobalDnsProviderArgs;\nimport com.pulumi.rancher2.inputs.GlobalDnsProviderCloudflareConfigArgs;\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 // Create a new rancher2 Global DNS Provider - cloudflare\n var foo = new GlobalDnsProvider(\"foo\", GlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .rootDomain(\"example.com\")\n .cloudflareConfig(GlobalDnsProviderCloudflareConfigArgs.builder()\n .apiEmail(\"test@test.local\")\n .apiKey(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\n .proxySetting(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global DNS Provider - cloudflare\n foo:\n type: rancher2:GlobalDnsProvider\n properties:\n name: foo\n rootDomain: example.com\n cloudflareConfig:\n apiEmail: test@test.local\n apiKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n proxySetting: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global DNS Provider - route53\nconst foo = new rancher2.GlobalDnsProvider(\"foo\", {\n name: \"foo\",\n rootDomain: \"example.com\",\n route53Config: {\n accessKey: \"YYYYYYYYYYYYYYYYYYYY\",\n secretKey: \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n zoneType: \"private\",\n region: \"us-east-1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global DNS Provider - route53\nfoo = rancher2.GlobalDnsProvider(\"foo\",\n name=\"foo\",\n root_domain=\"example.com\",\n route53_config={\n \"access_key\": \"YYYYYYYYYYYYYYYYYYYY\",\n \"secret_key\": \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n \"zone_type\": \"private\",\n \"region\": \"us-east-1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global DNS Provider - route53\n var foo = new Rancher2.GlobalDnsProvider(\"foo\", new()\n {\n Name = \"foo\",\n RootDomain = \"example.com\",\n Route53Config = new Rancher2.Inputs.GlobalDnsProviderRoute53ConfigArgs\n {\n AccessKey = \"YYYYYYYYYYYYYYYYYYYY\",\n SecretKey = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n ZoneType = \"private\",\n Region = \"us-east-1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global DNS Provider - route53\n\t\t_, err := rancher2.NewGlobalDnsProvider(ctx, \"foo\", \u0026rancher2.GlobalDnsProviderArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRootDomain: pulumi.String(\"example.com\"),\n\t\t\tRoute53Config: \u0026rancher2.GlobalDnsProviderRoute53ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"YYYYYYYYYYYYYYYYYYYY\"),\n\t\t\t\tSecretKey: pulumi.String(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"),\n\t\t\t\tZoneType: pulumi.String(\"private\"),\n\t\t\t\tRegion: pulumi.String(\"us-east-1\"),\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.rancher2.GlobalDnsProvider;\nimport com.pulumi.rancher2.GlobalDnsProviderArgs;\nimport com.pulumi.rancher2.inputs.GlobalDnsProviderRoute53ConfigArgs;\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 // Create a new rancher2 Global DNS Provider - route53\n var foo = new GlobalDnsProvider(\"foo\", GlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .rootDomain(\"example.com\")\n .route53Config(GlobalDnsProviderRoute53ConfigArgs.builder()\n .accessKey(\"YYYYYYYYYYYYYYYYYYYY\")\n .secretKey(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\n .zoneType(\"private\")\n .region(\"us-east-1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global DNS Provider - route53\n foo:\n type: rancher2:GlobalDnsProvider\n properties:\n name: foo\n rootDomain: example.com\n route53Config:\n accessKey: YYYYYYYYYYYYYYYYYYYY\n secretKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n zoneType: private\n region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal DNS Providers can be imported using the Rancher Global DNS Provider ID\n\n```sh\n$ pulumi import rancher2:index/globalDnsProvider:GlobalDnsProvider foo \u003cglobal_dns_provider_id\u003e\n```\n", - "properties": { - "alidnsConfig": { - "$ref": "#/types/rancher2:index/GlobalDnsProviderAlidnsConfig:GlobalDnsProviderAlidnsConfig" - }, - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Annotations for Global DNS Provider (map)\n" - }, - "cloudflareConfig": { - "$ref": "#/types/rancher2:index/GlobalDnsProviderCloudflareConfig:GlobalDnsProviderCloudflareConfig" - }, - "dnsProvider": { - "type": "string", - "description": "(Computed) The Global DNS Provider `alidns, cloudflare, route53` (string)\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels for Global DNS Provider (map)\n" - }, - "name": { - "type": "string", - "description": "The name of the Global DNS Provider (string)\n" - }, - "rootDomain": { - "type": "string", - "description": "The user ID to assign Global DNS Provider (string)\n" - }, - "route53Config": { - "$ref": "#/types/rancher2:index/GlobalDnsProviderRoute53Config:GlobalDnsProviderRoute53Config" - } - }, - "required": [ - "annotations", - "dnsProvider", - "labels", - "name", - "rootDomain" - ], - "inputProperties": { - "alidnsConfig": { - "$ref": "#/types/rancher2:index/GlobalDnsProviderAlidnsConfig:GlobalDnsProviderAlidnsConfig" - }, - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Annotations for Global DNS Provider (map)\n" - }, - "cloudflareConfig": { - "$ref": "#/types/rancher2:index/GlobalDnsProviderCloudflareConfig:GlobalDnsProviderCloudflareConfig" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels for Global DNS Provider (map)\n" - }, - "name": { - "type": "string", - "description": "The name of the Global DNS Provider (string)\n", - "willReplaceOnChanges": true - }, - "rootDomain": { - "type": "string", - "description": "The user ID to assign Global DNS Provider (string)\n" - }, - "route53Config": { - "$ref": "#/types/rancher2:index/GlobalDnsProviderRoute53Config:GlobalDnsProviderRoute53Config" - } - }, - "requiredInputs": [ - "rootDomain" - ], - "stateInputs": { - "description": "Input properties used for looking up and filtering GlobalDnsProvider resources.\n", - "properties": { - "alidnsConfig": { - "$ref": "#/types/rancher2:index/GlobalDnsProviderAlidnsConfig:GlobalDnsProviderAlidnsConfig" - }, - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Annotations for Global DNS Provider (map)\n" - }, - "cloudflareConfig": { - "$ref": "#/types/rancher2:index/GlobalDnsProviderCloudflareConfig:GlobalDnsProviderCloudflareConfig" - }, - "dnsProvider": { - "type": "string", - "description": "(Computed) The Global DNS Provider `alidns, cloudflare, route53` (string)\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels for Global DNS Provider (map)\n" - }, - "name": { - "type": "string", - "description": "The name of the Global DNS Provider (string)\n", - "willReplaceOnChanges": true - }, - "rootDomain": { - "type": "string", - "description": "The user ID to assign Global DNS Provider (string)\n" - }, - "route53Config": { - "$ref": "#/types/rancher2:index/GlobalDnsProviderRoute53Config:GlobalDnsProviderRoute53Config" - } - }, - "type": "object" - } - }, "rancher2:index/globalRole:GlobalRole": { - "description": "Provides a Rancher v2 Global Role resource. This can be used to create Global Role for Rancher v2 and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global Role\nconst foo = new rancher2.GlobalRole(\"foo\", {\n name: \"foo\",\n newUserDefault: true,\n description: \"Terraform global role acceptance test\",\n rules: [{\n apiGroups: [\"*\"],\n resources: [\"secrets\"],\n verbs: [\"create\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global Role\nfoo = rancher2.GlobalRole(\"foo\",\n name=\"foo\",\n new_user_default=True,\n description=\"Terraform global role acceptance test\",\n rules=[{\n \"api_groups\": [\"*\"],\n \"resources\": [\"secrets\"],\n \"verbs\": [\"create\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global Role\n var foo = new Rancher2.GlobalRole(\"foo\", new()\n {\n Name = \"foo\",\n NewUserDefault = true,\n Description = \"Terraform global role acceptance test\",\n Rules = new[]\n {\n new Rancher2.Inputs.GlobalRoleRuleArgs\n {\n ApiGroups = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"secrets\",\n },\n Verbs = new[]\n {\n \"create\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global Role\n\t\t_, err := rancher2.NewGlobalRole(ctx, \"foo\", \u0026rancher2.GlobalRoleArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tNewUserDefault: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Terraform global role acceptance test\"),\n\t\t\tRules: rancher2.GlobalRoleRuleArray{\n\t\t\t\t\u0026rancher2.GlobalRoleRuleArgs{\n\t\t\t\t\tApiGroups: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secrets\"),\n\t\t\t\t\t},\n\t\t\t\t\tVerbs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"create\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.GlobalRole;\nimport com.pulumi.rancher2.GlobalRoleArgs;\nimport com.pulumi.rancher2.inputs.GlobalRoleRuleArgs;\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 // Create a new rancher2 Global Role\n var foo = new GlobalRole(\"foo\", GlobalRoleArgs.builder()\n .name(\"foo\")\n .newUserDefault(true)\n .description(\"Terraform global role acceptance test\")\n .rules(GlobalRoleRuleArgs.builder()\n .apiGroups(\"*\")\n .resources(\"secrets\")\n .verbs(\"create\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global Role\n foo:\n type: rancher2:GlobalRole\n properties:\n name: foo\n newUserDefault: true\n description: Terraform global role acceptance test\n rules:\n - apiGroups:\n - '*'\n resources:\n - secrets\n verbs:\n - create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Role can be imported using the Rancher Global Role ID\n\n```sh\n$ pulumi import rancher2:index/globalRole:GlobalRole foo \u0026lt;global_role_id\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Global Role resource. This can be used to create Global Role for Rancher v2 and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global Role\nconst foo = new rancher2.GlobalRole(\"foo\", {\n name: \"foo\",\n newUserDefault: true,\n description: \"Terraform global role acceptance test\",\n rules: [{\n apiGroups: [\"*\"],\n resources: [\"secrets\"],\n verbs: [\"create\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global Role\nfoo = rancher2.GlobalRole(\"foo\",\n name=\"foo\",\n new_user_default=True,\n description=\"Terraform global role acceptance test\",\n rules=[{\n \"api_groups\": [\"*\"],\n \"resources\": [\"secrets\"],\n \"verbs\": [\"create\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global Role\n var foo = new Rancher2.GlobalRole(\"foo\", new()\n {\n Name = \"foo\",\n NewUserDefault = true,\n Description = \"Terraform global role acceptance test\",\n Rules = new[]\n {\n new Rancher2.Inputs.GlobalRoleRuleArgs\n {\n ApiGroups = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"secrets\",\n },\n Verbs = new[]\n {\n \"create\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global Role\n\t\t_, err := rancher2.NewGlobalRole(ctx, \"foo\", \u0026rancher2.GlobalRoleArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tNewUserDefault: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Terraform global role acceptance test\"),\n\t\t\tRules: rancher2.GlobalRoleRuleArray{\n\t\t\t\t\u0026rancher2.GlobalRoleRuleArgs{\n\t\t\t\t\tApiGroups: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secrets\"),\n\t\t\t\t\t},\n\t\t\t\t\tVerbs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"create\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.GlobalRole;\nimport com.pulumi.rancher2.GlobalRoleArgs;\nimport com.pulumi.rancher2.inputs.GlobalRoleRuleArgs;\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 // Create a new rancher2 Global Role\n var foo = new GlobalRole(\"foo\", GlobalRoleArgs.builder()\n .name(\"foo\")\n .newUserDefault(true)\n .description(\"Terraform global role acceptance test\")\n .rules(GlobalRoleRuleArgs.builder()\n .apiGroups(\"*\")\n .resources(\"secrets\")\n .verbs(\"create\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global Role\n foo:\n type: rancher2:GlobalRole\n properties:\n name: foo\n newUserDefault: true\n description: Terraform global role acceptance test\n rules:\n - apiGroups:\n - '*'\n resources:\n - secrets\n verbs:\n - create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Role can be imported using the Rancher Global Role ID\n\n```sh\n$ pulumi import rancher2:index/globalRole:GlobalRole foo \u0026lt;global_role_id\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -26886,7 +26473,7 @@ } }, "rancher2:index/globalRoleBinding:GlobalRoleBinding": { - "description": "Provides a Rancher v2 Global Role Binding resource. This can be used to create Global Role Bindings for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global Role Binding using user_id\nconst foo = new rancher2.GlobalRoleBinding(\"foo\", {\n name: \"foo\",\n globalRoleId: \"admin\",\n userId: \"user-XXXXX\",\n});\n// Create a new rancher2 Global Role Binding using group_principal_id\nconst foo2 = new rancher2.GlobalRoleBinding(\"foo2\", {\n name: \"foo2\",\n globalRoleId: \"admin\",\n groupPrincipalId: \"local://g-XXXXX\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global Role Binding using user_id\nfoo = rancher2.GlobalRoleBinding(\"foo\",\n name=\"foo\",\n global_role_id=\"admin\",\n user_id=\"user-XXXXX\")\n# Create a new rancher2 Global Role Binding using group_principal_id\nfoo2 = rancher2.GlobalRoleBinding(\"foo2\",\n name=\"foo2\",\n global_role_id=\"admin\",\n group_principal_id=\"local://g-XXXXX\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global Role Binding using user_id\n var foo = new Rancher2.GlobalRoleBinding(\"foo\", new()\n {\n Name = \"foo\",\n GlobalRoleId = \"admin\",\n UserId = \"user-XXXXX\",\n });\n\n // Create a new rancher2 Global Role Binding using group_principal_id\n var foo2 = new Rancher2.GlobalRoleBinding(\"foo2\", new()\n {\n Name = \"foo2\",\n GlobalRoleId = \"admin\",\n GroupPrincipalId = \"local://g-XXXXX\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global Role Binding using user_id\n\t\t_, err := rancher2.NewGlobalRoleBinding(ctx, \"foo\", \u0026rancher2.GlobalRoleBindingArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tGlobalRoleId: pulumi.String(\"admin\"),\n\t\t\tUserId: pulumi.String(\"user-XXXXX\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Global Role Binding using group_principal_id\n\t\t_, err = rancher2.NewGlobalRoleBinding(ctx, \"foo2\", \u0026rancher2.GlobalRoleBindingArgs{\n\t\t\tName: pulumi.String(\"foo2\"),\n\t\t\tGlobalRoleId: pulumi.String(\"admin\"),\n\t\t\tGroupPrincipalId: pulumi.String(\"local://g-XXXXX\"),\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.rancher2.GlobalRoleBinding;\nimport com.pulumi.rancher2.GlobalRoleBindingArgs;\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 // Create a new rancher2 Global Role Binding using user_id\n var foo = new GlobalRoleBinding(\"foo\", GlobalRoleBindingArgs.builder()\n .name(\"foo\")\n .globalRoleId(\"admin\")\n .userId(\"user-XXXXX\")\n .build());\n\n // Create a new rancher2 Global Role Binding using group_principal_id\n var foo2 = new GlobalRoleBinding(\"foo2\", GlobalRoleBindingArgs.builder()\n .name(\"foo2\")\n .globalRoleId(\"admin\")\n .groupPrincipalId(\"local://g-XXXXX\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global Role Binding using user_id\n foo:\n type: rancher2:GlobalRoleBinding\n properties:\n name: foo\n globalRoleId: admin\n userId: user-XXXXX\n # Create a new rancher2 Global Role Binding using group_principal_id\n foo2:\n type: rancher2:GlobalRoleBinding\n properties:\n name: foo2\n globalRoleId: admin\n groupPrincipalId: local://g-XXXXX\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Role Bindings can be imported using the Rancher Global Role Binding ID\n\n```sh\n$ pulumi import rancher2:index/globalRoleBinding:GlobalRoleBinding foo \u0026lt;GLOBAL_ROLE_BINDING_ID\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Global Role Binding resource. This can be used to create Global Role Bindings for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global Role Binding using user_id\nconst foo = new rancher2.GlobalRoleBinding(\"foo\", {\n name: \"foo\",\n globalRoleId: \"admin\",\n userId: \"user-XXXXX\",\n});\n// Create a new rancher2 Global Role Binding using group_principal_id\nconst foo2 = new rancher2.GlobalRoleBinding(\"foo2\", {\n name: \"foo2\",\n globalRoleId: \"admin\",\n groupPrincipalId: \"local://g-XXXXX\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global Role Binding using user_id\nfoo = rancher2.GlobalRoleBinding(\"foo\",\n name=\"foo\",\n global_role_id=\"admin\",\n user_id=\"user-XXXXX\")\n# Create a new rancher2 Global Role Binding using group_principal_id\nfoo2 = rancher2.GlobalRoleBinding(\"foo2\",\n name=\"foo2\",\n global_role_id=\"admin\",\n group_principal_id=\"local://g-XXXXX\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global Role Binding using user_id\n var foo = new Rancher2.GlobalRoleBinding(\"foo\", new()\n {\n Name = \"foo\",\n GlobalRoleId = \"admin\",\n UserId = \"user-XXXXX\",\n });\n\n // Create a new rancher2 Global Role Binding using group_principal_id\n var foo2 = new Rancher2.GlobalRoleBinding(\"foo2\", new()\n {\n Name = \"foo2\",\n GlobalRoleId = \"admin\",\n GroupPrincipalId = \"local://g-XXXXX\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global Role Binding using user_id\n\t\t_, err := rancher2.NewGlobalRoleBinding(ctx, \"foo\", \u0026rancher2.GlobalRoleBindingArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tGlobalRoleId: pulumi.String(\"admin\"),\n\t\t\tUserId: pulumi.String(\"user-XXXXX\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Global Role Binding using group_principal_id\n\t\t_, err = rancher2.NewGlobalRoleBinding(ctx, \"foo2\", \u0026rancher2.GlobalRoleBindingArgs{\n\t\t\tName: pulumi.String(\"foo2\"),\n\t\t\tGlobalRoleId: pulumi.String(\"admin\"),\n\t\t\tGroupPrincipalId: pulumi.String(\"local://g-XXXXX\"),\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.rancher2.GlobalRoleBinding;\nimport com.pulumi.rancher2.GlobalRoleBindingArgs;\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 // Create a new rancher2 Global Role Binding using user_id\n var foo = new GlobalRoleBinding(\"foo\", GlobalRoleBindingArgs.builder()\n .name(\"foo\")\n .globalRoleId(\"admin\")\n .userId(\"user-XXXXX\")\n .build());\n\n // Create a new rancher2 Global Role Binding using group_principal_id\n var foo2 = new GlobalRoleBinding(\"foo2\", GlobalRoleBindingArgs.builder()\n .name(\"foo2\")\n .globalRoleId(\"admin\")\n .groupPrincipalId(\"local://g-XXXXX\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global Role Binding using user_id\n foo:\n type: rancher2:GlobalRoleBinding\n properties:\n name: foo\n globalRoleId: admin\n userId: user-XXXXX\n # Create a new rancher2 Global Role Binding using group_principal_id\n foo2:\n type: rancher2:GlobalRoleBinding\n properties:\n name: foo2\n globalRoleId: admin\n groupPrincipalId: local://g-XXXXX\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Role Bindings can be imported using the Rancher Global Role Binding ID\n\n```sh\n$ pulumi import rancher2:index/globalRoleBinding:GlobalRoleBinding foo \u0026lt;GLOBAL_ROLE_BINDING_ID\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -27008,7 +26595,7 @@ } }, "rancher2:index/machineConfigV2:MachineConfigV2": { - "description": "Provides a Rancher v2 Machine config v2 resource. This can be used to create Machine Config v2 for Rancher v2 and retrieve their information. This resource is available from Rancher v2.6.0 and above.\n\nThe supported cloud providers includes `amazonec2`, `azure`, `digitalocean`, `harvester`, `linode`, `openstack`, and `vsphere`.\n\n### Using the Harvester Node Driver\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Get imported harvester cluster info\nconst foo-harvester = rancher2.getClusterV2({\n name: \"foo-harvester\",\n});\n// Create a new Cloud Credential for an imported Harvester cluster\nconst foo_harvesterCloudCredential = new rancher2.CloudCredential(\"foo-harvester\", {\n name: \"foo-harvester\",\n harvesterCredentialConfig: {\n clusterId: foo_harvester.then(foo_harvester =\u003e foo_harvester.clusterV1Id),\n clusterType: \"imported\",\n kubeconfigContent: foo_harvester.then(foo_harvester =\u003e foo_harvester.kubeConfig),\n },\n});\n// Create a new rancher2 machine config v2 using harvester node_driver\nconst foo_harvester_v2 = new rancher2.MachineConfigV2(\"foo-harvester-v2\", {\n generateName: \"foo-harvester-v2\",\n harvesterConfig: {\n vmNamespace: \"default\",\n cpuCount: \"2\",\n memorySize: \"4\",\n diskInfo: ` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`,\n networkInfo: ` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`,\n sshUser: \"ubuntu\",\n userData: ` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Get imported harvester cluster info\nfoo_harvester = rancher2.get_cluster_v2(name=\"foo-harvester\")\n# Create a new Cloud Credential for an imported Harvester cluster\nfoo_harvester_cloud_credential = rancher2.CloudCredential(\"foo-harvester\",\n name=\"foo-harvester\",\n harvester_credential_config={\n \"cluster_id\": foo_harvester.cluster_v1_id,\n \"cluster_type\": \"imported\",\n \"kubeconfig_content\": foo_harvester.kube_config,\n })\n# Create a new rancher2 machine config v2 using harvester node_driver\nfoo_harvester_v2 = rancher2.MachineConfigV2(\"foo-harvester-v2\",\n generate_name=\"foo-harvester-v2\",\n harvester_config={\n \"vm_namespace\": \"default\",\n \"cpu_count\": \"2\",\n \"memory_size\": \"4\",\n \"disk_info\": \"\"\" {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n\"\"\",\n \"network_info\": \"\"\" {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n\"\"\",\n \"ssh_user\": \"ubuntu\",\n \"user_data\": \"\"\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get imported harvester cluster info\n var foo_harvester = Rancher2.GetClusterV2.Invoke(new()\n {\n Name = \"foo-harvester\",\n });\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new Rancher2.CloudCredential(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n HarvesterCredentialConfig = new Rancher2.Inputs.CloudCredentialHarvesterCredentialConfigArgs\n {\n ClusterId = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.ClusterV1Id)),\n ClusterType = \"imported\",\n KubeconfigContent = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.KubeConfig)),\n },\n });\n\n // Create a new rancher2 machine config v2 using harvester node_driver\n var foo_harvester_v2 = new Rancher2.MachineConfigV2(\"foo-harvester-v2\", new()\n {\n GenerateName = \"foo-harvester-v2\",\n HarvesterConfig = new Rancher2.Inputs.MachineConfigV2HarvesterConfigArgs\n {\n VmNamespace = \"default\",\n CpuCount = \"2\",\n MemorySize = \"4\",\n DiskInfo = @\" {\n \"\"disks\"\": [{\n \"\"imageName\"\": \"\"harvester-public/image-57hzg\"\",\n \"\"size\"\": 40,\n \"\"bootOrder\"\": 1\n }]\n }\n\",\n NetworkInfo = @\" {\n \"\"interfaces\"\": [{\n \"\"networkName\"\": \"\"harvester-public/vlan1\"\"\n }]\n }\n\",\n SshUser = \"ubuntu\",\n UserData = @\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get imported harvester cluster info\n\t\tfoo_harvester, err := rancher2.LookupClusterV2(ctx, \u0026rancher2.LookupClusterV2Args{\n\t\t\tName: \"foo-harvester\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Cloud Credential for an imported Harvester cluster\n\t\t_, err = rancher2.NewCloudCredential(ctx, \"foo-harvester\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tHarvesterCredentialConfig: \u0026rancher2.CloudCredentialHarvesterCredentialConfigArgs{\n\t\t\t\tClusterId: pulumi.String(foo_harvester.ClusterV1Id),\n\t\t\t\tClusterType: pulumi.String(\"imported\"),\n\t\t\t\tKubeconfigContent: pulumi.String(foo_harvester.KubeConfig),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 machine config v2 using harvester node_driver\n\t\t_, err = rancher2.NewMachineConfigV2(ctx, \"foo-harvester-v2\", \u0026rancher2.MachineConfigV2Args{\n\t\t\tGenerateName: pulumi.String(\"foo-harvester-v2\"),\n\t\t\tHarvesterConfig: \u0026rancher2.MachineConfigV2HarvesterConfigArgs{\n\t\t\t\tVmNamespace: pulumi.String(\"default\"),\n\t\t\t\tCpuCount: pulumi.String(\"2\"),\n\t\t\t\tMemorySize: pulumi.String(\"4\"),\n\t\t\t\tDiskInfo: pulumi.String(` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`),\n\t\t\t\tNetworkInfo: pulumi.String(` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`),\n\t\t\t\tSshUser: pulumi.String(\"ubuntu\"),\n\t\t\t\tUserData: pulumi.String(` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterV2Args;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialHarvesterCredentialConfigArgs;\nimport com.pulumi.rancher2.MachineConfigV2;\nimport com.pulumi.rancher2.MachineConfigV2Args;\nimport com.pulumi.rancher2.inputs.MachineConfigV2HarvesterConfigArgs;\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 // Get imported harvester cluster info\n final var foo-harvester = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()\n .name(\"foo-harvester\")\n .build());\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new CloudCredential(\"foo-harvesterCloudCredential\", CloudCredentialArgs.builder()\n .name(\"foo-harvester\")\n .harvesterCredentialConfig(CloudCredentialHarvesterCredentialConfigArgs.builder()\n .clusterId(foo_harvester.clusterV1Id())\n .clusterType(\"imported\")\n .kubeconfigContent(foo_harvester.kubeConfig())\n .build())\n .build());\n\n // Create a new rancher2 machine config v2 using harvester node_driver\n var foo_harvester_v2 = new MachineConfigV2(\"foo-harvester-v2\", MachineConfigV2Args.builder()\n .generateName(\"foo-harvester-v2\")\n .harvesterConfig(MachineConfigV2HarvesterConfigArgs.builder()\n .vmNamespace(\"default\")\n .cpuCount(\"2\")\n .memorySize(\"4\")\n .diskInfo(\"\"\"\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n \"\"\")\n .networkInfo(\"\"\"\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n \"\"\")\n .sshUser(\"ubuntu\")\n .userData(\"\"\"\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Cloud Credential for an imported Harvester cluster\n foo-harvesterCloudCredential:\n type: rancher2:CloudCredential\n name: foo-harvester\n properties:\n name: foo-harvester\n harvesterCredentialConfig:\n clusterId: ${[\"foo-harvester\"].clusterV1Id}\n clusterType: imported\n kubeconfigContent: ${[\"foo-harvester\"].kubeConfig}\n # Create a new rancher2 machine config v2 using harvester node_driver\n foo-harvester-v2:\n type: rancher2:MachineConfigV2\n properties:\n generateName: foo-harvester-v2\n harvesterConfig:\n vmNamespace: default\n cpuCount: '2'\n memorySize: '4'\n diskInfo: |2\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n networkInfo: |2\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n sshUser: ubuntu\n userData: |2\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\nvariables:\n # Get imported harvester cluster info\n foo-harvester:\n fn::invoke:\n Function: rancher2:getClusterV2\n Arguments:\n name: foo-harvester\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Rancher v2 Machine config v2 resource. This can be used to create Machine Config v2 for Rancher v2 and retrieve their information. This resource is available from Rancher v2.6.0 and above.\n\nThe supported cloud providers includes `amazonec2`, `azure`, `digitalocean`, `harvester`, `linode`, `openstack`, and `vsphere`.\n\n### Using the Harvester Node Driver\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Get imported harvester cluster info\nconst foo-harvester = rancher2.getClusterV2({\n name: \"foo-harvester\",\n});\n// Create a new Cloud Credential for an imported Harvester cluster\nconst foo_harvesterCloudCredential = new rancher2.CloudCredential(\"foo-harvester\", {\n name: \"foo-harvester\",\n harvesterCredentialConfig: {\n clusterId: foo_harvester.then(foo_harvester =\u003e foo_harvester.clusterV1Id),\n clusterType: \"imported\",\n kubeconfigContent: foo_harvester.then(foo_harvester =\u003e foo_harvester.kubeConfig),\n },\n});\n// Create a new rancher2 machine config v2 using harvester node_driver\nconst foo_harvester_v2 = new rancher2.MachineConfigV2(\"foo-harvester-v2\", {\n generateName: \"foo-harvester-v2\",\n harvesterConfig: {\n vmNamespace: \"default\",\n cpuCount: \"2\",\n memorySize: \"4\",\n diskInfo: ` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`,\n networkInfo: ` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`,\n sshUser: \"ubuntu\",\n userData: ` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Get imported harvester cluster info\nfoo_harvester = rancher2.get_cluster_v2(name=\"foo-harvester\")\n# Create a new Cloud Credential for an imported Harvester cluster\nfoo_harvester_cloud_credential = rancher2.CloudCredential(\"foo-harvester\",\n name=\"foo-harvester\",\n harvester_credential_config={\n \"cluster_id\": foo_harvester.cluster_v1_id,\n \"cluster_type\": \"imported\",\n \"kubeconfig_content\": foo_harvester.kube_config,\n })\n# Create a new rancher2 machine config v2 using harvester node_driver\nfoo_harvester_v2 = rancher2.MachineConfigV2(\"foo-harvester-v2\",\n generate_name=\"foo-harvester-v2\",\n harvester_config={\n \"vm_namespace\": \"default\",\n \"cpu_count\": \"2\",\n \"memory_size\": \"4\",\n \"disk_info\": \"\"\" {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n\"\"\",\n \"network_info\": \"\"\" {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n\"\"\",\n \"ssh_user\": \"ubuntu\",\n \"user_data\": \"\"\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get imported harvester cluster info\n var foo_harvester = Rancher2.GetClusterV2.Invoke(new()\n {\n Name = \"foo-harvester\",\n });\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new Rancher2.CloudCredential(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n HarvesterCredentialConfig = new Rancher2.Inputs.CloudCredentialHarvesterCredentialConfigArgs\n {\n ClusterId = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.ClusterV1Id)),\n ClusterType = \"imported\",\n KubeconfigContent = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.KubeConfig)),\n },\n });\n\n // Create a new rancher2 machine config v2 using harvester node_driver\n var foo_harvester_v2 = new Rancher2.MachineConfigV2(\"foo-harvester-v2\", new()\n {\n GenerateName = \"foo-harvester-v2\",\n HarvesterConfig = new Rancher2.Inputs.MachineConfigV2HarvesterConfigArgs\n {\n VmNamespace = \"default\",\n CpuCount = \"2\",\n MemorySize = \"4\",\n DiskInfo = @\" {\n \"\"disks\"\": [{\n \"\"imageName\"\": \"\"harvester-public/image-57hzg\"\",\n \"\"size\"\": 40,\n \"\"bootOrder\"\": 1\n }]\n }\n\",\n NetworkInfo = @\" {\n \"\"interfaces\"\": [{\n \"\"networkName\"\": \"\"harvester-public/vlan1\"\"\n }]\n }\n\",\n SshUser = \"ubuntu\",\n UserData = @\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get imported harvester cluster info\n\t\tfoo_harvester, err := rancher2.LookupClusterV2(ctx, \u0026rancher2.LookupClusterV2Args{\n\t\t\tName: \"foo-harvester\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Cloud Credential for an imported Harvester cluster\n\t\t_, err = rancher2.NewCloudCredential(ctx, \"foo-harvester\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tHarvesterCredentialConfig: \u0026rancher2.CloudCredentialHarvesterCredentialConfigArgs{\n\t\t\t\tClusterId: pulumi.String(foo_harvester.ClusterV1Id),\n\t\t\t\tClusterType: pulumi.String(\"imported\"),\n\t\t\t\tKubeconfigContent: pulumi.String(foo_harvester.KubeConfig),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 machine config v2 using harvester node_driver\n\t\t_, err = rancher2.NewMachineConfigV2(ctx, \"foo-harvester-v2\", \u0026rancher2.MachineConfigV2Args{\n\t\t\tGenerateName: pulumi.String(\"foo-harvester-v2\"),\n\t\t\tHarvesterConfig: \u0026rancher2.MachineConfigV2HarvesterConfigArgs{\n\t\t\t\tVmNamespace: pulumi.String(\"default\"),\n\t\t\t\tCpuCount: pulumi.String(\"2\"),\n\t\t\t\tMemorySize: pulumi.String(\"4\"),\n\t\t\t\tDiskInfo: pulumi.String(` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`),\n\t\t\t\tNetworkInfo: pulumi.String(` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`),\n\t\t\t\tSshUser: pulumi.String(\"ubuntu\"),\n\t\t\t\tUserData: pulumi.String(` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterV2Args;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialHarvesterCredentialConfigArgs;\nimport com.pulumi.rancher2.MachineConfigV2;\nimport com.pulumi.rancher2.MachineConfigV2Args;\nimport com.pulumi.rancher2.inputs.MachineConfigV2HarvesterConfigArgs;\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 // Get imported harvester cluster info\n final var foo-harvester = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()\n .name(\"foo-harvester\")\n .build());\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new CloudCredential(\"foo-harvesterCloudCredential\", CloudCredentialArgs.builder()\n .name(\"foo-harvester\")\n .harvesterCredentialConfig(CloudCredentialHarvesterCredentialConfigArgs.builder()\n .clusterId(foo_harvester.clusterV1Id())\n .clusterType(\"imported\")\n .kubeconfigContent(foo_harvester.kubeConfig())\n .build())\n .build());\n\n // Create a new rancher2 machine config v2 using harvester node_driver\n var foo_harvester_v2 = new MachineConfigV2(\"foo-harvester-v2\", MachineConfigV2Args.builder()\n .generateName(\"foo-harvester-v2\")\n .harvesterConfig(MachineConfigV2HarvesterConfigArgs.builder()\n .vmNamespace(\"default\")\n .cpuCount(\"2\")\n .memorySize(\"4\")\n .diskInfo(\"\"\"\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n \"\"\")\n .networkInfo(\"\"\"\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n \"\"\")\n .sshUser(\"ubuntu\")\n .userData(\"\"\"\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Cloud Credential for an imported Harvester cluster\n foo-harvesterCloudCredential:\n type: rancher2:CloudCredential\n name: foo-harvester\n properties:\n name: foo-harvester\n harvesterCredentialConfig:\n clusterId: ${[\"foo-harvester\"].clusterV1Id}\n clusterType: imported\n kubeconfigContent: ${[\"foo-harvester\"].kubeConfig}\n # Create a new rancher2 machine config v2 using harvester node_driver\n foo-harvester-v2:\n type: rancher2:MachineConfigV2\n properties:\n generateName: foo-harvester-v2\n harvesterConfig:\n vmNamespace: default\n cpuCount: '2'\n memorySize: '4'\n diskInfo: |2\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n networkInfo: |2\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n sshUser: ubuntu\n userData: |2\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\nvariables:\n # Get imported harvester cluster info\n foo-harvester:\n fn::invoke:\n Function: rancher2:getClusterV2\n Arguments:\n name: foo-harvester\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "amazonec2Config": { "$ref": "#/types/rancher2:index/MachineConfigV2Amazonec2Config:MachineConfigV2Amazonec2Config", @@ -27210,7 +26797,7 @@ } }, "rancher2:index/multiClusterApp:MultiClusterApp": { - "description": "Provides a Rancher v2 multi_cluster_app resource. This can be used to deploy multi_cluster_app on Rancher v2.\n\nThis resource can also modify Rancher v2 multi cluster apps in 3 ways:\n- `Add/Remove targets`: If `targets` arguments is modified, the multi cluster app targets will be updated.\n- `Rollback`: If `revision_id` argument is provided or modified the app will be rolled back accordingly. A new `revision_id` will be generated in Rancher. It will also generate a non-empty pulumi preview that will require manual .tf file intervention. Use carefully.\n- `Update`: If any other argument is modified the app will be upgraded.\n\nNote: In case of multiple resource modification in a row, `rollback` has preference.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Multi Cluster App\nconst foo = new rancher2.MultiClusterApp(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n targets: [{\n projectId: \"\u003cproject_id\u003e\",\n }],\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n answers: [{\n values: {\n ingress_host: \"test.xip.io\",\n },\n }],\n roles: [\"project-member\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Multi Cluster App\nfoo = rancher2.MultiClusterApp(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n targets=[{\n \"project_id\": \"\u003cproject_id\u003e\",\n }],\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n answers=[{\n \"values\": {\n \"ingress_host\": \"test.xip.io\",\n },\n }],\n roles=[\"project-member\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Multi Cluster App\n var foo = new Rancher2.MultiClusterApp(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Targets = new[]\n {\n new Rancher2.Inputs.MultiClusterAppTargetArgs\n {\n ProjectId = \"\u003cproject_id\u003e\",\n },\n },\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n Answers = new[]\n {\n new Rancher2.Inputs.MultiClusterAppAnswerArgs\n {\n Values = \n {\n { \"ingress_host\", \"test.xip.io\" },\n },\n },\n },\n Roles = new[]\n {\n \"project-member\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Multi Cluster App\n\t\t_, err := rancher2.NewMultiClusterApp(ctx, \"foo\", \u0026rancher2.MultiClusterAppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tTargets: rancher2.MultiClusterAppTargetArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppTargetArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tAnswers: rancher2.MultiClusterAppAnswerArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppAnswerArgs{\n\t\t\t\t\tValues: pulumi.StringMap{\n\t\t\t\t\t\t\"ingress_host\": pulumi.String(\"test.xip.io\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"project-member\"),\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.rancher2.MultiClusterApp;\nimport com.pulumi.rancher2.MultiClusterAppArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppTargetArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppAnswerArgs;\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 // Create a new rancher2 Multi Cluster App\n var foo = new MultiClusterApp(\"foo\", MultiClusterAppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .targets(MultiClusterAppTargetArgs.builder()\n .projectId(\"\u003cproject_id\u003e\")\n .build())\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .answers(MultiClusterAppAnswerArgs.builder()\n .values(Map.of(\"ingress_host\", \"test.xip.io\"))\n .build())\n .roles(\"project-member\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Multi Cluster App\n foo:\n type: rancher2:MultiClusterApp\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n targets:\n - projectId: \u003cproject_id\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n answers:\n - values:\n ingress_host: test.xip.io\n roles:\n - project-member\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Multi Cluster App overriding answers\nconst foo = new rancher2.MultiClusterApp(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n targets: [\n {\n projectId: \"\u003cproject_id1\u003e\",\n },\n {\n projectId: \"\u003cproject_id2\u003e\",\n },\n ],\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n answers: [\n {\n values: {\n ingress_host: \"test.xip.io\",\n },\n },\n {\n projectId: \"\u003cproject_id2\u003e\",\n values: {\n ingress_host: \"test2.xip.io\",\n },\n },\n ],\n roles: [\"project-member\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Multi Cluster App overriding answers\nfoo = rancher2.MultiClusterApp(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n targets=[\n {\n \"project_id\": \"\u003cproject_id1\u003e\",\n },\n {\n \"project_id\": \"\u003cproject_id2\u003e\",\n },\n ],\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n answers=[\n {\n \"values\": {\n \"ingress_host\": \"test.xip.io\",\n },\n },\n {\n \"project_id\": \"\u003cproject_id2\u003e\",\n \"values\": {\n \"ingress_host\": \"test2.xip.io\",\n },\n },\n ],\n roles=[\"project-member\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Multi Cluster App overriding answers\n var foo = new Rancher2.MultiClusterApp(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Targets = new[]\n {\n new Rancher2.Inputs.MultiClusterAppTargetArgs\n {\n ProjectId = \"\u003cproject_id1\u003e\",\n },\n new Rancher2.Inputs.MultiClusterAppTargetArgs\n {\n ProjectId = \"\u003cproject_id2\u003e\",\n },\n },\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n Answers = new[]\n {\n new Rancher2.Inputs.MultiClusterAppAnswerArgs\n {\n Values = \n {\n { \"ingress_host\", \"test.xip.io\" },\n },\n },\n new Rancher2.Inputs.MultiClusterAppAnswerArgs\n {\n ProjectId = \"\u003cproject_id2\u003e\",\n Values = \n {\n { \"ingress_host\", \"test2.xip.io\" },\n },\n },\n },\n Roles = new[]\n {\n \"project-member\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Multi Cluster App overriding answers\n\t\t_, err := rancher2.NewMultiClusterApp(ctx, \"foo\", \u0026rancher2.MultiClusterAppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tTargets: rancher2.MultiClusterAppTargetArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppTargetArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id1\u003e\"),\n\t\t\t\t},\n\t\t\t\t\u0026rancher2.MultiClusterAppTargetArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id2\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tAnswers: rancher2.MultiClusterAppAnswerArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppAnswerArgs{\n\t\t\t\t\tValues: pulumi.StringMap{\n\t\t\t\t\t\t\"ingress_host\": pulumi.String(\"test.xip.io\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026rancher2.MultiClusterAppAnswerArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id2\u003e\"),\n\t\t\t\t\tValues: pulumi.StringMap{\n\t\t\t\t\t\t\"ingress_host\": pulumi.String(\"test2.xip.io\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"project-member\"),\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.rancher2.MultiClusterApp;\nimport com.pulumi.rancher2.MultiClusterAppArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppTargetArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppAnswerArgs;\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 // Create a new rancher2 Multi Cluster App overriding answers\n var foo = new MultiClusterApp(\"foo\", MultiClusterAppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .targets( \n MultiClusterAppTargetArgs.builder()\n .projectId(\"\u003cproject_id1\u003e\")\n .build(),\n MultiClusterAppTargetArgs.builder()\n .projectId(\"\u003cproject_id2\u003e\")\n .build())\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .answers( \n MultiClusterAppAnswerArgs.builder()\n .values(Map.of(\"ingress_host\", \"test.xip.io\"))\n .build(),\n MultiClusterAppAnswerArgs.builder()\n .projectId(\"\u003cproject_id2\u003e\")\n .values(Map.of(\"ingress_host\", \"test2.xip.io\"))\n .build())\n .roles(\"project-member\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Multi Cluster App overriding answers\n foo:\n type: rancher2:MultiClusterApp\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n targets:\n - projectId: \u003cproject_id1\u003e\n - projectId: \u003cproject_id2\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n answers:\n - values:\n ingress_host: test.xip.io\n - projectId: \u003cproject_id2\u003e\n values:\n ingress_host: test2.xip.io\n roles:\n - project-member\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMulti cluster app can be imported using the multi cluster app ID in the format `\u003cmulti_cluster_app_name\u003e`\n\n```sh\n$ pulumi import rancher2:index/multiClusterApp:MultiClusterApp foo \u0026lt;MULTI_CLUSTER_APP_ID\u0026gt;\n```\n", + "description": "Provides a Rancher v2 multi_cluster_app resource. This can be used to deploy multi_cluster_app on Rancher v2.\n\nThis resource can also modify Rancher v2 multi cluster apps in 3 ways:\n- `Add/Remove targets`: If `targets` arguments is modified, the multi cluster app targets will be updated.\n- `Rollback`: If `revision_id` argument is provided or modified the app will be rolled back accordingly. A new `revision_id` will be generated in Rancher. It will also generate a non-empty pulumi preview that will require manual .tf file intervention. Use carefully.\n- `Update`: If any other argument is modified the app will be upgraded.\n\nNote: In case of multiple resource modification in a row, `rollback` has preference.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Multi Cluster App\nconst foo = new rancher2.MultiClusterApp(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n targets: [{\n projectId: \"\u003cproject_id\u003e\",\n }],\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n answers: [{\n values: {\n ingress_host: \"test.xip.io\",\n },\n }],\n roles: [\"project-member\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Multi Cluster App\nfoo = rancher2.MultiClusterApp(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n targets=[{\n \"project_id\": \"\u003cproject_id\u003e\",\n }],\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n answers=[{\n \"values\": {\n \"ingress_host\": \"test.xip.io\",\n },\n }],\n roles=[\"project-member\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Multi Cluster App\n var foo = new Rancher2.MultiClusterApp(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Targets = new[]\n {\n new Rancher2.Inputs.MultiClusterAppTargetArgs\n {\n ProjectId = \"\u003cproject_id\u003e\",\n },\n },\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n Answers = new[]\n {\n new Rancher2.Inputs.MultiClusterAppAnswerArgs\n {\n Values = \n {\n { \"ingress_host\", \"test.xip.io\" },\n },\n },\n },\n Roles = new[]\n {\n \"project-member\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Multi Cluster App\n\t\t_, err := rancher2.NewMultiClusterApp(ctx, \"foo\", \u0026rancher2.MultiClusterAppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tTargets: rancher2.MultiClusterAppTargetArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppTargetArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tAnswers: rancher2.MultiClusterAppAnswerArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppAnswerArgs{\n\t\t\t\t\tValues: pulumi.StringMap{\n\t\t\t\t\t\t\"ingress_host\": pulumi.String(\"test.xip.io\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"project-member\"),\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.rancher2.MultiClusterApp;\nimport com.pulumi.rancher2.MultiClusterAppArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppTargetArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppAnswerArgs;\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 // Create a new rancher2 Multi Cluster App\n var foo = new MultiClusterApp(\"foo\", MultiClusterAppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .targets(MultiClusterAppTargetArgs.builder()\n .projectId(\"\u003cproject_id\u003e\")\n .build())\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .answers(MultiClusterAppAnswerArgs.builder()\n .values(Map.of(\"ingress_host\", \"test.xip.io\"))\n .build())\n .roles(\"project-member\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Multi Cluster App\n foo:\n type: rancher2:MultiClusterApp\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n targets:\n - projectId: \u003cproject_id\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n answers:\n - values:\n ingress_host: test.xip.io\n roles:\n - project-member\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Multi Cluster App overriding answers\nconst foo = new rancher2.MultiClusterApp(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n targets: [\n {\n projectId: \"\u003cproject_id1\u003e\",\n },\n {\n projectId: \"\u003cproject_id2\u003e\",\n },\n ],\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n answers: [\n {\n values: {\n ingress_host: \"test.xip.io\",\n },\n },\n {\n projectId: \"\u003cproject_id2\u003e\",\n values: {\n ingress_host: \"test2.xip.io\",\n },\n },\n ],\n roles: [\"project-member\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Multi Cluster App overriding answers\nfoo = rancher2.MultiClusterApp(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n targets=[\n {\n \"project_id\": \"\u003cproject_id1\u003e\",\n },\n {\n \"project_id\": \"\u003cproject_id2\u003e\",\n },\n ],\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n answers=[\n {\n \"values\": {\n \"ingress_host\": \"test.xip.io\",\n },\n },\n {\n \"project_id\": \"\u003cproject_id2\u003e\",\n \"values\": {\n \"ingress_host\": \"test2.xip.io\",\n },\n },\n ],\n roles=[\"project-member\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Multi Cluster App overriding answers\n var foo = new Rancher2.MultiClusterApp(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Targets = new[]\n {\n new Rancher2.Inputs.MultiClusterAppTargetArgs\n {\n ProjectId = \"\u003cproject_id1\u003e\",\n },\n new Rancher2.Inputs.MultiClusterAppTargetArgs\n {\n ProjectId = \"\u003cproject_id2\u003e\",\n },\n },\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n Answers = new[]\n {\n new Rancher2.Inputs.MultiClusterAppAnswerArgs\n {\n Values = \n {\n { \"ingress_host\", \"test.xip.io\" },\n },\n },\n new Rancher2.Inputs.MultiClusterAppAnswerArgs\n {\n ProjectId = \"\u003cproject_id2\u003e\",\n Values = \n {\n { \"ingress_host\", \"test2.xip.io\" },\n },\n },\n },\n Roles = new[]\n {\n \"project-member\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Multi Cluster App overriding answers\n\t\t_, err := rancher2.NewMultiClusterApp(ctx, \"foo\", \u0026rancher2.MultiClusterAppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tTargets: rancher2.MultiClusterAppTargetArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppTargetArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id1\u003e\"),\n\t\t\t\t},\n\t\t\t\t\u0026rancher2.MultiClusterAppTargetArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id2\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tAnswers: rancher2.MultiClusterAppAnswerArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppAnswerArgs{\n\t\t\t\t\tValues: pulumi.StringMap{\n\t\t\t\t\t\t\"ingress_host\": pulumi.String(\"test.xip.io\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026rancher2.MultiClusterAppAnswerArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id2\u003e\"),\n\t\t\t\t\tValues: pulumi.StringMap{\n\t\t\t\t\t\t\"ingress_host\": pulumi.String(\"test2.xip.io\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"project-member\"),\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.rancher2.MultiClusterApp;\nimport com.pulumi.rancher2.MultiClusterAppArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppTargetArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppAnswerArgs;\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 // Create a new rancher2 Multi Cluster App overriding answers\n var foo = new MultiClusterApp(\"foo\", MultiClusterAppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .targets( \n MultiClusterAppTargetArgs.builder()\n .projectId(\"\u003cproject_id1\u003e\")\n .build(),\n MultiClusterAppTargetArgs.builder()\n .projectId(\"\u003cproject_id2\u003e\")\n .build())\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .answers( \n MultiClusterAppAnswerArgs.builder()\n .values(Map.of(\"ingress_host\", \"test.xip.io\"))\n .build(),\n MultiClusterAppAnswerArgs.builder()\n .projectId(\"\u003cproject_id2\u003e\")\n .values(Map.of(\"ingress_host\", \"test2.xip.io\"))\n .build())\n .roles(\"project-member\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Multi Cluster App overriding answers\n foo:\n type: rancher2:MultiClusterApp\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n targets:\n - projectId: \u003cproject_id1\u003e\n - projectId: \u003cproject_id2\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n answers:\n - values:\n ingress_host: test.xip.io\n - projectId: \u003cproject_id2\u003e\n values:\n ingress_host: test2.xip.io\n roles:\n - project-member\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMulti cluster app can be imported using the multi cluster app ID in the format `\u003cmulti_cluster_app_name\u003e`\n\n```sh\n$ pulumi import rancher2:index/multiClusterApp:MultiClusterApp foo \u0026lt;MULTI_CLUSTER_APP_ID\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -27475,7 +27062,7 @@ } }, "rancher2:index/namespace:Namespace": { - "description": "Provides a Rancher v2 Namespace resource. This can be used to create namespaces for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Namespace\nconst foo = new rancher2.Namespace(\"foo\", {\n name: \"foo\",\n projectId: \"\u003cPROJECT_ID\u003e\",\n description: \"foo namespace\",\n resourceQuota: {\n limit: {\n limitsCpu: \"100m\",\n limitsMemory: \"100Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Namespace\nfoo = rancher2.Namespace(\"foo\",\n name=\"foo\",\n project_id=\"\u003cPROJECT_ID\u003e\",\n description=\"foo namespace\",\n resource_quota={\n \"limit\": {\n \"limits_cpu\": \"100m\",\n \"limits_memory\": \"100Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Namespace\n var foo = new Rancher2.Namespace(\"foo\", new()\n {\n Name = \"foo\",\n ProjectId = \"\u003cPROJECT_ID\u003e\",\n Description = \"foo namespace\",\n ResourceQuota = new Rancher2.Inputs.NamespaceResourceQuotaArgs\n {\n Limit = new Rancher2.Inputs.NamespaceResourceQuotaLimitArgs\n {\n LimitsCpu = \"100m\",\n LimitsMemory = \"100Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.NamespaceContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Namespace\n\t\t_, err := rancher2.NewNamespace(ctx, \"foo\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT_ID\u003e\"),\n\t\t\tDescription: pulumi.String(\"foo namespace\"),\n\t\t\tResourceQuota: \u0026rancher2.NamespaceResourceQuotaArgs{\n\t\t\t\tLimit: \u0026rancher2.NamespaceResourceQuotaLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"100m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"100Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.NamespaceContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\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.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaLimitArgs;\nimport com.pulumi.rancher2.inputs.NamespaceContainerResourceLimitArgs;\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 // Create a new rancher2 Namespace\n var foo = new Namespace(\"foo\", NamespaceArgs.builder()\n .name(\"foo\")\n .projectId(\"\u003cPROJECT_ID\u003e\")\n .description(\"foo namespace\")\n .resourceQuota(NamespaceResourceQuotaArgs.builder()\n .limit(NamespaceResourceQuotaLimitArgs.builder()\n .limitsCpu(\"100m\")\n .limitsMemory(\"100Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(NamespaceContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Namespace\n foo:\n type: rancher2:Namespace\n properties:\n name: foo\n projectId: \u003cPROJECT_ID\u003e\n description: foo namespace\n resourceQuota:\n limit:\n limitsCpu: 100m\n limitsMemory: 100Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cluster \nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n// Create a new rancher2 Namespace assigned to default cluster project\nconst foo = new rancher2.Namespace(\"foo\", {\n name: \"foo\",\n projectId: foo_custom.defaultProjectId,\n description: \"foo namespace\",\n resourceQuota: {\n limit: {\n limitsCpu: \"100m\",\n limitsMemory: \"100Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cluster \nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n# Create a new rancher2 Namespace assigned to default cluster project\nfoo = rancher2.Namespace(\"foo\",\n name=\"foo\",\n project_id=foo_custom.default_project_id,\n description=\"foo namespace\",\n resource_quota={\n \"limit\": {\n \"limits_cpu\": \"100m\",\n \"limits_memory\": \"100Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cluster \n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n // Create a new rancher2 Namespace assigned to default cluster project\n var foo = new Rancher2.Namespace(\"foo\", new()\n {\n Name = \"foo\",\n ProjectId = foo_custom.DefaultProjectId,\n Description = \"foo namespace\",\n ResourceQuota = new Rancher2.Inputs.NamespaceResourceQuotaArgs\n {\n Limit = new Rancher2.Inputs.NamespaceResourceQuotaLimitArgs\n {\n LimitsCpu = \"100m\",\n LimitsMemory = \"100Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.NamespaceContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Namespace assigned to default cluster project\n\t\t_, err = rancher2.NewNamespace(ctx, \"foo\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tProjectId: foo_custom.DefaultProjectId,\n\t\t\tDescription: pulumi.String(\"foo namespace\"),\n\t\t\tResourceQuota: \u0026rancher2.NamespaceResourceQuotaArgs{\n\t\t\t\tLimit: \u0026rancher2.NamespaceResourceQuotaLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"100m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"100Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.NamespaceContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\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.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaLimitArgs;\nimport com.pulumi.rancher2.inputs.NamespaceContainerResourceLimitArgs;\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 // Create a new rancher2 Cluster \n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n // Create a new rancher2 Namespace assigned to default cluster project\n var foo = new Namespace(\"foo\", NamespaceArgs.builder()\n .name(\"foo\")\n .projectId(foo_custom.defaultProjectId())\n .description(\"foo namespace\")\n .resourceQuota(NamespaceResourceQuotaArgs.builder()\n .limit(NamespaceResourceQuotaLimitArgs.builder()\n .limitsCpu(\"100m\")\n .limitsMemory(\"100Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(NamespaceContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n # Create a new rancher2 Namespace assigned to default cluster project\n foo:\n type: rancher2:Namespace\n properties:\n name: foo\n projectId: ${[\"foo-custom\"].defaultProjectId}\n description: foo namespace\n resourceQuota:\n limit:\n limitsCpu: 100m\n limitsMemory: 100Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNamespaces can be imported using the namespace ID in the format `\u003cproject_id\u003e.\u003cnamespace_id\u003e`\n\n```sh\n$ pulumi import rancher2:index/namespace:Namespace foo \u0026lt;project_id\u0026gt;.\u0026lt;namespaces_id\u0026gt;\n```\n\n`\u003cproject_id\u003e` is in the format `\u003ccluster_id\u003e:\u003cid\u003e`, but \u003cid\u003e part is optional: \n\n- If full project_id is provided, `\u003cproject_id\u003e=\u003ccluster_id\u003e:\u003cid\u003e`, the namespace'll be assigned to corresponding cluster project once it's imported. \n\n- If `\u003cid\u003e` part is omitted `\u003cproject_id\u003e=\u003ccluster_id\u003e`, the namespace'll not be assigned to any project. To move it into a project, `\u003cproject_id\u003e=\u003ccluster_id\u003e:\u003cid\u003e` needs to be updated in tf file. Namespace movement is only supported inside same `cluster_id`.\n\n", + "description": "Provides a Rancher v2 Namespace resource. This can be used to create namespaces for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Namespace\nconst foo = new rancher2.Namespace(\"foo\", {\n name: \"foo\",\n projectId: \"\u003cPROJECT_ID\u003e\",\n description: \"foo namespace\",\n resourceQuota: {\n limit: {\n limitsCpu: \"100m\",\n limitsMemory: \"100Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Namespace\nfoo = rancher2.Namespace(\"foo\",\n name=\"foo\",\n project_id=\"\u003cPROJECT_ID\u003e\",\n description=\"foo namespace\",\n resource_quota={\n \"limit\": {\n \"limits_cpu\": \"100m\",\n \"limits_memory\": \"100Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Namespace\n var foo = new Rancher2.Namespace(\"foo\", new()\n {\n Name = \"foo\",\n ProjectId = \"\u003cPROJECT_ID\u003e\",\n Description = \"foo namespace\",\n ResourceQuota = new Rancher2.Inputs.NamespaceResourceQuotaArgs\n {\n Limit = new Rancher2.Inputs.NamespaceResourceQuotaLimitArgs\n {\n LimitsCpu = \"100m\",\n LimitsMemory = \"100Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.NamespaceContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Namespace\n\t\t_, err := rancher2.NewNamespace(ctx, \"foo\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT_ID\u003e\"),\n\t\t\tDescription: pulumi.String(\"foo namespace\"),\n\t\t\tResourceQuota: \u0026rancher2.NamespaceResourceQuotaArgs{\n\t\t\t\tLimit: \u0026rancher2.NamespaceResourceQuotaLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"100m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"100Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.NamespaceContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\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.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaLimitArgs;\nimport com.pulumi.rancher2.inputs.NamespaceContainerResourceLimitArgs;\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 // Create a new rancher2 Namespace\n var foo = new Namespace(\"foo\", NamespaceArgs.builder()\n .name(\"foo\")\n .projectId(\"\u003cPROJECT_ID\u003e\")\n .description(\"foo namespace\")\n .resourceQuota(NamespaceResourceQuotaArgs.builder()\n .limit(NamespaceResourceQuotaLimitArgs.builder()\n .limitsCpu(\"100m\")\n .limitsMemory(\"100Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(NamespaceContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Namespace\n foo:\n type: rancher2:Namespace\n properties:\n name: foo\n projectId: \u003cPROJECT_ID\u003e\n description: foo namespace\n resourceQuota:\n limit:\n limitsCpu: 100m\n limitsMemory: 100Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cluster \nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n// Create a new rancher2 Namespace assigned to default cluster project\nconst foo = new rancher2.Namespace(\"foo\", {\n name: \"foo\",\n projectId: foo_custom.defaultProjectId,\n description: \"foo namespace\",\n resourceQuota: {\n limit: {\n limitsCpu: \"100m\",\n limitsMemory: \"100Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cluster \nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n# Create a new rancher2 Namespace assigned to default cluster project\nfoo = rancher2.Namespace(\"foo\",\n name=\"foo\",\n project_id=foo_custom.default_project_id,\n description=\"foo namespace\",\n resource_quota={\n \"limit\": {\n \"limits_cpu\": \"100m\",\n \"limits_memory\": \"100Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cluster \n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n // Create a new rancher2 Namespace assigned to default cluster project\n var foo = new Rancher2.Namespace(\"foo\", new()\n {\n Name = \"foo\",\n ProjectId = foo_custom.DefaultProjectId,\n Description = \"foo namespace\",\n ResourceQuota = new Rancher2.Inputs.NamespaceResourceQuotaArgs\n {\n Limit = new Rancher2.Inputs.NamespaceResourceQuotaLimitArgs\n {\n LimitsCpu = \"100m\",\n LimitsMemory = \"100Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.NamespaceContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Namespace assigned to default cluster project\n\t\t_, err = rancher2.NewNamespace(ctx, \"foo\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tProjectId: foo_custom.DefaultProjectId,\n\t\t\tDescription: pulumi.String(\"foo namespace\"),\n\t\t\tResourceQuota: \u0026rancher2.NamespaceResourceQuotaArgs{\n\t\t\t\tLimit: \u0026rancher2.NamespaceResourceQuotaLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"100m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"100Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.NamespaceContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\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.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaLimitArgs;\nimport com.pulumi.rancher2.inputs.NamespaceContainerResourceLimitArgs;\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 // Create a new rancher2 Cluster \n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n // Create a new rancher2 Namespace assigned to default cluster project\n var foo = new Namespace(\"foo\", NamespaceArgs.builder()\n .name(\"foo\")\n .projectId(foo_custom.defaultProjectId())\n .description(\"foo namespace\")\n .resourceQuota(NamespaceResourceQuotaArgs.builder()\n .limit(NamespaceResourceQuotaLimitArgs.builder()\n .limitsCpu(\"100m\")\n .limitsMemory(\"100Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(NamespaceContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n # Create a new rancher2 Namespace assigned to default cluster project\n foo:\n type: rancher2:Namespace\n properties:\n name: foo\n projectId: ${[\"foo-custom\"].defaultProjectId}\n description: foo namespace\n resourceQuota:\n limit:\n limitsCpu: 100m\n limitsMemory: 100Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNamespaces can be imported using the namespace ID in the format `\u003cproject_id\u003e.\u003cnamespace_id\u003e`\n\n```sh\n$ pulumi import rancher2:index/namespace:Namespace foo \u0026lt;project_id\u0026gt;.\u0026lt;namespaces_id\u0026gt;\n```\n\n`\u003cproject_id\u003e` is in the format `\u003ccluster_id\u003e:\u003cid\u003e`, but \u003cid\u003e part is optional: \n\n- If full project_id is provided, `\u003cproject_id\u003e=\u003ccluster_id\u003e:\u003cid\u003e`, the namespace'll be assigned to corresponding cluster project once it's imported. \n\n- If `\u003cid\u003e` part is omitted `\u003cproject_id\u003e=\u003ccluster_id\u003e`, the namespace'll not be assigned to any project. To move it into a project, `\u003cproject_id\u003e=\u003ccluster_id\u003e:\u003cid\u003e` needs to be updated in tf file. Namespace movement is only supported inside same `cluster_id`.\n\n", "properties": { "annotations": { "type": "object", @@ -27614,7 +27201,7 @@ } }, "rancher2:index/nodeDriver:NodeDriver": { - "description": "Provides a Rancher v2 Node Driver resource. This can be used to create Node Driver for Rancher v2 RKE clusters and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Node Driver\nconst foo = new rancher2.NodeDriver(\"foo\", {\n active: true,\n builtin: false,\n checksum: \"0x0\",\n description: \"Foo description\",\n externalId: \"foo_external\",\n name: \"foo\",\n uiUrl: \"local://ui\",\n url: \"local://\",\n whitelistDomains: [\"*.foo.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Node Driver\nfoo = rancher2.NodeDriver(\"foo\",\n active=True,\n builtin=False,\n checksum=\"0x0\",\n description=\"Foo description\",\n external_id=\"foo_external\",\n name=\"foo\",\n ui_url=\"local://ui\",\n url=\"local://\",\n whitelist_domains=[\"*.foo.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Node Driver\n var foo = new Rancher2.NodeDriver(\"foo\", new()\n {\n Active = true,\n Builtin = false,\n Checksum = \"0x0\",\n Description = \"Foo description\",\n ExternalId = \"foo_external\",\n Name = \"foo\",\n UiUrl = \"local://ui\",\n Url = \"local://\",\n WhitelistDomains = new[]\n {\n \"*.foo.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Node Driver\n\t\t_, err := rancher2.NewNodeDriver(ctx, \"foo\", \u0026rancher2.NodeDriverArgs{\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tBuiltin: pulumi.Bool(false),\n\t\t\tChecksum: pulumi.String(\"0x0\"),\n\t\t\tDescription: pulumi.String(\"Foo description\"),\n\t\t\tExternalId: pulumi.String(\"foo_external\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tUiUrl: pulumi.String(\"local://ui\"),\n\t\t\tUrl: pulumi.String(\"local://\"),\n\t\t\tWhitelistDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*.foo.com\"),\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.rancher2.NodeDriver;\nimport com.pulumi.rancher2.NodeDriverArgs;\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 // Create a new rancher2 Node Driver\n var foo = new NodeDriver(\"foo\", NodeDriverArgs.builder()\n .active(true)\n .builtin(false)\n .checksum(\"0x0\")\n .description(\"Foo description\")\n .externalId(\"foo_external\")\n .name(\"foo\")\n .uiUrl(\"local://ui\")\n .url(\"local://\")\n .whitelistDomains(\"*.foo.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Node Driver\n foo:\n type: rancher2:NodeDriver\n properties:\n active: true\n builtin: false\n checksum: 0x0\n description: Foo description\n externalId: foo_external\n name: foo\n uiUrl: local://ui\n url: local://\n whitelistDomains:\n - '*.foo.com'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNode Driver can be imported using the Rancher Node Driver ID\n\n```sh\n$ pulumi import rancher2:index/nodeDriver:NodeDriver foo \u0026lt;node_driver_id\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Node Driver resource. This can be used to create Node Driver for Rancher v2 RKE clusters and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Node Driver\nconst foo = new rancher2.NodeDriver(\"foo\", {\n active: true,\n builtin: false,\n checksum: \"0x0\",\n description: \"Foo description\",\n externalId: \"foo_external\",\n name: \"foo\",\n uiUrl: \"local://ui\",\n url: \"local://\",\n whitelistDomains: [\"*.foo.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Node Driver\nfoo = rancher2.NodeDriver(\"foo\",\n active=True,\n builtin=False,\n checksum=\"0x0\",\n description=\"Foo description\",\n external_id=\"foo_external\",\n name=\"foo\",\n ui_url=\"local://ui\",\n url=\"local://\",\n whitelist_domains=[\"*.foo.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Node Driver\n var foo = new Rancher2.NodeDriver(\"foo\", new()\n {\n Active = true,\n Builtin = false,\n Checksum = \"0x0\",\n Description = \"Foo description\",\n ExternalId = \"foo_external\",\n Name = \"foo\",\n UiUrl = \"local://ui\",\n Url = \"local://\",\n WhitelistDomains = new[]\n {\n \"*.foo.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Node Driver\n\t\t_, err := rancher2.NewNodeDriver(ctx, \"foo\", \u0026rancher2.NodeDriverArgs{\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tBuiltin: pulumi.Bool(false),\n\t\t\tChecksum: pulumi.String(\"0x0\"),\n\t\t\tDescription: pulumi.String(\"Foo description\"),\n\t\t\tExternalId: pulumi.String(\"foo_external\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tUiUrl: pulumi.String(\"local://ui\"),\n\t\t\tUrl: pulumi.String(\"local://\"),\n\t\t\tWhitelistDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*.foo.com\"),\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.rancher2.NodeDriver;\nimport com.pulumi.rancher2.NodeDriverArgs;\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 // Create a new rancher2 Node Driver\n var foo = new NodeDriver(\"foo\", NodeDriverArgs.builder()\n .active(true)\n .builtin(false)\n .checksum(\"0x0\")\n .description(\"Foo description\")\n .externalId(\"foo_external\")\n .name(\"foo\")\n .uiUrl(\"local://ui\")\n .url(\"local://\")\n .whitelistDomains(\"*.foo.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Node Driver\n foo:\n type: rancher2:NodeDriver\n properties:\n active: true\n builtin: false\n checksum: 0x0\n description: Foo description\n externalId: foo_external\n name: foo\n uiUrl: local://ui\n url: local://\n whitelistDomains:\n - '*.foo.com'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNode Driver can be imported using the Rancher Node Driver ID\n\n```sh\n$ pulumi import rancher2:index/nodeDriver:NodeDriver foo \u0026lt;node_driver_id\u0026gt;\n```\n", "properties": { "active": { "type": "boolean", @@ -28012,7 +27599,7 @@ } }, "rancher2:index/nodeTemplate:NodeTemplate": { - "description": "Provides a Rancher v2 Node Template resource. This can be used to create Node Template for Rancher v2 and retrieve their information.\n\namazonec2, azure, digitalocean, harvester, linode, opennebula, openstack, outscale, hetzner and vsphere drivers are supported for node templates.\n\n**Note:** If you are upgrading to Rancher v2.3.3, please take a look to final section\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Node Template up to Rancher 2.1.x\nconst foo = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2Config: {\n accessKey: \"AWS_ACCESS_KEY\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Node Template up to Rancher 2.1.x\nfoo = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_config={\n \"access_key\": \"AWS_ACCESS_KEY\",\n \"secret_key\": \"\u003cAWS_SECRET_KEY\u003e\",\n \"ami\": \"\u003cAMI_ID\u003e\",\n \"region\": \"\u003cREGION\u003e\",\n \"security_groups\": [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n \"subnet_id\": \"\u003cSUBNET_ID\u003e\",\n \"vpc_id\": \"\u003cVPC_ID\u003e\",\n \"zone\": \"\u003cZONE\u003e\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Node Template up to Rancher 2.1.x\n var foo = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n AccessKey = \"AWS_ACCESS_KEY\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Node Template up to Rancher 2.1.x\n\t\t_, err := rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"AWS_ACCESS_KEY\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\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.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\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 // Create a new rancher2 Node Template up to Rancher 2.1.x\n var foo = new NodeTemplate(\"foo\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .accessKey(\"AWS_ACCESS_KEY\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Node Template up to Rancher 2.1.x\n foo:\n type: rancher2:NodeTemplate\n properties:\n name: foo\n description: foo test\n amazonec2Config:\n accessKey: AWS_ACCESS_KEY\n secretKey: \u003cAWS_SECRET_KEY\u003e\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Node Template from Rancher 2.2.x\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n },\n});\nconst fooNodeTemplate = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n cloudCredentialId: foo.id,\n amazonec2Config: {\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Node Template from Rancher 2.2.x\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config={\n \"access_key\": \"\u003cAWS_ACCESS_KEY\u003e\",\n \"secret_key\": \"\u003cAWS_SECRET_KEY\u003e\",\n })\nfoo_node_template = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n cloud_credential_id=foo.id,\n amazonec2_config={\n \"ami\": \"\u003cAMI_ID\u003e\",\n \"region\": \"\u003cREGION\u003e\",\n \"security_groups\": [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n \"subnet_id\": \"\u003cSUBNET_ID\u003e\",\n \"vpc_id\": \"\u003cVPC_ID\u003e\",\n \"zone\": \"\u003cZONE\u003e\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Node Template from Rancher 2.2.x\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n },\n });\n\n var fooNodeTemplate = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n CloudCredentialId = foo.Id,\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Node Template from Rancher 2.2.x\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tCloudCredentialId: foo.ID(),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\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.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\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 // Create a new rancher2 Node Template from Rancher 2.2.x\n var foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .build())\n .build());\n\n var fooNodeTemplate = new NodeTemplate(\"fooNodeTemplate\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .cloudCredentialId(foo.id())\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Node Template from Rancher 2.2.x\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n fooNodeTemplate:\n type: rancher2:NodeTemplate\n name: foo\n properties:\n name: foo\n description: foo test\n cloudCredentialId: ${foo.id}\n amazonec2Config:\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using the Harvester Node Driver\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Get imported harvester cluster info\nconst foo-harvester = rancher2.getClusterV2({\n name: \"foo-harvester\",\n});\n// Create a new Cloud Credential for an imported Harvester cluster\nconst foo_harvesterCloudCredential = new rancher2.CloudCredential(\"foo-harvester\", {\n name: \"foo-harvester\",\n harvesterCredentialConfig: {\n clusterId: foo_harvester.then(foo_harvester =\u003e foo_harvester.clusterV1Id),\n clusterType: \"imported\",\n kubeconfigContent: foo_harvester.then(foo_harvester =\u003e foo_harvester.kubeConfig),\n },\n});\n// Create a new rancher2 Node Template using harvester node_driver\nconst foo_harvesterNodeTemplate = new rancher2.NodeTemplate(\"foo-harvester\", {\n name: \"foo-harvester\",\n cloudCredentialId: foo_harvesterCloudCredential.id,\n engineInstallUrl: \"https://releases.rancher.com/install-docker/20.10.sh\",\n harvesterConfig: {\n vmNamespace: \"default\",\n cpuCount: \"2\",\n memorySize: \"4\",\n diskInfo: ` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`,\n networkInfo: ` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`,\n sshUser: \"ubuntu\",\n userData: ` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Get imported harvester cluster info\nfoo_harvester = rancher2.get_cluster_v2(name=\"foo-harvester\")\n# Create a new Cloud Credential for an imported Harvester cluster\nfoo_harvester_cloud_credential = rancher2.CloudCredential(\"foo-harvester\",\n name=\"foo-harvester\",\n harvester_credential_config={\n \"cluster_id\": foo_harvester.cluster_v1_id,\n \"cluster_type\": \"imported\",\n \"kubeconfig_content\": foo_harvester.kube_config,\n })\n# Create a new rancher2 Node Template using harvester node_driver\nfoo_harvester_node_template = rancher2.NodeTemplate(\"foo-harvester\",\n name=\"foo-harvester\",\n cloud_credential_id=foo_harvester_cloud_credential.id,\n engine_install_url=\"https://releases.rancher.com/install-docker/20.10.sh\",\n harvester_config={\n \"vm_namespace\": \"default\",\n \"cpu_count\": \"2\",\n \"memory_size\": \"4\",\n \"disk_info\": \"\"\" {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n\"\"\",\n \"network_info\": \"\"\" {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n\"\"\",\n \"ssh_user\": \"ubuntu\",\n \"user_data\": \"\"\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get imported harvester cluster info\n var foo_harvester = Rancher2.GetClusterV2.Invoke(new()\n {\n Name = \"foo-harvester\",\n });\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new Rancher2.CloudCredential(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n HarvesterCredentialConfig = new Rancher2.Inputs.CloudCredentialHarvesterCredentialConfigArgs\n {\n ClusterId = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.ClusterV1Id)),\n ClusterType = \"imported\",\n KubeconfigContent = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.KubeConfig)),\n },\n });\n\n // Create a new rancher2 Node Template using harvester node_driver\n var foo_harvesterNodeTemplate = new Rancher2.NodeTemplate(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n CloudCredentialId = foo_harvesterCloudCredential.Id,\n EngineInstallUrl = \"https://releases.rancher.com/install-docker/20.10.sh\",\n HarvesterConfig = new Rancher2.Inputs.NodeTemplateHarvesterConfigArgs\n {\n VmNamespace = \"default\",\n CpuCount = \"2\",\n MemorySize = \"4\",\n DiskInfo = @\" {\n \"\"disks\"\": [{\n \"\"imageName\"\": \"\"harvester-public/image-57hzg\"\",\n \"\"size\"\": 40,\n \"\"bootOrder\"\": 1\n }]\n }\n\",\n NetworkInfo = @\" {\n \"\"interfaces\"\": [{\n \"\"networkName\"\": \"\"harvester-public/vlan1\"\"\n }]\n }\n\",\n SshUser = \"ubuntu\",\n UserData = @\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get imported harvester cluster info\n\t\tfoo_harvester, err := rancher2.LookupClusterV2(ctx, \u0026rancher2.LookupClusterV2Args{\n\t\t\tName: \"foo-harvester\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Cloud Credential for an imported Harvester cluster\n\t\t_, err = rancher2.NewCloudCredential(ctx, \"foo-harvester\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tHarvesterCredentialConfig: \u0026rancher2.CloudCredentialHarvesterCredentialConfigArgs{\n\t\t\t\tClusterId: pulumi.String(foo_harvester.ClusterV1Id),\n\t\t\t\tClusterType: pulumi.String(\"imported\"),\n\t\t\t\tKubeconfigContent: pulumi.String(foo_harvester.KubeConfig),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Template using harvester node_driver\n\t\t_, err = rancher2.NewNodeTemplate(ctx, \"foo-harvester\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tCloudCredentialId: foo_harvesterCloudCredential.ID(),\n\t\t\tEngineInstallUrl: pulumi.String(\"https://releases.rancher.com/install-docker/20.10.sh\"),\n\t\t\tHarvesterConfig: \u0026rancher2.NodeTemplateHarvesterConfigArgs{\n\t\t\t\tVmNamespace: pulumi.String(\"default\"),\n\t\t\t\tCpuCount: pulumi.String(\"2\"),\n\t\t\t\tMemorySize: pulumi.String(\"4\"),\n\t\t\t\tDiskInfo: pulumi.String(` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`),\n\t\t\t\tNetworkInfo: pulumi.String(` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`),\n\t\t\t\tSshUser: pulumi.String(\"ubuntu\"),\n\t\t\t\tUserData: pulumi.String(` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterV2Args;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialHarvesterCredentialConfigArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateHarvesterConfigArgs;\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 // Get imported harvester cluster info\n final var foo-harvester = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()\n .name(\"foo-harvester\")\n .build());\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new CloudCredential(\"foo-harvesterCloudCredential\", CloudCredentialArgs.builder()\n .name(\"foo-harvester\")\n .harvesterCredentialConfig(CloudCredentialHarvesterCredentialConfigArgs.builder()\n .clusterId(foo_harvester.clusterV1Id())\n .clusterType(\"imported\")\n .kubeconfigContent(foo_harvester.kubeConfig())\n .build())\n .build());\n\n // Create a new rancher2 Node Template using harvester node_driver\n var foo_harvesterNodeTemplate = new NodeTemplate(\"foo-harvesterNodeTemplate\", NodeTemplateArgs.builder()\n .name(\"foo-harvester\")\n .cloudCredentialId(foo_harvesterCloudCredential.id())\n .engineInstallUrl(\"https://releases.rancher.com/install-docker/20.10.sh\")\n .harvesterConfig(NodeTemplateHarvesterConfigArgs.builder()\n .vmNamespace(\"default\")\n .cpuCount(\"2\")\n .memorySize(\"4\")\n .diskInfo(\"\"\"\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n \"\"\")\n .networkInfo(\"\"\"\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n \"\"\")\n .sshUser(\"ubuntu\")\n .userData(\"\"\"\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Cloud Credential for an imported Harvester cluster\n foo-harvesterCloudCredential:\n type: rancher2:CloudCredential\n name: foo-harvester\n properties:\n name: foo-harvester\n harvesterCredentialConfig:\n clusterId: ${[\"foo-harvester\"].clusterV1Id}\n clusterType: imported\n kubeconfigContent: ${[\"foo-harvester\"].kubeConfig}\n # Create a new rancher2 Node Template using harvester node_driver\n foo-harvesterNodeTemplate:\n type: rancher2:NodeTemplate\n name: foo-harvester\n properties:\n name: foo-harvester\n cloudCredentialId: ${[\"foo-harvesterCloudCredential\"].id}\n engineInstallUrl: https://releases.rancher.com/install-docker/20.10.sh\n harvesterConfig:\n vmNamespace: default\n cpuCount: '2'\n memorySize: '4'\n diskInfo: |2\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n networkInfo: |2\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n sshUser: ubuntu\n userData: |2\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\nvariables:\n # Get imported harvester cluster info\n foo-harvester:\n fn::invoke:\n Function: rancher2:getClusterV2\n Arguments:\n name: foo-harvester\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using the Hetzner Node Driver\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Node Template using hetzner node_driver\nconst hetznerNodeDriver = new rancher2.NodeDriver(\"hetzner_node_driver\", {\n active: true,\n builtin: false,\n name: \"Hetzner\",\n uiUrl: \"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\",\n url: \"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\",\n whitelistDomains: [\"storage.googleapis.com\"],\n});\nconst myHetznerNodeTemplate = new rancher2.NodeTemplate(\"my_hetzner_node_template\", {\n name: \"my-hetzner-node-template\",\n driverId: hetznerNodeDriver.id,\n hetznerConfig: {\n apiToken: \"XXXXXXXXXX\",\n image: \"ubuntu-18.04\",\n serverLocation: \"nbg1\",\n serverType: \"cx11\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Node Template using hetzner node_driver\nhetzner_node_driver = rancher2.NodeDriver(\"hetzner_node_driver\",\n active=True,\n builtin=False,\n name=\"Hetzner\",\n ui_url=\"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\",\n url=\"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\",\n whitelist_domains=[\"storage.googleapis.com\"])\nmy_hetzner_node_template = rancher2.NodeTemplate(\"my_hetzner_node_template\",\n name=\"my-hetzner-node-template\",\n driver_id=hetzner_node_driver.id,\n hetzner_config={\n \"api_token\": \"XXXXXXXXXX\",\n \"image\": \"ubuntu-18.04\",\n \"server_location\": \"nbg1\",\n \"server_type\": \"cx11\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Node Template using hetzner node_driver\n var hetznerNodeDriver = new Rancher2.NodeDriver(\"hetzner_node_driver\", new()\n {\n Active = true,\n Builtin = false,\n Name = \"Hetzner\",\n UiUrl = \"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\",\n Url = \"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\",\n WhitelistDomains = new[]\n {\n \"storage.googleapis.com\",\n },\n });\n\n var myHetznerNodeTemplate = new Rancher2.NodeTemplate(\"my_hetzner_node_template\", new()\n {\n Name = \"my-hetzner-node-template\",\n DriverId = hetznerNodeDriver.Id,\n HetznerConfig = new Rancher2.Inputs.NodeTemplateHetznerConfigArgs\n {\n ApiToken = \"XXXXXXXXXX\",\n Image = \"ubuntu-18.04\",\n ServerLocation = \"nbg1\",\n ServerType = \"cx11\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Node Template using hetzner node_driver\n\t\thetznerNodeDriver, err := rancher2.NewNodeDriver(ctx, \"hetzner_node_driver\", \u0026rancher2.NodeDriverArgs{\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tBuiltin: pulumi.Bool(false),\n\t\t\tName: pulumi.String(\"Hetzner\"),\n\t\t\tUiUrl: pulumi.String(\"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\"),\n\t\t\tUrl: pulumi.String(\"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\"),\n\t\t\tWhitelistDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"storage.googleapis.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewNodeTemplate(ctx, \"my_hetzner_node_template\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"my-hetzner-node-template\"),\n\t\t\tDriverId: hetznerNodeDriver.ID(),\n\t\t\tHetznerConfig: \u0026rancher2.NodeTemplateHetznerConfigArgs{\n\t\t\t\tApiToken: pulumi.String(\"XXXXXXXXXX\"),\n\t\t\t\tImage: pulumi.String(\"ubuntu-18.04\"),\n\t\t\t\tServerLocation: pulumi.String(\"nbg1\"),\n\t\t\t\tServerType: pulumi.String(\"cx11\"),\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.rancher2.NodeDriver;\nimport com.pulumi.rancher2.NodeDriverArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateHetznerConfigArgs;\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 // Create a new rancher2 Node Template using hetzner node_driver\n var hetznerNodeDriver = new NodeDriver(\"hetznerNodeDriver\", NodeDriverArgs.builder()\n .active(true)\n .builtin(false)\n .name(\"Hetzner\")\n .uiUrl(\"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\")\n .url(\"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\")\n .whitelistDomains(\"storage.googleapis.com\")\n .build());\n\n var myHetznerNodeTemplate = new NodeTemplate(\"myHetznerNodeTemplate\", NodeTemplateArgs.builder()\n .name(\"my-hetzner-node-template\")\n .driverId(hetznerNodeDriver.id())\n .hetznerConfig(NodeTemplateHetznerConfigArgs.builder()\n .apiToken(\"XXXXXXXXXX\")\n .image(\"ubuntu-18.04\")\n .serverLocation(\"nbg1\")\n .serverType(\"cx11\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Node Template using hetzner node_driver\n hetznerNodeDriver:\n type: rancher2:NodeDriver\n name: hetzner_node_driver\n properties:\n active: true\n builtin: false\n name: Hetzner\n uiUrl: https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\n url: https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\n whitelistDomains:\n - storage.googleapis.com\n myHetznerNodeTemplate:\n type: rancher2:NodeTemplate\n name: my_hetzner_node_template\n properties:\n name: my-hetzner-node-template\n driverId: ${hetznerNodeDriver.id}\n hetznerConfig:\n apiToken: XXXXXXXXXX\n image: ubuntu-18.04\n serverLocation: nbg1\n serverType: cx11\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Upgrading to Rancher v2.3.3\n\n**Important** This process could update `rancher2.NodeTemplate` data on tfstate file. Be sure to save a copy of tfstate file before proceed\n\nDue to [this feature](https://github.com/rancher/rancher/pull/23718) included on Rancher v2.3.3, `rancher2.NodeTemplate` are now global scoped objects with RBAC around them, instead of user scoped objects as they were. This means that existing node templates `id` field is changing on upgrade. Provider implements `fixNodeTemplateID()` that will update tfstate with proper id.\n```\n\n## Import\n\nNode Template can be imported using the Rancher Node Template ID\n\n```sh\n$ pulumi import rancher2:index/nodeTemplate:NodeTemplate foo \u0026lt;node_template_id\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Node Template resource. This can be used to create Node Template for Rancher v2 and retrieve their information.\n\namazonec2, azure, digitalocean, harvester, linode, opennebula, openstack, outscale, hetzner and vsphere drivers are supported for node templates.\n\n**Note:** If you are upgrading to Rancher v2.3.3, please take a look to final section\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Node Template up to Rancher 2.1.x\nconst foo = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2Config: {\n accessKey: \"AWS_ACCESS_KEY\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Node Template up to Rancher 2.1.x\nfoo = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_config={\n \"access_key\": \"AWS_ACCESS_KEY\",\n \"secret_key\": \"\u003cAWS_SECRET_KEY\u003e\",\n \"ami\": \"\u003cAMI_ID\u003e\",\n \"region\": \"\u003cREGION\u003e\",\n \"security_groups\": [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n \"subnet_id\": \"\u003cSUBNET_ID\u003e\",\n \"vpc_id\": \"\u003cVPC_ID\u003e\",\n \"zone\": \"\u003cZONE\u003e\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Node Template up to Rancher 2.1.x\n var foo = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n AccessKey = \"AWS_ACCESS_KEY\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Node Template up to Rancher 2.1.x\n\t\t_, err := rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"AWS_ACCESS_KEY\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\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.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\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 // Create a new rancher2 Node Template up to Rancher 2.1.x\n var foo = new NodeTemplate(\"foo\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .accessKey(\"AWS_ACCESS_KEY\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Node Template up to Rancher 2.1.x\n foo:\n type: rancher2:NodeTemplate\n properties:\n name: foo\n description: foo test\n amazonec2Config:\n accessKey: AWS_ACCESS_KEY\n secretKey: \u003cAWS_SECRET_KEY\u003e\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Node Template from Rancher 2.2.x\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n },\n});\nconst fooNodeTemplate = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n cloudCredentialId: foo.id,\n amazonec2Config: {\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Node Template from Rancher 2.2.x\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config={\n \"access_key\": \"\u003cAWS_ACCESS_KEY\u003e\",\n \"secret_key\": \"\u003cAWS_SECRET_KEY\u003e\",\n })\nfoo_node_template = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n cloud_credential_id=foo.id,\n amazonec2_config={\n \"ami\": \"\u003cAMI_ID\u003e\",\n \"region\": \"\u003cREGION\u003e\",\n \"security_groups\": [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n \"subnet_id\": \"\u003cSUBNET_ID\u003e\",\n \"vpc_id\": \"\u003cVPC_ID\u003e\",\n \"zone\": \"\u003cZONE\u003e\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Node Template from Rancher 2.2.x\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n },\n });\n\n var fooNodeTemplate = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n CloudCredentialId = foo.Id,\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Node Template from Rancher 2.2.x\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tCloudCredentialId: foo.ID(),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\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.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\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 // Create a new rancher2 Node Template from Rancher 2.2.x\n var foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .build())\n .build());\n\n var fooNodeTemplate = new NodeTemplate(\"fooNodeTemplate\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .cloudCredentialId(foo.id())\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Node Template from Rancher 2.2.x\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n fooNodeTemplate:\n type: rancher2:NodeTemplate\n name: foo\n properties:\n name: foo\n description: foo test\n cloudCredentialId: ${foo.id}\n amazonec2Config:\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using the Harvester Node Driver\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Get imported harvester cluster info\nconst foo-harvester = rancher2.getClusterV2({\n name: \"foo-harvester\",\n});\n// Create a new Cloud Credential for an imported Harvester cluster\nconst foo_harvesterCloudCredential = new rancher2.CloudCredential(\"foo-harvester\", {\n name: \"foo-harvester\",\n harvesterCredentialConfig: {\n clusterId: foo_harvester.then(foo_harvester =\u003e foo_harvester.clusterV1Id),\n clusterType: \"imported\",\n kubeconfigContent: foo_harvester.then(foo_harvester =\u003e foo_harvester.kubeConfig),\n },\n});\n// Create a new rancher2 Node Template using harvester node_driver\nconst foo_harvesterNodeTemplate = new rancher2.NodeTemplate(\"foo-harvester\", {\n name: \"foo-harvester\",\n cloudCredentialId: foo_harvesterCloudCredential.id,\n engineInstallUrl: \"https://releases.rancher.com/install-docker/20.10.sh\",\n harvesterConfig: {\n vmNamespace: \"default\",\n cpuCount: \"2\",\n memorySize: \"4\",\n diskInfo: ` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`,\n networkInfo: ` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`,\n sshUser: \"ubuntu\",\n userData: ` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Get imported harvester cluster info\nfoo_harvester = rancher2.get_cluster_v2(name=\"foo-harvester\")\n# Create a new Cloud Credential for an imported Harvester cluster\nfoo_harvester_cloud_credential = rancher2.CloudCredential(\"foo-harvester\",\n name=\"foo-harvester\",\n harvester_credential_config={\n \"cluster_id\": foo_harvester.cluster_v1_id,\n \"cluster_type\": \"imported\",\n \"kubeconfig_content\": foo_harvester.kube_config,\n })\n# Create a new rancher2 Node Template using harvester node_driver\nfoo_harvester_node_template = rancher2.NodeTemplate(\"foo-harvester\",\n name=\"foo-harvester\",\n cloud_credential_id=foo_harvester_cloud_credential.id,\n engine_install_url=\"https://releases.rancher.com/install-docker/20.10.sh\",\n harvester_config={\n \"vm_namespace\": \"default\",\n \"cpu_count\": \"2\",\n \"memory_size\": \"4\",\n \"disk_info\": \"\"\" {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n\"\"\",\n \"network_info\": \"\"\" {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n\"\"\",\n \"ssh_user\": \"ubuntu\",\n \"user_data\": \"\"\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get imported harvester cluster info\n var foo_harvester = Rancher2.GetClusterV2.Invoke(new()\n {\n Name = \"foo-harvester\",\n });\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new Rancher2.CloudCredential(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n HarvesterCredentialConfig = new Rancher2.Inputs.CloudCredentialHarvesterCredentialConfigArgs\n {\n ClusterId = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.ClusterV1Id)),\n ClusterType = \"imported\",\n KubeconfigContent = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.KubeConfig)),\n },\n });\n\n // Create a new rancher2 Node Template using harvester node_driver\n var foo_harvesterNodeTemplate = new Rancher2.NodeTemplate(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n CloudCredentialId = foo_harvesterCloudCredential.Id,\n EngineInstallUrl = \"https://releases.rancher.com/install-docker/20.10.sh\",\n HarvesterConfig = new Rancher2.Inputs.NodeTemplateHarvesterConfigArgs\n {\n VmNamespace = \"default\",\n CpuCount = \"2\",\n MemorySize = \"4\",\n DiskInfo = @\" {\n \"\"disks\"\": [{\n \"\"imageName\"\": \"\"harvester-public/image-57hzg\"\",\n \"\"size\"\": 40,\n \"\"bootOrder\"\": 1\n }]\n }\n\",\n NetworkInfo = @\" {\n \"\"interfaces\"\": [{\n \"\"networkName\"\": \"\"harvester-public/vlan1\"\"\n }]\n }\n\",\n SshUser = \"ubuntu\",\n UserData = @\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get imported harvester cluster info\n\t\tfoo_harvester, err := rancher2.LookupClusterV2(ctx, \u0026rancher2.LookupClusterV2Args{\n\t\t\tName: \"foo-harvester\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Cloud Credential for an imported Harvester cluster\n\t\t_, err = rancher2.NewCloudCredential(ctx, \"foo-harvester\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tHarvesterCredentialConfig: \u0026rancher2.CloudCredentialHarvesterCredentialConfigArgs{\n\t\t\t\tClusterId: pulumi.String(foo_harvester.ClusterV1Id),\n\t\t\t\tClusterType: pulumi.String(\"imported\"),\n\t\t\t\tKubeconfigContent: pulumi.String(foo_harvester.KubeConfig),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Template using harvester node_driver\n\t\t_, err = rancher2.NewNodeTemplate(ctx, \"foo-harvester\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tCloudCredentialId: foo_harvesterCloudCredential.ID(),\n\t\t\tEngineInstallUrl: pulumi.String(\"https://releases.rancher.com/install-docker/20.10.sh\"),\n\t\t\tHarvesterConfig: \u0026rancher2.NodeTemplateHarvesterConfigArgs{\n\t\t\t\tVmNamespace: pulumi.String(\"default\"),\n\t\t\t\tCpuCount: pulumi.String(\"2\"),\n\t\t\t\tMemorySize: pulumi.String(\"4\"),\n\t\t\t\tDiskInfo: pulumi.String(` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`),\n\t\t\t\tNetworkInfo: pulumi.String(` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`),\n\t\t\t\tSshUser: pulumi.String(\"ubuntu\"),\n\t\t\t\tUserData: pulumi.String(` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterV2Args;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialHarvesterCredentialConfigArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateHarvesterConfigArgs;\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 // Get imported harvester cluster info\n final var foo-harvester = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()\n .name(\"foo-harvester\")\n .build());\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new CloudCredential(\"foo-harvesterCloudCredential\", CloudCredentialArgs.builder()\n .name(\"foo-harvester\")\n .harvesterCredentialConfig(CloudCredentialHarvesterCredentialConfigArgs.builder()\n .clusterId(foo_harvester.clusterV1Id())\n .clusterType(\"imported\")\n .kubeconfigContent(foo_harvester.kubeConfig())\n .build())\n .build());\n\n // Create a new rancher2 Node Template using harvester node_driver\n var foo_harvesterNodeTemplate = new NodeTemplate(\"foo-harvesterNodeTemplate\", NodeTemplateArgs.builder()\n .name(\"foo-harvester\")\n .cloudCredentialId(foo_harvesterCloudCredential.id())\n .engineInstallUrl(\"https://releases.rancher.com/install-docker/20.10.sh\")\n .harvesterConfig(NodeTemplateHarvesterConfigArgs.builder()\n .vmNamespace(\"default\")\n .cpuCount(\"2\")\n .memorySize(\"4\")\n .diskInfo(\"\"\"\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n \"\"\")\n .networkInfo(\"\"\"\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n \"\"\")\n .sshUser(\"ubuntu\")\n .userData(\"\"\"\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Cloud Credential for an imported Harvester cluster\n foo-harvesterCloudCredential:\n type: rancher2:CloudCredential\n name: foo-harvester\n properties:\n name: foo-harvester\n harvesterCredentialConfig:\n clusterId: ${[\"foo-harvester\"].clusterV1Id}\n clusterType: imported\n kubeconfigContent: ${[\"foo-harvester\"].kubeConfig}\n # Create a new rancher2 Node Template using harvester node_driver\n foo-harvesterNodeTemplate:\n type: rancher2:NodeTemplate\n name: foo-harvester\n properties:\n name: foo-harvester\n cloudCredentialId: ${[\"foo-harvesterCloudCredential\"].id}\n engineInstallUrl: https://releases.rancher.com/install-docker/20.10.sh\n harvesterConfig:\n vmNamespace: default\n cpuCount: '2'\n memorySize: '4'\n diskInfo: |2\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n networkInfo: |2\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n sshUser: ubuntu\n userData: |2\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\nvariables:\n # Get imported harvester cluster info\n foo-harvester:\n fn::invoke:\n Function: rancher2:getClusterV2\n Arguments:\n name: foo-harvester\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using the Hetzner Node Driver\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Node Template using hetzner node_driver\nconst hetznerNodeDriver = new rancher2.NodeDriver(\"hetzner_node_driver\", {\n active: true,\n builtin: false,\n name: \"Hetzner\",\n uiUrl: \"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\",\n url: \"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\",\n whitelistDomains: [\"storage.googleapis.com\"],\n});\nconst myHetznerNodeTemplate = new rancher2.NodeTemplate(\"my_hetzner_node_template\", {\n name: \"my-hetzner-node-template\",\n driverId: hetznerNodeDriver.id,\n hetznerConfig: {\n apiToken: \"XXXXXXXXXX\",\n image: \"ubuntu-18.04\",\n serverLocation: \"nbg1\",\n serverType: \"cx11\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Node Template using hetzner node_driver\nhetzner_node_driver = rancher2.NodeDriver(\"hetzner_node_driver\",\n active=True,\n builtin=False,\n name=\"Hetzner\",\n ui_url=\"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\",\n url=\"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\",\n whitelist_domains=[\"storage.googleapis.com\"])\nmy_hetzner_node_template = rancher2.NodeTemplate(\"my_hetzner_node_template\",\n name=\"my-hetzner-node-template\",\n driver_id=hetzner_node_driver.id,\n hetzner_config={\n \"api_token\": \"XXXXXXXXXX\",\n \"image\": \"ubuntu-18.04\",\n \"server_location\": \"nbg1\",\n \"server_type\": \"cx11\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Node Template using hetzner node_driver\n var hetznerNodeDriver = new Rancher2.NodeDriver(\"hetzner_node_driver\", new()\n {\n Active = true,\n Builtin = false,\n Name = \"Hetzner\",\n UiUrl = \"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\",\n Url = \"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\",\n WhitelistDomains = new[]\n {\n \"storage.googleapis.com\",\n },\n });\n\n var myHetznerNodeTemplate = new Rancher2.NodeTemplate(\"my_hetzner_node_template\", new()\n {\n Name = \"my-hetzner-node-template\",\n DriverId = hetznerNodeDriver.Id,\n HetznerConfig = new Rancher2.Inputs.NodeTemplateHetznerConfigArgs\n {\n ApiToken = \"XXXXXXXXXX\",\n Image = \"ubuntu-18.04\",\n ServerLocation = \"nbg1\",\n ServerType = \"cx11\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Node Template using hetzner node_driver\n\t\thetznerNodeDriver, err := rancher2.NewNodeDriver(ctx, \"hetzner_node_driver\", \u0026rancher2.NodeDriverArgs{\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tBuiltin: pulumi.Bool(false),\n\t\t\tName: pulumi.String(\"Hetzner\"),\n\t\t\tUiUrl: pulumi.String(\"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\"),\n\t\t\tUrl: pulumi.String(\"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\"),\n\t\t\tWhitelistDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"storage.googleapis.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewNodeTemplate(ctx, \"my_hetzner_node_template\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"my-hetzner-node-template\"),\n\t\t\tDriverId: hetznerNodeDriver.ID(),\n\t\t\tHetznerConfig: \u0026rancher2.NodeTemplateHetznerConfigArgs{\n\t\t\t\tApiToken: pulumi.String(\"XXXXXXXXXX\"),\n\t\t\t\tImage: pulumi.String(\"ubuntu-18.04\"),\n\t\t\t\tServerLocation: pulumi.String(\"nbg1\"),\n\t\t\t\tServerType: pulumi.String(\"cx11\"),\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.rancher2.NodeDriver;\nimport com.pulumi.rancher2.NodeDriverArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateHetznerConfigArgs;\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 // Create a new rancher2 Node Template using hetzner node_driver\n var hetznerNodeDriver = new NodeDriver(\"hetznerNodeDriver\", NodeDriverArgs.builder()\n .active(true)\n .builtin(false)\n .name(\"Hetzner\")\n .uiUrl(\"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\")\n .url(\"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\")\n .whitelistDomains(\"storage.googleapis.com\")\n .build());\n\n var myHetznerNodeTemplate = new NodeTemplate(\"myHetznerNodeTemplate\", NodeTemplateArgs.builder()\n .name(\"my-hetzner-node-template\")\n .driverId(hetznerNodeDriver.id())\n .hetznerConfig(NodeTemplateHetznerConfigArgs.builder()\n .apiToken(\"XXXXXXXXXX\")\n .image(\"ubuntu-18.04\")\n .serverLocation(\"nbg1\")\n .serverType(\"cx11\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Node Template using hetzner node_driver\n hetznerNodeDriver:\n type: rancher2:NodeDriver\n name: hetzner_node_driver\n properties:\n active: true\n builtin: false\n name: Hetzner\n uiUrl: https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\n url: https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\n whitelistDomains:\n - storage.googleapis.com\n myHetznerNodeTemplate:\n type: rancher2:NodeTemplate\n name: my_hetzner_node_template\n properties:\n name: my-hetzner-node-template\n driverId: ${hetznerNodeDriver.id}\n hetznerConfig:\n apiToken: XXXXXXXXXX\n image: ubuntu-18.04\n serverLocation: nbg1\n serverType: cx11\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Upgrading to Rancher v2.3.3\n\n**Important** This process could update `rancher2.NodeTemplate` data on tfstate file. Be sure to save a copy of tfstate file before proceed\n\nDue to [this feature](https://github.com/rancher/rancher/pull/23718) included on Rancher v2.3.3, `rancher2.NodeTemplate` are now global scoped objects with RBAC around them, instead of user scoped objects as they were. This means that existing node templates `id` field is changing on upgrade. Provider implements `fixNodeTemplateID()` that will update tfstate with proper id.\n\n## Import\n\nNode Template can be imported using the Rancher Node Template ID\n\n```sh\n$ pulumi import rancher2:index/nodeTemplate:NodeTemplate foo \u0026lt;node_template_id\u0026gt;\n```\n", "properties": { "amazonec2Config": { "$ref": "#/types/rancher2:index/NodeTemplateAmazonec2Config:NodeTemplateAmazonec2Config", @@ -28556,7 +28143,7 @@ } }, "rancher2:index/project:Project": { - "description": "Provides a Rancher v2 Project resource. This can be used to create projects for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Project\nconst foo = new rancher2.Project(\"foo\", {\n name: \"foo\",\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n resourceQuota: {\n projectLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"2000Mi\",\n requestsStorage: \"2Gi\",\n },\n namespaceDefaultLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"500Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Project\nfoo = rancher2.Project(\"foo\",\n name=\"foo\",\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n resource_quota={\n \"project_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"2000Mi\",\n \"requests_storage\": \"2Gi\",\n },\n \"namespace_default_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"500Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project\n var foo = new Rancher2.Project(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs\n {\n ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"2000Mi\",\n RequestsStorage = \"2Gi\",\n },\n NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"500Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Project\n\t\t_, err := rancher2.NewProject(ctx, \"foo\", \u0026rancher2.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tResourceQuota: \u0026rancher2.ProjectResourceQuotaArgs{\n\t\t\t\tProjectLimit: \u0026rancher2.ProjectResourceQuotaProjectLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"2000Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"2Gi\"),\n\t\t\t\t},\n\t\t\t\tNamespaceDefaultLimit: \u0026rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"500Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.ProjectContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\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.rancher2.Project;\nimport com.pulumi.rancher2.ProjectArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;\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 // Create a new rancher2 Project\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo\")\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .resourceQuota(ProjectResourceQuotaArgs.builder()\n .projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"2000Mi\")\n .requestsStorage(\"2Gi\")\n .build())\n .namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"500Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(ProjectContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project\n foo:\n type: rancher2:Project\n properties:\n name: foo\n clusterId: \u003cCLUSTER_ID\u003e\n resourceQuota:\n projectLimit:\n limitsCpu: 2000m\n limitsMemory: 2000Mi\n requestsStorage: 2Gi\n namespaceDefaultLimit:\n limitsCpu: 2000m\n limitsMemory: 500Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Project\nconst foo = new rancher2.Project(\"foo\", {\n name: \"foo\",\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n resourceQuota: {\n projectLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"2000Mi\",\n requestsStorage: \"2Gi\",\n },\n namespaceDefaultLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"500Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Project\nfoo = rancher2.Project(\"foo\",\n name=\"foo\",\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n resource_quota={\n \"project_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"2000Mi\",\n \"requests_storage\": \"2Gi\",\n },\n \"namespace_default_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"500Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project\n var foo = new Rancher2.Project(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs\n {\n ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"2000Mi\",\n RequestsStorage = \"2Gi\",\n },\n NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"500Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Project\n\t\t_, err := rancher2.NewProject(ctx, \"foo\", \u0026rancher2.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tResourceQuota: \u0026rancher2.ProjectResourceQuotaArgs{\n\t\t\t\tProjectLimit: \u0026rancher2.ProjectResourceQuotaProjectLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"2000Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"2Gi\"),\n\t\t\t\t},\n\t\t\t\tNamespaceDefaultLimit: \u0026rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"500Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.ProjectContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\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.rancher2.Project;\nimport com.pulumi.rancher2.ProjectArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;\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 // Create a new rancher2 Project\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo\")\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .resourceQuota(ProjectResourceQuotaArgs.builder()\n .projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"2000Mi\")\n .requestsStorage(\"2Gi\")\n .build())\n .namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"500Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(ProjectContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project\n foo:\n type: rancher2:Project\n properties:\n name: foo\n clusterId: \u003cCLUSTER_ID\u003e\n resourceQuota:\n projectLimit:\n limitsCpu: 2000m\n limitsMemory: 2000Mi\n requestsStorage: 2Gi\n namespaceDefaultLimit:\n limitsCpu: 2000m\n limitsMemory: 500Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProjects can be imported using the Rancher Project ID\n\n```sh\n$ pulumi import rancher2:index/project:Project foo \u0026lt;project_id\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Project resource. This can be used to create projects for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Project\nconst foo = new rancher2.Project(\"foo\", {\n name: \"foo\",\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n resourceQuota: {\n projectLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"2000Mi\",\n requestsStorage: \"2Gi\",\n },\n namespaceDefaultLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"500Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Project\nfoo = rancher2.Project(\"foo\",\n name=\"foo\",\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n resource_quota={\n \"project_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"2000Mi\",\n \"requests_storage\": \"2Gi\",\n },\n \"namespace_default_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"500Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project\n var foo = new Rancher2.Project(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs\n {\n ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"2000Mi\",\n RequestsStorage = \"2Gi\",\n },\n NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"500Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Project\n\t\t_, err := rancher2.NewProject(ctx, \"foo\", \u0026rancher2.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tResourceQuota: \u0026rancher2.ProjectResourceQuotaArgs{\n\t\t\t\tProjectLimit: \u0026rancher2.ProjectResourceQuotaProjectLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"2000Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"2Gi\"),\n\t\t\t\t},\n\t\t\t\tNamespaceDefaultLimit: \u0026rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"500Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.ProjectContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\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.rancher2.Project;\nimport com.pulumi.rancher2.ProjectArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;\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 // Create a new rancher2 Project\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo\")\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .resourceQuota(ProjectResourceQuotaArgs.builder()\n .projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"2000Mi\")\n .requestsStorage(\"2Gi\")\n .build())\n .namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"500Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(ProjectContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project\n foo:\n type: rancher2:Project\n properties:\n name: foo\n clusterId: \u003cCLUSTER_ID\u003e\n resourceQuota:\n projectLimit:\n limitsCpu: 2000m\n limitsMemory: 2000Mi\n requestsStorage: 2Gi\n namespaceDefaultLimit:\n limitsCpu: 2000m\n limitsMemory: 500Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Project\nconst foo = new rancher2.Project(\"foo\", {\n name: \"foo\",\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n resourceQuota: {\n projectLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"2000Mi\",\n requestsStorage: \"2Gi\",\n },\n namespaceDefaultLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"500Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Project\nfoo = rancher2.Project(\"foo\",\n name=\"foo\",\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n resource_quota={\n \"project_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"2000Mi\",\n \"requests_storage\": \"2Gi\",\n },\n \"namespace_default_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"500Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project\n var foo = new Rancher2.Project(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs\n {\n ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"2000Mi\",\n RequestsStorage = \"2Gi\",\n },\n NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"500Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Project\n\t\t_, err := rancher2.NewProject(ctx, \"foo\", \u0026rancher2.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tResourceQuota: \u0026rancher2.ProjectResourceQuotaArgs{\n\t\t\t\tProjectLimit: \u0026rancher2.ProjectResourceQuotaProjectLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"2000Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"2Gi\"),\n\t\t\t\t},\n\t\t\t\tNamespaceDefaultLimit: \u0026rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"500Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.ProjectContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\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.rancher2.Project;\nimport com.pulumi.rancher2.ProjectArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;\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 // Create a new rancher2 Project\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo\")\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .resourceQuota(ProjectResourceQuotaArgs.builder()\n .projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"2000Mi\")\n .requestsStorage(\"2Gi\")\n .build())\n .namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"500Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(ProjectContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project\n foo:\n type: rancher2:Project\n properties:\n name: foo\n clusterId: \u003cCLUSTER_ID\u003e\n resourceQuota:\n projectLimit:\n limitsCpu: 2000m\n limitsMemory: 2000Mi\n requestsStorage: 2Gi\n namespaceDefaultLimit:\n limitsCpu: 2000m\n limitsMemory: 500Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProjects can be imported using the Rancher Project ID\n\n```sh\n$ pulumi import rancher2:index/project:Project foo \u0026lt;project_id\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -28694,7 +28281,7 @@ } }, "rancher2:index/projectRoleTemplateBinding:ProjectRoleTemplateBinding": { - "description": "Provides a Rancher v2 Project Role Template Binding resource. This can be used to create Project Role Template Bindings for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Project Role Template Binding\nconst foo = new rancher2.ProjectRoleTemplateBinding(\"foo\", {\n name: \"foo\",\n projectId: \"\u003cproject_id\u003e\",\n roleTemplateId: \"\u003crole_template_id\u003e\",\n userId: \"\u003cuser_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Project Role Template Binding\nfoo = rancher2.ProjectRoleTemplateBinding(\"foo\",\n name=\"foo\",\n project_id=\"\u003cproject_id\u003e\",\n role_template_id=\"\u003crole_template_id\u003e\",\n user_id=\"\u003cuser_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project Role Template Binding\n var foo = new Rancher2.ProjectRoleTemplateBinding(\"foo\", new()\n {\n Name = \"foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n RoleTemplateId = \"\u003crole_template_id\u003e\",\n UserId = \"\u003cuser_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Project Role Template Binding\n\t\t_, err := rancher2.NewProjectRoleTemplateBinding(ctx, \"foo\", \u0026rancher2.ProjectRoleTemplateBindingArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tRoleTemplateId: pulumi.String(\"\u003crole_template_id\u003e\"),\n\t\t\tUserId: pulumi.String(\"\u003cuser_id\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.rancher2.ProjectRoleTemplateBinding;\nimport com.pulumi.rancher2.ProjectRoleTemplateBindingArgs;\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 // Create a new rancher2 Project Role Template Binding\n var foo = new ProjectRoleTemplateBinding(\"foo\", ProjectRoleTemplateBindingArgs.builder()\n .name(\"foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .roleTemplateId(\"\u003crole_template_id\u003e\")\n .userId(\"\u003cuser_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project Role Template Binding\n foo:\n type: rancher2:ProjectRoleTemplateBinding\n properties:\n name: foo\n projectId: \u003cproject_id\u003e\n roleTemplateId: \u003crole_template_id\u003e\n userId: \u003cuser_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProject Role Template Bindings can be imported using the Rancher Project Role Template Binding ID\n\n```sh\n$ pulumi import rancher2:index/projectRoleTemplateBinding:ProjectRoleTemplateBinding foo \u0026lt;project_role_template_binding_id\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Project Role Template Binding resource. This can be used to create Project Role Template Bindings for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Project Role Template Binding\nconst foo = new rancher2.ProjectRoleTemplateBinding(\"foo\", {\n name: \"foo\",\n projectId: \"\u003cproject_id\u003e\",\n roleTemplateId: \"\u003crole_template_id\u003e\",\n userId: \"\u003cuser_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Project Role Template Binding\nfoo = rancher2.ProjectRoleTemplateBinding(\"foo\",\n name=\"foo\",\n project_id=\"\u003cproject_id\u003e\",\n role_template_id=\"\u003crole_template_id\u003e\",\n user_id=\"\u003cuser_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project Role Template Binding\n var foo = new Rancher2.ProjectRoleTemplateBinding(\"foo\", new()\n {\n Name = \"foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n RoleTemplateId = \"\u003crole_template_id\u003e\",\n UserId = \"\u003cuser_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Project Role Template Binding\n\t\t_, err := rancher2.NewProjectRoleTemplateBinding(ctx, \"foo\", \u0026rancher2.ProjectRoleTemplateBindingArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tRoleTemplateId: pulumi.String(\"\u003crole_template_id\u003e\"),\n\t\t\tUserId: pulumi.String(\"\u003cuser_id\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.rancher2.ProjectRoleTemplateBinding;\nimport com.pulumi.rancher2.ProjectRoleTemplateBindingArgs;\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 // Create a new rancher2 Project Role Template Binding\n var foo = new ProjectRoleTemplateBinding(\"foo\", ProjectRoleTemplateBindingArgs.builder()\n .name(\"foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .roleTemplateId(\"\u003crole_template_id\u003e\")\n .userId(\"\u003cuser_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project Role Template Binding\n foo:\n type: rancher2:ProjectRoleTemplateBinding\n properties:\n name: foo\n projectId: \u003cproject_id\u003e\n roleTemplateId: \u003crole_template_id\u003e\n userId: \u003cuser_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProject Role Template Bindings can be imported using the Rancher Project Role Template Binding ID\n\n```sh\n$ pulumi import rancher2:index/projectRoleTemplateBinding:ProjectRoleTemplateBinding foo \u0026lt;project_role_template_binding_id\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -28862,7 +28449,7 @@ } }, "rancher2:index/registry:Registry": { - "description": "Provides a Rancher v2 Registry resource. This resource creates Kubernetes secrets with the type `kubernetes.io/dockerconfigjson` for authenticating against Docker registries for Rancher v2 environments and retrieving their information.\n\nDepending on the availability, there are 2 types of Rancher v2 Docker registry resources:\n- Project registry resource: Available to all namespaces in the `project_id`.\n- Namespaced registry resource: Available to `namespace_id` in the `project_id`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Project Registry\nconst foo = new rancher2.Registry(\"foo\", {\n name: \"foo\",\n description: \"Terraform registry foo\",\n projectId: \"\u003cproject_id\u003e\",\n registries: [{\n address: \"test.io\",\n username: \"user\",\n password: \"pass\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Project Registry\nfoo = rancher2.Registry(\"foo\",\n name=\"foo\",\n description=\"Terraform registry foo\",\n project_id=\"\u003cproject_id\u003e\",\n registries=[{\n \"address\": \"test.io\",\n \"username\": \"user\",\n \"password\": \"pass\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project Registry\n var foo = new Rancher2.Registry(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform registry foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n Registries = new[]\n {\n new Rancher2.Inputs.RegistryRegistryArgs\n {\n Address = \"test.io\",\n Username = \"user\",\n Password = \"pass\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Project Registry\n\t\t_, err := rancher2.NewRegistry(ctx, \"foo\", \u0026rancher2.RegistryArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform registry foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tRegistries: rancher2.RegistryRegistryArray{\n\t\t\t\t\u0026rancher2.RegistryRegistryArgs{\n\t\t\t\t\tAddress: pulumi.String(\"test.io\"),\n\t\t\t\t\tUsername: pulumi.String(\"user\"),\n\t\t\t\t\tPassword: pulumi.String(\"pass\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Registry;\nimport com.pulumi.rancher2.RegistryArgs;\nimport com.pulumi.rancher2.inputs.RegistryRegistryArgs;\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 // Create a new rancher2 Project Registry\n var foo = new Registry(\"foo\", RegistryArgs.builder()\n .name(\"foo\")\n .description(\"Terraform registry foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .registries(RegistryRegistryArgs.builder()\n .address(\"test.io\")\n .username(\"user\")\n .password(\"pass\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project Registry\n foo:\n type: rancher2:Registry\n properties:\n name: foo\n description: Terraform registry foo\n projectId: \u003cproject_id\u003e\n registries:\n - address: test.io\n username: user\n password: pass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Namespaced Registry\nconst foo = new rancher2.Registry(\"foo\", {\n name: \"foo\",\n description: \"Terraform registry foo\",\n projectId: \"\u003cproject_id\u003e\",\n namespaceId: \"\u003cnamespace_id\u003e\",\n registries: [{\n address: \"test.io\",\n username: \"user2\",\n password: \"pass\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Namespaced Registry\nfoo = rancher2.Registry(\"foo\",\n name=\"foo\",\n description=\"Terraform registry foo\",\n project_id=\"\u003cproject_id\u003e\",\n namespace_id=\"\u003cnamespace_id\u003e\",\n registries=[{\n \"address\": \"test.io\",\n \"username\": \"user2\",\n \"password\": \"pass\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Namespaced Registry\n var foo = new Rancher2.Registry(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform registry foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n NamespaceId = \"\u003cnamespace_id\u003e\",\n Registries = new[]\n {\n new Rancher2.Inputs.RegistryRegistryArgs\n {\n Address = \"test.io\",\n Username = \"user2\",\n Password = \"pass\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Namespaced Registry\n\t\t_, err := rancher2.NewRegistry(ctx, \"foo\", \u0026rancher2.RegistryArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform registry foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tNamespaceId: pulumi.String(\"\u003cnamespace_id\u003e\"),\n\t\t\tRegistries: rancher2.RegistryRegistryArray{\n\t\t\t\t\u0026rancher2.RegistryRegistryArgs{\n\t\t\t\t\tAddress: pulumi.String(\"test.io\"),\n\t\t\t\t\tUsername: pulumi.String(\"user2\"),\n\t\t\t\t\tPassword: pulumi.String(\"pass\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Registry;\nimport com.pulumi.rancher2.RegistryArgs;\nimport com.pulumi.rancher2.inputs.RegistryRegistryArgs;\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 // Create a new rancher2 Namespaced Registry\n var foo = new Registry(\"foo\", RegistryArgs.builder()\n .name(\"foo\")\n .description(\"Terraform registry foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .namespaceId(\"\u003cnamespace_id\u003e\")\n .registries(RegistryRegistryArgs.builder()\n .address(\"test.io\")\n .username(\"user2\")\n .password(\"pass\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Namespaced Registry\n foo:\n type: rancher2:Registry\n properties:\n name: foo\n description: Terraform registry foo\n projectId: \u003cproject_id\u003e\n namespaceId: \u003cnamespace_id\u003e\n registries:\n - address: test.io\n username: user2\n password: pass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRegistries can be imported using the registry ID in the format `\u003cnamespace_id\u003e.\u003cproject_id\u003e.\u003cregistry_id\u003e`\n\n```sh\n$ pulumi import rancher2:index/registry:Registry foo \u0026lt;namespace_id\u0026gt;.\u0026lt;project_id\u0026gt;.\u0026lt;registry_id\u0026gt;\n```\n`\u003cnamespace_id\u003e` is optional, just needed for namespaced registry.\n\n", + "description": "Provides a Rancher v2 Registry resource. This resource creates Kubernetes secrets with the type `kubernetes.io/dockerconfigjson` for authenticating against Docker registries for Rancher v2 environments and retrieving their information.\n\nDepending on the availability, there are 2 types of Rancher v2 Docker registry resources:\n- Project registry resource: Available to all namespaces in the `project_id`.\n- Namespaced registry resource: Available to `namespace_id` in the `project_id`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Project Registry\nconst foo = new rancher2.Registry(\"foo\", {\n name: \"foo\",\n description: \"Terraform registry foo\",\n projectId: \"\u003cproject_id\u003e\",\n registries: [{\n address: \"test.io\",\n username: \"user\",\n password: \"pass\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Project Registry\nfoo = rancher2.Registry(\"foo\",\n name=\"foo\",\n description=\"Terraform registry foo\",\n project_id=\"\u003cproject_id\u003e\",\n registries=[{\n \"address\": \"test.io\",\n \"username\": \"user\",\n \"password\": \"pass\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project Registry\n var foo = new Rancher2.Registry(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform registry foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n Registries = new[]\n {\n new Rancher2.Inputs.RegistryRegistryArgs\n {\n Address = \"test.io\",\n Username = \"user\",\n Password = \"pass\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Project Registry\n\t\t_, err := rancher2.NewRegistry(ctx, \"foo\", \u0026rancher2.RegistryArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform registry foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tRegistries: rancher2.RegistryRegistryArray{\n\t\t\t\t\u0026rancher2.RegistryRegistryArgs{\n\t\t\t\t\tAddress: pulumi.String(\"test.io\"),\n\t\t\t\t\tUsername: pulumi.String(\"user\"),\n\t\t\t\t\tPassword: pulumi.String(\"pass\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Registry;\nimport com.pulumi.rancher2.RegistryArgs;\nimport com.pulumi.rancher2.inputs.RegistryRegistryArgs;\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 // Create a new rancher2 Project Registry\n var foo = new Registry(\"foo\", RegistryArgs.builder()\n .name(\"foo\")\n .description(\"Terraform registry foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .registries(RegistryRegistryArgs.builder()\n .address(\"test.io\")\n .username(\"user\")\n .password(\"pass\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project Registry\n foo:\n type: rancher2:Registry\n properties:\n name: foo\n description: Terraform registry foo\n projectId: \u003cproject_id\u003e\n registries:\n - address: test.io\n username: user\n password: pass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Namespaced Registry\nconst foo = new rancher2.Registry(\"foo\", {\n name: \"foo\",\n description: \"Terraform registry foo\",\n projectId: \"\u003cproject_id\u003e\",\n namespaceId: \"\u003cnamespace_id\u003e\",\n registries: [{\n address: \"test.io\",\n username: \"user2\",\n password: \"pass\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Namespaced Registry\nfoo = rancher2.Registry(\"foo\",\n name=\"foo\",\n description=\"Terraform registry foo\",\n project_id=\"\u003cproject_id\u003e\",\n namespace_id=\"\u003cnamespace_id\u003e\",\n registries=[{\n \"address\": \"test.io\",\n \"username\": \"user2\",\n \"password\": \"pass\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Namespaced Registry\n var foo = new Rancher2.Registry(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform registry foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n NamespaceId = \"\u003cnamespace_id\u003e\",\n Registries = new[]\n {\n new Rancher2.Inputs.RegistryRegistryArgs\n {\n Address = \"test.io\",\n Username = \"user2\",\n Password = \"pass\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Namespaced Registry\n\t\t_, err := rancher2.NewRegistry(ctx, \"foo\", \u0026rancher2.RegistryArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform registry foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tNamespaceId: pulumi.String(\"\u003cnamespace_id\u003e\"),\n\t\t\tRegistries: rancher2.RegistryRegistryArray{\n\t\t\t\t\u0026rancher2.RegistryRegistryArgs{\n\t\t\t\t\tAddress: pulumi.String(\"test.io\"),\n\t\t\t\t\tUsername: pulumi.String(\"user2\"),\n\t\t\t\t\tPassword: pulumi.String(\"pass\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Registry;\nimport com.pulumi.rancher2.RegistryArgs;\nimport com.pulumi.rancher2.inputs.RegistryRegistryArgs;\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 // Create a new rancher2 Namespaced Registry\n var foo = new Registry(\"foo\", RegistryArgs.builder()\n .name(\"foo\")\n .description(\"Terraform registry foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .namespaceId(\"\u003cnamespace_id\u003e\")\n .registries(RegistryRegistryArgs.builder()\n .address(\"test.io\")\n .username(\"user2\")\n .password(\"pass\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Namespaced Registry\n foo:\n type: rancher2:Registry\n properties:\n name: foo\n description: Terraform registry foo\n projectId: \u003cproject_id\u003e\n namespaceId: \u003cnamespace_id\u003e\n registries:\n - address: test.io\n username: user2\n password: pass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRegistries can be imported using the registry ID in the format `\u003cnamespace_id\u003e.\u003cproject_id\u003e.\u003cregistry_id\u003e`\n\n```sh\n$ pulumi import rancher2:index/registry:Registry foo \u0026lt;namespace_id\u0026gt;.\u0026lt;project_id\u0026gt;.\u0026lt;registry_id\u0026gt;\n```\n`\u003cnamespace_id\u003e` is optional, just needed for namespaced registry.\n\n", "properties": { "annotations": { "type": "object", @@ -29003,7 +28590,7 @@ } }, "rancher2:index/roleTemplate:RoleTemplate": { - "description": "Provides a Rancher v2 Role Template resource. This can be used to create Role Template for Rancher v2 and retrieve their information. \n\n`cluster` and `project` scopes are supported for role templates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 cluster Role Template\nconst foo = new rancher2.RoleTemplate(\"foo\", {\n name: \"foo\",\n context: \"cluster\",\n defaultRole: true,\n description: \"Terraform role template acceptance test\",\n rules: [{\n apiGroups: [\"*\"],\n resources: [\"secrets\"],\n verbs: [\"create\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 cluster Role Template\nfoo = rancher2.RoleTemplate(\"foo\",\n name=\"foo\",\n context=\"cluster\",\n default_role=True,\n description=\"Terraform role template acceptance test\",\n rules=[{\n \"api_groups\": [\"*\"],\n \"resources\": [\"secrets\"],\n \"verbs\": [\"create\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 cluster Role Template\n var foo = new Rancher2.RoleTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Context = \"cluster\",\n DefaultRole = true,\n Description = \"Terraform role template acceptance test\",\n Rules = new[]\n {\n new Rancher2.Inputs.RoleTemplateRuleArgs\n {\n ApiGroups = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"secrets\",\n },\n Verbs = new[]\n {\n \"create\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 cluster Role Template\n\t\t_, err := rancher2.NewRoleTemplate(ctx, \"foo\", \u0026rancher2.RoleTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tContext: pulumi.String(\"cluster\"),\n\t\t\tDefaultRole: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Terraform role template acceptance test\"),\n\t\t\tRules: rancher2.RoleTemplateRuleArray{\n\t\t\t\t\u0026rancher2.RoleTemplateRuleArgs{\n\t\t\t\t\tApiGroups: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secrets\"),\n\t\t\t\t\t},\n\t\t\t\t\tVerbs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"create\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.RoleTemplate;\nimport com.pulumi.rancher2.RoleTemplateArgs;\nimport com.pulumi.rancher2.inputs.RoleTemplateRuleArgs;\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 // Create a new rancher2 cluster Role Template\n var foo = new RoleTemplate(\"foo\", RoleTemplateArgs.builder()\n .name(\"foo\")\n .context(\"cluster\")\n .defaultRole(true)\n .description(\"Terraform role template acceptance test\")\n .rules(RoleTemplateRuleArgs.builder()\n .apiGroups(\"*\")\n .resources(\"secrets\")\n .verbs(\"create\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 cluster Role Template\n foo:\n type: rancher2:RoleTemplate\n properties:\n name: foo\n context: cluster\n defaultRole: true\n description: Terraform role template acceptance test\n rules:\n - apiGroups:\n - '*'\n resources:\n - secrets\n verbs:\n - create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 project Role Template\nconst foo = new rancher2.RoleTemplate(\"foo\", {\n name: \"foo\",\n context: \"project\",\n defaultRole: true,\n description: \"Terraform role template acceptance test\",\n rules: [{\n apiGroups: [\"*\"],\n resources: [\"secrets\"],\n verbs: [\"create\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 project Role Template\nfoo = rancher2.RoleTemplate(\"foo\",\n name=\"foo\",\n context=\"project\",\n default_role=True,\n description=\"Terraform role template acceptance test\",\n rules=[{\n \"api_groups\": [\"*\"],\n \"resources\": [\"secrets\"],\n \"verbs\": [\"create\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 project Role Template\n var foo = new Rancher2.RoleTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Context = \"project\",\n DefaultRole = true,\n Description = \"Terraform role template acceptance test\",\n Rules = new[]\n {\n new Rancher2.Inputs.RoleTemplateRuleArgs\n {\n ApiGroups = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"secrets\",\n },\n Verbs = new[]\n {\n \"create\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 project Role Template\n\t\t_, err := rancher2.NewRoleTemplate(ctx, \"foo\", \u0026rancher2.RoleTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tContext: pulumi.String(\"project\"),\n\t\t\tDefaultRole: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Terraform role template acceptance test\"),\n\t\t\tRules: rancher2.RoleTemplateRuleArray{\n\t\t\t\t\u0026rancher2.RoleTemplateRuleArgs{\n\t\t\t\t\tApiGroups: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secrets\"),\n\t\t\t\t\t},\n\t\t\t\t\tVerbs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"create\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.RoleTemplate;\nimport com.pulumi.rancher2.RoleTemplateArgs;\nimport com.pulumi.rancher2.inputs.RoleTemplateRuleArgs;\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 // Create a new rancher2 project Role Template\n var foo = new RoleTemplate(\"foo\", RoleTemplateArgs.builder()\n .name(\"foo\")\n .context(\"project\")\n .defaultRole(true)\n .description(\"Terraform role template acceptance test\")\n .rules(RoleTemplateRuleArgs.builder()\n .apiGroups(\"*\")\n .resources(\"secrets\")\n .verbs(\"create\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 project Role Template\n foo:\n type: rancher2:RoleTemplate\n properties:\n name: foo\n context: project\n defaultRole: true\n description: Terraform role template acceptance test\n rules:\n - apiGroups:\n - '*'\n resources:\n - secrets\n verbs:\n - create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRole Template can be imported using the Rancher Role Template ID\n\n```sh\n$ pulumi import rancher2:index/roleTemplate:RoleTemplate foo \u0026lt;role_template_id\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Role Template resource. This can be used to create Role Template for Rancher v2 and retrieve their information. \n\n`cluster` and `project` scopes are supported for role templates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 cluster Role Template\nconst foo = new rancher2.RoleTemplate(\"foo\", {\n name: \"foo\",\n context: \"cluster\",\n defaultRole: true,\n description: \"Terraform role template acceptance test\",\n rules: [{\n apiGroups: [\"*\"],\n resources: [\"secrets\"],\n verbs: [\"create\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 cluster Role Template\nfoo = rancher2.RoleTemplate(\"foo\",\n name=\"foo\",\n context=\"cluster\",\n default_role=True,\n description=\"Terraform role template acceptance test\",\n rules=[{\n \"api_groups\": [\"*\"],\n \"resources\": [\"secrets\"],\n \"verbs\": [\"create\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 cluster Role Template\n var foo = new Rancher2.RoleTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Context = \"cluster\",\n DefaultRole = true,\n Description = \"Terraform role template acceptance test\",\n Rules = new[]\n {\n new Rancher2.Inputs.RoleTemplateRuleArgs\n {\n ApiGroups = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"secrets\",\n },\n Verbs = new[]\n {\n \"create\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 cluster Role Template\n\t\t_, err := rancher2.NewRoleTemplate(ctx, \"foo\", \u0026rancher2.RoleTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tContext: pulumi.String(\"cluster\"),\n\t\t\tDefaultRole: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Terraform role template acceptance test\"),\n\t\t\tRules: rancher2.RoleTemplateRuleArray{\n\t\t\t\t\u0026rancher2.RoleTemplateRuleArgs{\n\t\t\t\t\tApiGroups: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secrets\"),\n\t\t\t\t\t},\n\t\t\t\t\tVerbs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"create\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.RoleTemplate;\nimport com.pulumi.rancher2.RoleTemplateArgs;\nimport com.pulumi.rancher2.inputs.RoleTemplateRuleArgs;\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 // Create a new rancher2 cluster Role Template\n var foo = new RoleTemplate(\"foo\", RoleTemplateArgs.builder()\n .name(\"foo\")\n .context(\"cluster\")\n .defaultRole(true)\n .description(\"Terraform role template acceptance test\")\n .rules(RoleTemplateRuleArgs.builder()\n .apiGroups(\"*\")\n .resources(\"secrets\")\n .verbs(\"create\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 cluster Role Template\n foo:\n type: rancher2:RoleTemplate\n properties:\n name: foo\n context: cluster\n defaultRole: true\n description: Terraform role template acceptance test\n rules:\n - apiGroups:\n - '*'\n resources:\n - secrets\n verbs:\n - create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 project Role Template\nconst foo = new rancher2.RoleTemplate(\"foo\", {\n name: \"foo\",\n context: \"project\",\n defaultRole: true,\n description: \"Terraform role template acceptance test\",\n rules: [{\n apiGroups: [\"*\"],\n resources: [\"secrets\"],\n verbs: [\"create\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 project Role Template\nfoo = rancher2.RoleTemplate(\"foo\",\n name=\"foo\",\n context=\"project\",\n default_role=True,\n description=\"Terraform role template acceptance test\",\n rules=[{\n \"api_groups\": [\"*\"],\n \"resources\": [\"secrets\"],\n \"verbs\": [\"create\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 project Role Template\n var foo = new Rancher2.RoleTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Context = \"project\",\n DefaultRole = true,\n Description = \"Terraform role template acceptance test\",\n Rules = new[]\n {\n new Rancher2.Inputs.RoleTemplateRuleArgs\n {\n ApiGroups = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"secrets\",\n },\n Verbs = new[]\n {\n \"create\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 project Role Template\n\t\t_, err := rancher2.NewRoleTemplate(ctx, \"foo\", \u0026rancher2.RoleTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tContext: pulumi.String(\"project\"),\n\t\t\tDefaultRole: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Terraform role template acceptance test\"),\n\t\t\tRules: rancher2.RoleTemplateRuleArray{\n\t\t\t\t\u0026rancher2.RoleTemplateRuleArgs{\n\t\t\t\t\tApiGroups: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secrets\"),\n\t\t\t\t\t},\n\t\t\t\t\tVerbs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"create\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.RoleTemplate;\nimport com.pulumi.rancher2.RoleTemplateArgs;\nimport com.pulumi.rancher2.inputs.RoleTemplateRuleArgs;\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 // Create a new rancher2 project Role Template\n var foo = new RoleTemplate(\"foo\", RoleTemplateArgs.builder()\n .name(\"foo\")\n .context(\"project\")\n .defaultRole(true)\n .description(\"Terraform role template acceptance test\")\n .rules(RoleTemplateRuleArgs.builder()\n .apiGroups(\"*\")\n .resources(\"secrets\")\n .verbs(\"create\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 project Role Template\n foo:\n type: rancher2:RoleTemplate\n properties:\n name: foo\n context: project\n defaultRole: true\n description: Terraform role template acceptance test\n rules:\n - apiGroups:\n - '*'\n resources:\n - secrets\n verbs:\n - create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRole Template can be imported using the Rancher Role Template ID\n\n```sh\n$ pulumi import rancher2:index/roleTemplate:RoleTemplate foo \u0026lt;role_template_id\u0026gt;\n```\n", "properties": { "administrative": { "type": "boolean", @@ -29235,7 +28822,7 @@ } }, "rancher2:index/secret:Secret": { - "description": "Provides a Rancher v2 Secret resource. This can be used to create secrets for Rancher v2 environments and retrieve their information.\n\nDepending of the availability, there are 2 types of Rancher v2 secrets:\n- Project secret: Available to all namespaces in the `project_id`\n- Namespaced secret: Available to just `namespace_id` in the `project_id`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\nimport * as std from \"@pulumi/std\";\n\n// Create a new rancher2 Project Secret\nconst foo = new rancher2.Secret(\"foo\", {\n name: \"foo\",\n description: \"Terraform secret foo\",\n projectId: \"\u003cproject_id\u003e\",\n data: {\n address: std.base64encode({\n input: \"test.io\",\n }).then(invoke =\u003e invoke.result),\n username: std.base64encode({\n input: \"user2\",\n }).then(invoke =\u003e invoke.result),\n password: std.base64encode({\n input: \"pass\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\nimport pulumi_std as std\n\n# Create a new rancher2 Project Secret\nfoo = rancher2.Secret(\"foo\",\n name=\"foo\",\n description=\"Terraform secret foo\",\n project_id=\"\u003cproject_id\u003e\",\n data={\n \"address\": std.base64encode(input=\"test.io\").result,\n \"username\": std.base64encode(input=\"user2\").result,\n \"password\": std.base64encode(input=\"pass\").result,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project Secret\n var foo = new Rancher2.Secret(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform secret foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n Data = \n {\n { \"address\", Std.Base64encode.Invoke(new()\n {\n Input = \"test.io\",\n }).Apply(invoke =\u003e invoke.Result) },\n { \"username\", Std.Base64encode.Invoke(new()\n {\n Input = \"user2\",\n }).Apply(invoke =\u003e invoke.Result) },\n { \"password\", Std.Base64encode.Invoke(new()\n {\n Input = \"pass\",\n }).Apply(invoke =\u003e invoke.Result) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"test.io\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode1, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"user2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode2, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"pass\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Project Secret\n\t\t_, err = rancher2.NewSecret(ctx, \"foo\", \u0026rancher2.SecretArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform secret foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tData: pulumi.StringMap{\n\t\t\t\t\"address\": pulumi.String(invokeBase64encode.Result),\n\t\t\t\t\"username\": pulumi.String(invokeBase64encode1.Result),\n\t\t\t\t\"password\": pulumi.String(invokeBase64encode2.Result),\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.rancher2.Secret;\nimport com.pulumi.rancher2.SecretArgs;\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 // Create a new rancher2 Project Secret\n var foo = new Secret(\"foo\", SecretArgs.builder()\n .name(\"foo\")\n .description(\"Terraform secret foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .data(Map.ofEntries(\n Map.entry(\"address\", StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"test.io\")\n .build()).result()),\n Map.entry(\"username\", StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"user2\")\n .build()).result()),\n Map.entry(\"password\", StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"pass\")\n .build()).result())\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project Secret\n foo:\n type: rancher2:Secret\n properties:\n name: foo\n description: Terraform secret foo\n projectId: \u003cproject_id\u003e\n data:\n address:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: test.io\n Return: result\n username:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: user2\n Return: result\n password:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: pass\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\nimport * as std from \"@pulumi/std\";\n\n// Create a new rancher2 Namespaced Secret\nconst foo = new rancher2.Secret(\"foo\", {\n name: \"foo\",\n description: \"Terraform secret foo\",\n projectId: \"\u003cproject_id\u003e\",\n namespaceId: \"\u003cnamespace_id\u003e\",\n data: {\n address: std.base64encode({\n input: \"test.io\",\n }).then(invoke =\u003e invoke.result),\n username: std.base64encode({\n input: \"user2\",\n }).then(invoke =\u003e invoke.result),\n password: std.base64encode({\n input: \"pass\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\nimport pulumi_std as std\n\n# Create a new rancher2 Namespaced Secret\nfoo = rancher2.Secret(\"foo\",\n name=\"foo\",\n description=\"Terraform secret foo\",\n project_id=\"\u003cproject_id\u003e\",\n namespace_id=\"\u003cnamespace_id\u003e\",\n data={\n \"address\": std.base64encode(input=\"test.io\").result,\n \"username\": std.base64encode(input=\"user2\").result,\n \"password\": std.base64encode(input=\"pass\").result,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Namespaced Secret\n var foo = new Rancher2.Secret(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform secret foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n NamespaceId = \"\u003cnamespace_id\u003e\",\n Data = \n {\n { \"address\", Std.Base64encode.Invoke(new()\n {\n Input = \"test.io\",\n }).Apply(invoke =\u003e invoke.Result) },\n { \"username\", Std.Base64encode.Invoke(new()\n {\n Input = \"user2\",\n }).Apply(invoke =\u003e invoke.Result) },\n { \"password\", Std.Base64encode.Invoke(new()\n {\n Input = \"pass\",\n }).Apply(invoke =\u003e invoke.Result) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"test.io\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode1, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"user2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode2, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"pass\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Namespaced Secret\n\t\t_, err = rancher2.NewSecret(ctx, \"foo\", \u0026rancher2.SecretArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform secret foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tNamespaceId: pulumi.String(\"\u003cnamespace_id\u003e\"),\n\t\t\tData: pulumi.StringMap{\n\t\t\t\t\"address\": pulumi.String(invokeBase64encode.Result),\n\t\t\t\t\"username\": pulumi.String(invokeBase64encode1.Result),\n\t\t\t\t\"password\": pulumi.String(invokeBase64encode2.Result),\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.rancher2.Secret;\nimport com.pulumi.rancher2.SecretArgs;\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 // Create a new rancher2 Namespaced Secret\n var foo = new Secret(\"foo\", SecretArgs.builder()\n .name(\"foo\")\n .description(\"Terraform secret foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .namespaceId(\"\u003cnamespace_id\u003e\")\n .data(Map.ofEntries(\n Map.entry(\"address\", StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"test.io\")\n .build()).result()),\n Map.entry(\"username\", StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"user2\")\n .build()).result()),\n Map.entry(\"password\", StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"pass\")\n .build()).result())\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Namespaced Secret\n foo:\n type: rancher2:Secret\n properties:\n name: foo\n description: Terraform secret foo\n projectId: \u003cproject_id\u003e\n namespaceId: \u003cnamespace_id\u003e\n data:\n address:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: test.io\n Return: result\n username:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: user2\n Return: result\n password:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: pass\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecrets can be imported using the secret ID in the format `\u003cnamespace_id\u003e.\u003cproject_id\u003e.\u003csecret_id\u003e`\n\n```sh\n$ pulumi import rancher2:index/secret:Secret foo \u0026lt;namespace_id\u0026gt;.\u0026lt;project_id\u0026gt;.\u0026lt;secret_id\u0026gt;\n```\n`\u003cnamespace_id\u003e` is optional, just needed for namespaced secret.\n\n", + "description": "Provides a Rancher v2 Secret resource. This can be used to create secrets for Rancher v2 environments and retrieve their information.\n\nDepending of the availability, there are 2 types of Rancher v2 secrets:\n- Project secret: Available to all namespaces in the `project_id`\n- Namespaced secret: Available to just `namespace_id` in the `project_id`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\nimport * as std from \"@pulumi/std\";\n\n// Create a new rancher2 Project Secret\nconst foo = new rancher2.Secret(\"foo\", {\n name: \"foo\",\n description: \"Terraform secret foo\",\n projectId: \"\u003cproject_id\u003e\",\n data: {\n address: std.base64encode({\n input: \"test.io\",\n }).then(invoke =\u003e invoke.result),\n username: std.base64encode({\n input: \"user2\",\n }).then(invoke =\u003e invoke.result),\n password: std.base64encode({\n input: \"pass\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\nimport pulumi_std as std\n\n# Create a new rancher2 Project Secret\nfoo = rancher2.Secret(\"foo\",\n name=\"foo\",\n description=\"Terraform secret foo\",\n project_id=\"\u003cproject_id\u003e\",\n data={\n \"address\": std.base64encode(input=\"test.io\").result,\n \"username\": std.base64encode(input=\"user2\").result,\n \"password\": std.base64encode(input=\"pass\").result,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project Secret\n var foo = new Rancher2.Secret(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform secret foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n Data = \n {\n { \"address\", Std.Base64encode.Invoke(new()\n {\n Input = \"test.io\",\n }).Apply(invoke =\u003e invoke.Result) },\n { \"username\", Std.Base64encode.Invoke(new()\n {\n Input = \"user2\",\n }).Apply(invoke =\u003e invoke.Result) },\n { \"password\", Std.Base64encode.Invoke(new()\n {\n Input = \"pass\",\n }).Apply(invoke =\u003e invoke.Result) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"test.io\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode1, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"user2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode2, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"pass\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Project Secret\n\t\t_, err = rancher2.NewSecret(ctx, \"foo\", \u0026rancher2.SecretArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform secret foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tData: pulumi.StringMap{\n\t\t\t\t\"address\": pulumi.String(invokeBase64encode.Result),\n\t\t\t\t\"username\": pulumi.String(invokeBase64encode1.Result),\n\t\t\t\t\"password\": pulumi.String(invokeBase64encode2.Result),\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.rancher2.Secret;\nimport com.pulumi.rancher2.SecretArgs;\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 // Create a new rancher2 Project Secret\n var foo = new Secret(\"foo\", SecretArgs.builder()\n .name(\"foo\")\n .description(\"Terraform secret foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .data(Map.ofEntries(\n Map.entry(\"address\", StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"test.io\")\n .build()).result()),\n Map.entry(\"username\", StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"user2\")\n .build()).result()),\n Map.entry(\"password\", StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"pass\")\n .build()).result())\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project Secret\n foo:\n type: rancher2:Secret\n properties:\n name: foo\n description: Terraform secret foo\n projectId: \u003cproject_id\u003e\n data:\n address:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: test.io\n Return: result\n username:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: user2\n Return: result\n password:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: pass\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\nimport * as std from \"@pulumi/std\";\n\n// Create a new rancher2 Namespaced Secret\nconst foo = new rancher2.Secret(\"foo\", {\n name: \"foo\",\n description: \"Terraform secret foo\",\n projectId: \"\u003cproject_id\u003e\",\n namespaceId: \"\u003cnamespace_id\u003e\",\n data: {\n address: std.base64encode({\n input: \"test.io\",\n }).then(invoke =\u003e invoke.result),\n username: std.base64encode({\n input: \"user2\",\n }).then(invoke =\u003e invoke.result),\n password: std.base64encode({\n input: \"pass\",\n }).then(invoke =\u003e invoke.result),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\nimport pulumi_std as std\n\n# Create a new rancher2 Namespaced Secret\nfoo = rancher2.Secret(\"foo\",\n name=\"foo\",\n description=\"Terraform secret foo\",\n project_id=\"\u003cproject_id\u003e\",\n namespace_id=\"\u003cnamespace_id\u003e\",\n data={\n \"address\": std.base64encode(input=\"test.io\").result,\n \"username\": std.base64encode(input=\"user2\").result,\n \"password\": std.base64encode(input=\"pass\").result,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Namespaced Secret\n var foo = new Rancher2.Secret(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform secret foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n NamespaceId = \"\u003cnamespace_id\u003e\",\n Data = \n {\n { \"address\", Std.Base64encode.Invoke(new()\n {\n Input = \"test.io\",\n }).Apply(invoke =\u003e invoke.Result) },\n { \"username\", Std.Base64encode.Invoke(new()\n {\n Input = \"user2\",\n }).Apply(invoke =\u003e invoke.Result) },\n { \"password\", Std.Base64encode.Invoke(new()\n {\n Input = \"pass\",\n }).Apply(invoke =\u003e invoke.Result) },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"test.io\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode1, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"user2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode2, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"pass\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Namespaced Secret\n\t\t_, err = rancher2.NewSecret(ctx, \"foo\", \u0026rancher2.SecretArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform secret foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tNamespaceId: pulumi.String(\"\u003cnamespace_id\u003e\"),\n\t\t\tData: pulumi.StringMap{\n\t\t\t\t\"address\": pulumi.String(invokeBase64encode.Result),\n\t\t\t\t\"username\": pulumi.String(invokeBase64encode1.Result),\n\t\t\t\t\"password\": pulumi.String(invokeBase64encode2.Result),\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.rancher2.Secret;\nimport com.pulumi.rancher2.SecretArgs;\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 // Create a new rancher2 Namespaced Secret\n var foo = new Secret(\"foo\", SecretArgs.builder()\n .name(\"foo\")\n .description(\"Terraform secret foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .namespaceId(\"\u003cnamespace_id\u003e\")\n .data(Map.ofEntries(\n Map.entry(\"address\", StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"test.io\")\n .build()).result()),\n Map.entry(\"username\", StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"user2\")\n .build()).result()),\n Map.entry(\"password\", StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"pass\")\n .build()).result())\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Namespaced Secret\n foo:\n type: rancher2:Secret\n properties:\n name: foo\n description: Terraform secret foo\n projectId: \u003cproject_id\u003e\n namespaceId: \u003cnamespace_id\u003e\n data:\n address:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: test.io\n Return: result\n username:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: user2\n Return: result\n password:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: pass\n Return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecrets can be imported using the secret ID in the format `\u003cnamespace_id\u003e.\u003cproject_id\u003e.\u003csecret_id\u003e`\n\n```sh\n$ pulumi import rancher2:index/secret:Secret foo \u0026lt;namespace_id\u0026gt;.\u0026lt;project_id\u0026gt;.\u0026lt;secret_id\u0026gt;\n```\n`\u003cnamespace_id\u003e` is optional, just needed for namespaced secret.\n\n", "properties": { "annotations": { "type": "object", @@ -29542,7 +29129,7 @@ } }, "rancher2:index/setting:Setting": { - "description": "Provides a Rancher v2 Setting resource. This can be used to create settings for Rancher v2 environments and retrieve their information.\n\nOn create, if setting already exists, provider will import it and update its value.\n\nOn destroy, if setting is a system setting like `server-url`, provider'll not delete it from Rancher, it'll just update setting value to default and remove it from tfstate. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Setting\nconst foo = new rancher2.Setting(\"foo\", {\n name: \"foo\",\n value: \"\u003cVALUE\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Setting\nfoo = rancher2.Setting(\"foo\",\n name=\"foo\",\n value=\"\u003cVALUE\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Setting\n var foo = new Rancher2.Setting(\"foo\", new()\n {\n Name = \"foo\",\n Value = \"\u003cVALUE\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Setting\n\t\t_, err := rancher2.NewSetting(ctx, \"foo\", \u0026rancher2.SettingArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tValue: pulumi.String(\"\u003cVALUE\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.rancher2.Setting;\nimport com.pulumi.rancher2.SettingArgs;\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 // Create a new rancher2 Setting\n var foo = new Setting(\"foo\", SettingArgs.builder()\n .name(\"foo\")\n .value(\"\u003cVALUE\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Setting\n foo:\n type: rancher2:Setting\n properties:\n name: foo\n value: \u003cVALUE\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSetting can be imported using the Rancher setting ID.\n\n```sh\n$ pulumi import rancher2:index/setting:Setting foo \u0026lt;setting_id\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Setting resource. This can be used to create settings for Rancher v2 environments and retrieve their information.\n\nOn create, if setting already exists, provider will import it and update its value.\n\nOn destroy, if setting is a system setting like `server-url`, provider'll not delete it from Rancher, it'll just update setting value to default and remove it from tfstate. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Setting\nconst foo = new rancher2.Setting(\"foo\", {\n name: \"foo\",\n value: \"\u003cVALUE\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Setting\nfoo = rancher2.Setting(\"foo\",\n name=\"foo\",\n value=\"\u003cVALUE\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Setting\n var foo = new Rancher2.Setting(\"foo\", new()\n {\n Name = \"foo\",\n Value = \"\u003cVALUE\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Setting\n\t\t_, err := rancher2.NewSetting(ctx, \"foo\", \u0026rancher2.SettingArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tValue: pulumi.String(\"\u003cVALUE\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.rancher2.Setting;\nimport com.pulumi.rancher2.SettingArgs;\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 // Create a new rancher2 Setting\n var foo = new Setting(\"foo\", SettingArgs.builder()\n .name(\"foo\")\n .value(\"\u003cVALUE\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Setting\n foo:\n type: rancher2:Setting\n properties:\n name: foo\n value: \u003cVALUE\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSetting can be imported using the Rancher setting ID.\n\n```sh\n$ pulumi import rancher2:index/setting:Setting foo \u0026lt;setting_id\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -30025,7 +29612,7 @@ } }, "rancher2:index/user:User": { - "description": "Provides a Rancher v2 User resource. This can be used to create Users for Rancher v2 environments and retrieve their information.\n\nWhen a Rancher User is created, it doesn't have a global role binding. At least, `user-base` global role binding in needed in order to enable user login.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 User\nconst foo = new rancher2.User(\"foo\", {\n name: \"Foo user\",\n username: \"foo\",\n password: \"changeme\",\n enabled: true,\n});\n// Create a new rancher2 global_role_binding for User\nconst fooGlobalRoleBinding = new rancher2.GlobalRoleBinding(\"foo\", {\n name: \"foo\",\n globalRoleId: \"user-base\",\n userId: foo.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 User\nfoo = rancher2.User(\"foo\",\n name=\"Foo user\",\n username=\"foo\",\n password=\"changeme\",\n enabled=True)\n# Create a new rancher2 global_role_binding for User\nfoo_global_role_binding = rancher2.GlobalRoleBinding(\"foo\",\n name=\"foo\",\n global_role_id=\"user-base\",\n user_id=foo.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 User\n var foo = new Rancher2.User(\"foo\", new()\n {\n Name = \"Foo user\",\n Username = \"foo\",\n Password = \"changeme\",\n Enabled = true,\n });\n\n // Create a new rancher2 global_role_binding for User\n var fooGlobalRoleBinding = new Rancher2.GlobalRoleBinding(\"foo\", new()\n {\n Name = \"foo\",\n GlobalRoleId = \"user-base\",\n UserId = foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 User\n\t\tfoo, err := rancher2.NewUser(ctx, \"foo\", \u0026rancher2.UserArgs{\n\t\t\tName: pulumi.String(\"Foo user\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"changeme\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 global_role_binding for User\n\t\t_, err = rancher2.NewGlobalRoleBinding(ctx, \"foo\", \u0026rancher2.GlobalRoleBindingArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tGlobalRoleId: pulumi.String(\"user-base\"),\n\t\t\tUserId: foo.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.rancher2.User;\nimport com.pulumi.rancher2.UserArgs;\nimport com.pulumi.rancher2.GlobalRoleBinding;\nimport com.pulumi.rancher2.GlobalRoleBindingArgs;\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 // Create a new rancher2 User\n var foo = new User(\"foo\", UserArgs.builder()\n .name(\"Foo user\")\n .username(\"foo\")\n .password(\"changeme\")\n .enabled(true)\n .build());\n\n // Create a new rancher2 global_role_binding for User\n var fooGlobalRoleBinding = new GlobalRoleBinding(\"fooGlobalRoleBinding\", GlobalRoleBindingArgs.builder()\n .name(\"foo\")\n .globalRoleId(\"user-base\")\n .userId(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 User\n foo:\n type: rancher2:User\n properties:\n name: Foo user\n username: foo\n password: changeme\n enabled: true\n # Create a new rancher2 global_role_binding for User\n fooGlobalRoleBinding:\n type: rancher2:GlobalRoleBinding\n name: foo\n properties:\n name: foo\n globalRoleId: user-base\n userId: ${foo.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsers can be imported using the Rancher User ID\n\n```sh\n$ pulumi import rancher2:index/user:User foo \u0026lt;user_id\u0026gt;\n```\n", + "description": "Provides a Rancher v2 User resource. This can be used to create Users for Rancher v2 environments and retrieve their information.\n\nWhen a Rancher User is created, it doesn't have a global role binding. At least, `user-base` global role binding in needed in order to enable user login.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 User\nconst foo = new rancher2.User(\"foo\", {\n name: \"Foo user\",\n username: \"foo\",\n password: \"changeme\",\n enabled: true,\n mustChangePassword: true,\n});\n// Create a new rancher2 global_role_binding for User\nconst fooGlobalRoleBinding = new rancher2.GlobalRoleBinding(\"foo\", {\n name: \"foo\",\n globalRoleId: \"user-base\",\n userId: foo.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 User\nfoo = rancher2.User(\"foo\",\n name=\"Foo user\",\n username=\"foo\",\n password=\"changeme\",\n enabled=True,\n must_change_password=True)\n# Create a new rancher2 global_role_binding for User\nfoo_global_role_binding = rancher2.GlobalRoleBinding(\"foo\",\n name=\"foo\",\n global_role_id=\"user-base\",\n user_id=foo.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 User\n var foo = new Rancher2.User(\"foo\", new()\n {\n Name = \"Foo user\",\n Username = \"foo\",\n Password = \"changeme\",\n Enabled = true,\n MustChangePassword = true,\n });\n\n // Create a new rancher2 global_role_binding for User\n var fooGlobalRoleBinding = new Rancher2.GlobalRoleBinding(\"foo\", new()\n {\n Name = \"foo\",\n GlobalRoleId = \"user-base\",\n UserId = foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 User\n\t\tfoo, err := rancher2.NewUser(ctx, \"foo\", \u0026rancher2.UserArgs{\n\t\t\tName: pulumi.String(\"Foo user\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"changeme\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tMustChangePassword: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 global_role_binding for User\n\t\t_, err = rancher2.NewGlobalRoleBinding(ctx, \"foo\", \u0026rancher2.GlobalRoleBindingArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tGlobalRoleId: pulumi.String(\"user-base\"),\n\t\t\tUserId: foo.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.rancher2.User;\nimport com.pulumi.rancher2.UserArgs;\nimport com.pulumi.rancher2.GlobalRoleBinding;\nimport com.pulumi.rancher2.GlobalRoleBindingArgs;\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 // Create a new rancher2 User\n var foo = new User(\"foo\", UserArgs.builder()\n .name(\"Foo user\")\n .username(\"foo\")\n .password(\"changeme\")\n .enabled(true)\n .mustChangePassword(true)\n .build());\n\n // Create a new rancher2 global_role_binding for User\n var fooGlobalRoleBinding = new GlobalRoleBinding(\"fooGlobalRoleBinding\", GlobalRoleBindingArgs.builder()\n .name(\"foo\")\n .globalRoleId(\"user-base\")\n .userId(foo.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 User\n foo:\n type: rancher2:User\n properties:\n name: Foo user\n username: foo\n password: changeme\n enabled: true\n mustChangePassword: true\n # Create a new rancher2 global_role_binding for User\n fooGlobalRoleBinding:\n type: rancher2:GlobalRoleBinding\n name: foo\n properties:\n name: foo\n globalRoleId: user-base\n userId: ${foo.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsers can be imported using the Rancher User ID\n\n```sh\n$ pulumi import rancher2:index/user:User foo \u0026lt;user_id\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -30044,6 +29631,10 @@ }, "description": "Labels for global role binding (map)\n" }, + "mustChangePassword": { + "type": "boolean", + "description": "The user must change password at first login (bool)\n" + }, "name": { "type": "string", "description": "The user full name (string)\n" @@ -30091,6 +29682,11 @@ }, "description": "Labels for global role binding (map)\n" }, + "mustChangePassword": { + "type": "boolean", + "description": "The user must change password at first login (bool)\n", + "willReplaceOnChanges": true + }, "name": { "type": "string", "description": "The user full name (string)\n" @@ -30130,6 +29726,11 @@ }, "description": "Labels for global role binding (map)\n" }, + "mustChangePassword": { + "type": "boolean", + "description": "The user must change password at first login (bool)\n", + "willReplaceOnChanges": true + }, "name": { "type": "string", "description": "The user full name (string)\n" @@ -30158,7 +29759,7 @@ }, "functions": { "rancher2:index/getApp:getApp": { - "description": "Use this data source to retrieve information about a Rancher v2 app.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst rancher2 = rancher2.getApp({\n name: \"foo\",\n projectId: \"\u003cproject_id\u003e\",\n targetNamespace: \"\u003cnamespace_name\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nrancher2 = rancher2.get_app(name=\"foo\",\n project_id=\"\u003cproject_id\u003e\",\n target_namespace=\"\u003cnamespace_name\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var rancher2 = Rancher2.GetApp.Invoke(new()\n {\n Name = \"foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n TargetNamespace = \"\u003cnamespace_name\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupApp(ctx, \u0026rancher2.LookupAppArgs{\n\t\t\tName: \"foo\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\n\t\t\tTargetNamespace: pulumi.StringRef(\"\u003cnamespace_name\u003e\"),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetAppArgs;\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 rancher2 = Rancher2Functions.getApp(GetAppArgs.builder()\n .name(\"foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .targetNamespace(\"\u003cnamespace_name\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n rancher2:\n fn::invoke:\n Function: rancher2:getApp\n Arguments:\n name: foo\n projectId: \u003cproject_id\u003e\n targetNamespace: \u003cnamespace_name\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 app.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst rancher2 = rancher2.getApp({\n name: \"foo\",\n projectId: \"\u003cproject_id\u003e\",\n targetNamespace: \"\u003cnamespace_name\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nrancher2 = rancher2.get_app(name=\"foo\",\n project_id=\"\u003cproject_id\u003e\",\n target_namespace=\"\u003cnamespace_name\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var rancher2 = Rancher2.GetApp.Invoke(new()\n {\n Name = \"foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n TargetNamespace = \"\u003cnamespace_name\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupApp(ctx, \u0026rancher2.LookupAppArgs{\n\t\t\tName: \"foo\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\n\t\t\tTargetNamespace: pulumi.StringRef(\"\u003cnamespace_name\u003e\"),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetAppArgs;\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 rancher2 = Rancher2Functions.getApp(GetAppArgs.builder()\n .name(\"foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .targetNamespace(\"\u003cnamespace_name\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n rancher2:\n fn::invoke:\n Function: rancher2:getApp\n Arguments:\n name: foo\n projectId: \u003cproject_id\u003e\n targetNamespace: \u003cnamespace_name\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getApp.\n", "properties": { @@ -30274,7 +29875,7 @@ } }, "rancher2:index/getCatalog:getCatalog": { - "description": "Use this data source to retrieve information about a Rancher v2 catalog.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst library = rancher2.getCatalog({\n name: \"catalog\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nlibrary = rancher2.get_catalog(name=\"catalog\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var library = Rancher2.GetCatalog.Invoke(new()\n {\n Name = \"catalog\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupCatalog(ctx, \u0026rancher2.LookupCatalogArgs{\n\t\t\tName: \"catalog\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetCatalogArgs;\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 library = Rancher2Functions.getCatalog(GetCatalogArgs.builder()\n .name(\"catalog\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n library:\n fn::invoke:\n Function: rancher2:getCatalog\n Arguments:\n name: catalog\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 catalog.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst library = rancher2.getCatalog({\n name: \"catalog\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nlibrary = rancher2.get_catalog(name=\"catalog\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var library = Rancher2.GetCatalog.Invoke(new()\n {\n Name = \"catalog\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupCatalog(ctx, \u0026rancher2.LookupCatalogArgs{\n\t\t\tName: \"catalog\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetCatalogArgs;\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 library = Rancher2Functions.getCatalog(GetCatalogArgs.builder()\n .name(\"catalog\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n library:\n fn::invoke:\n Function: rancher2:getCatalog\n Arguments:\n name: catalog\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCatalog.\n", "properties": { @@ -30517,7 +30118,7 @@ } }, "rancher2:index/getCertificate:getCertificate": { - "description": "Use this data source to retrieve information about a Rancher v2 certificate.\n\nDepending of the availability, there are 2 types of Rancher v2 certificates:\n- Project certificate: Available to all namespaces in the `project_id`\n- Namespaced certificate: Available to just `namespace_id` in the `project_id`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Retrieve a rancher2 Project Certificate\nconst foo = rancher2.getCertificate({\n name: \"\u003cname\u003e\",\n projectId: \"\u003cproject_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Retrieve a rancher2 Project Certificate\nfoo = rancher2.get_certificate(name=\"\u003cname\u003e\",\n project_id=\"\u003cproject_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Retrieve a rancher2 Project Certificate\n var foo = Rancher2.GetCertificate.Invoke(new()\n {\n Name = \"\u003cname\u003e\",\n ProjectId = \"\u003cproject_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve a rancher2 Project Certificate\n\t\t_, err := rancher2.LookupCertificate(ctx, \u0026rancher2.LookupCertificateArgs{\n\t\t\tName: \"\u003cname\u003e\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetCertificateArgs;\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 // Retrieve a rancher2 Project Certificate\n final var foo = Rancher2Functions.getCertificate(GetCertificateArgs.builder()\n .name(\"\u003cname\u003e\")\n .projectId(\"\u003cproject_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Retrieve a rancher2 Project Certificate\n foo:\n fn::invoke:\n Function: rancher2:getCertificate\n Arguments:\n name: \u003cname\u003e\n projectId: \u003cproject_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Retrieve a rancher2 Namespaced Certificate\nconst foo = rancher2.getCertificate({\n name: \"\u003cname\u003e\",\n projectId: \"\u003cproject_id\u003e\",\n namespaceId: \"\u003cnamespace_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Retrieve a rancher2 Namespaced Certificate\nfoo = rancher2.get_certificate(name=\"\u003cname\u003e\",\n project_id=\"\u003cproject_id\u003e\",\n namespace_id=\"\u003cnamespace_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Retrieve a rancher2 Namespaced Certificate\n var foo = Rancher2.GetCertificate.Invoke(new()\n {\n Name = \"\u003cname\u003e\",\n ProjectId = \"\u003cproject_id\u003e\",\n NamespaceId = \"\u003cnamespace_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve a rancher2 Namespaced Certificate\n\t\t_, err := rancher2.LookupCertificate(ctx, \u0026rancher2.LookupCertificateArgs{\n\t\t\tName: \"\u003cname\u003e\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\n\t\t\tNamespaceId: pulumi.StringRef(\"\u003cnamespace_id\u003e\"),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetCertificateArgs;\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 // Retrieve a rancher2 Namespaced Certificate\n final var foo = Rancher2Functions.getCertificate(GetCertificateArgs.builder()\n .name(\"\u003cname\u003e\")\n .projectId(\"\u003cproject_id\u003e\")\n .namespaceId(\"\u003cnamespace_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Retrieve a rancher2 Namespaced Certificate\n foo:\n fn::invoke:\n Function: rancher2:getCertificate\n Arguments:\n name: \u003cname\u003e\n projectId: \u003cproject_id\u003e\n namespaceId: \u003cnamespace_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 certificate.\n\nDepending of the availability, there are 2 types of Rancher v2 certificates:\n- Project certificate: Available to all namespaces in the `project_id`\n- Namespaced certificate: Available to just `namespace_id` in the `project_id`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Retrieve a rancher2 Project Certificate\nconst foo = rancher2.getCertificate({\n name: \"\u003cname\u003e\",\n projectId: \"\u003cproject_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Retrieve a rancher2 Project Certificate\nfoo = rancher2.get_certificate(name=\"\u003cname\u003e\",\n project_id=\"\u003cproject_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Retrieve a rancher2 Project Certificate\n var foo = Rancher2.GetCertificate.Invoke(new()\n {\n Name = \"\u003cname\u003e\",\n ProjectId = \"\u003cproject_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve a rancher2 Project Certificate\n\t\t_, err := rancher2.LookupCertificate(ctx, \u0026rancher2.LookupCertificateArgs{\n\t\t\tName: \"\u003cname\u003e\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetCertificateArgs;\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 // Retrieve a rancher2 Project Certificate\n final var foo = Rancher2Functions.getCertificate(GetCertificateArgs.builder()\n .name(\"\u003cname\u003e\")\n .projectId(\"\u003cproject_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Retrieve a rancher2 Project Certificate\n foo:\n fn::invoke:\n Function: rancher2:getCertificate\n Arguments:\n name: \u003cname\u003e\n projectId: \u003cproject_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Retrieve a rancher2 Namespaced Certificate\nconst foo = rancher2.getCertificate({\n name: \"\u003cname\u003e\",\n projectId: \"\u003cproject_id\u003e\",\n namespaceId: \"\u003cnamespace_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Retrieve a rancher2 Namespaced Certificate\nfoo = rancher2.get_certificate(name=\"\u003cname\u003e\",\n project_id=\"\u003cproject_id\u003e\",\n namespace_id=\"\u003cnamespace_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Retrieve a rancher2 Namespaced Certificate\n var foo = Rancher2.GetCertificate.Invoke(new()\n {\n Name = \"\u003cname\u003e\",\n ProjectId = \"\u003cproject_id\u003e\",\n NamespaceId = \"\u003cnamespace_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve a rancher2 Namespaced Certificate\n\t\t_, err := rancher2.LookupCertificate(ctx, \u0026rancher2.LookupCertificateArgs{\n\t\t\tName: \"\u003cname\u003e\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\n\t\t\tNamespaceId: pulumi.StringRef(\"\u003cnamespace_id\u003e\"),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetCertificateArgs;\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 // Retrieve a rancher2 Namespaced Certificate\n final var foo = Rancher2Functions.getCertificate(GetCertificateArgs.builder()\n .name(\"\u003cname\u003e\")\n .projectId(\"\u003cproject_id\u003e\")\n .namespaceId(\"\u003cnamespace_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Retrieve a rancher2 Namespaced Certificate\n foo:\n fn::invoke:\n Function: rancher2:getCertificate\n Arguments:\n name: \u003cname\u003e\n projectId: \u003cproject_id\u003e\n namespaceId: \u003cnamespace_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCertificate.\n", "properties": { @@ -30592,7 +30193,7 @@ } }, "rancher2:index/getCloudCredential:getCloudCredential": { - "description": "Use this data source to retrieve information about a Rancher v2 Cloud Credential.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst test = rancher2.getCloudCredential({\n name: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\ntest = rancher2.get_cloud_credential(name=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Rancher2.GetCloudCredential.Invoke(new()\n {\n Name = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupCloudCredential(ctx, \u0026rancher2.LookupCloudCredentialArgs{\n\t\t\tName: \"test\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetCloudCredentialArgs;\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 test = Rancher2Functions.getCloudCredential(GetCloudCredentialArgs.builder()\n .name(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: rancher2:getCloudCredential\n Arguments:\n name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 Cloud Credential.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst test = rancher2.getCloudCredential({\n name: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\ntest = rancher2.get_cloud_credential(name=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Rancher2.GetCloudCredential.Invoke(new()\n {\n Name = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupCloudCredential(ctx, \u0026rancher2.LookupCloudCredentialArgs{\n\t\t\tName: \"test\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetCloudCredentialArgs;\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 test = Rancher2Functions.getCloudCredential(GetCloudCredentialArgs.builder()\n .name(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: rancher2:getCloudCredential\n Arguments:\n name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCloudCredential.\n", "properties": { @@ -30641,7 +30242,7 @@ } }, "rancher2:index/getCluster:getCluster": { - "description": "Use this data source to retrieve information about a Rancher v2 cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo-custom = rancher2.getCluster({\n name: \"foo-custom\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo_custom = rancher2.get_cluster(name=\"foo-custom\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo_custom = Rancher2.GetCluster.Invoke(new()\n {\n Name = \"foo-custom\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupCluster(ctx, \u0026rancher2.LookupClusterArgs{\n\t\t\tName: \"foo-custom\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterArgs;\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 foo-custom = Rancher2Functions.getCluster(GetClusterArgs.builder()\n .name(\"foo-custom\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo-custom:\n fn::invoke:\n Function: rancher2:getCluster\n Arguments:\n name: foo-custom\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo-custom = rancher2.getCluster({\n name: \"foo-custom\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo_custom = rancher2.get_cluster(name=\"foo-custom\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo_custom = Rancher2.GetCluster.Invoke(new()\n {\n Name = \"foo-custom\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupCluster(ctx, \u0026rancher2.LookupClusterArgs{\n\t\t\tName: \"foo-custom\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterArgs;\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 foo-custom = Rancher2Functions.getCluster(GetClusterArgs.builder()\n .name(\"foo-custom\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo-custom:\n fn::invoke:\n Function: rancher2:getCluster\n Arguments:\n name: foo-custom\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCluster.\n", "properties": { @@ -30829,7 +30430,7 @@ } }, "rancher2:index/getClusterDriver:getClusterDriver": { - "description": "Use this data source to retrieve information about a Rancher v2 Cluster Driver resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getClusterDriver({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_cluster_driver(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetClusterDriver.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupClusterDriver(ctx, \u0026rancher2.LookupClusterDriverArgs{\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterDriverArgs;\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 foo = Rancher2Functions.getClusterDriver(GetClusterDriverArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getClusterDriver\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 Cluster Driver resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getClusterDriver({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_cluster_driver(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetClusterDriver.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupClusterDriver(ctx, \u0026rancher2.LookupClusterDriverArgs{\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterDriverArgs;\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 foo = Rancher2Functions.getClusterDriver(GetClusterDriverArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getClusterDriver\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getClusterDriver.\n", "properties": { @@ -30919,7 +30520,7 @@ } }, "rancher2:index/getClusterRoleTemplateBinding:getClusterRoleTemplateBinding": { - "description": "Use this data source to retrieve information about a Rancher v2 cluster role template binding.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getClusterRoleTemplateBinding({\n name: \"foo\",\n clusterId: \"foo_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_cluster_role_template_binding(name=\"foo\",\n cluster_id=\"foo_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetClusterRoleTemplateBinding.Invoke(new()\n {\n Name = \"foo\",\n ClusterId = \"foo_id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupClusterRoleTemplateBinding(ctx, \u0026rancher2.LookupClusterRoleTemplateBindingArgs{\n\t\t\tName: \"foo\",\n\t\t\tClusterId: \"foo_id\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterRoleTemplateBindingArgs;\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 foo = Rancher2Functions.getClusterRoleTemplateBinding(GetClusterRoleTemplateBindingArgs.builder()\n .name(\"foo\")\n .clusterId(\"foo_id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getClusterRoleTemplateBinding\n Arguments:\n name: foo\n clusterId: foo_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 cluster role template binding.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getClusterRoleTemplateBinding({\n name: \"foo\",\n clusterId: \"foo_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_cluster_role_template_binding(name=\"foo\",\n cluster_id=\"foo_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetClusterRoleTemplateBinding.Invoke(new()\n {\n Name = \"foo\",\n ClusterId = \"foo_id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupClusterRoleTemplateBinding(ctx, \u0026rancher2.LookupClusterRoleTemplateBindingArgs{\n\t\t\tName: \"foo\",\n\t\t\tClusterId: \"foo_id\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterRoleTemplateBindingArgs;\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 foo = Rancher2Functions.getClusterRoleTemplateBinding(GetClusterRoleTemplateBindingArgs.builder()\n .name(\"foo\")\n .clusterId(\"foo_id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getClusterRoleTemplateBinding\n Arguments:\n name: foo\n clusterId: foo_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getClusterRoleTemplateBinding.\n", "properties": { @@ -31005,7 +30606,7 @@ } }, "rancher2:index/getClusterTemplate:getClusterTemplate": { - "description": "Use this data source to retrieve information about a Rancher v2 cluster template.\n\nCluster Templates are available from Rancher v2.3.x and above.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getClusterTemplate({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_cluster_template(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetClusterTemplate.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupClusterTemplate(ctx, \u0026rancher2.LookupClusterTemplateArgs{\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterTemplateArgs;\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 foo = Rancher2Functions.getClusterTemplate(GetClusterTemplateArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getClusterTemplate\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 cluster template.\n\nCluster Templates are available from Rancher v2.3.x and above.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getClusterTemplate({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_cluster_template(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetClusterTemplate.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupClusterTemplate(ctx, \u0026rancher2.LookupClusterTemplateArgs{\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterTemplateArgs;\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 foo = Rancher2Functions.getClusterTemplate(GetClusterTemplateArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getClusterTemplate\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getClusterTemplate.\n", "properties": { @@ -31096,7 +30697,7 @@ } }, "rancher2:index/getClusterV2:getClusterV2": { - "description": "Use this data source to retrieve information about a Rancher v2 cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getClusterV2({\n name: \"foo\",\n fleetNamespace: \"fleet-ns\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_cluster_v2(name=\"foo\",\n fleet_namespace=\"fleet-ns\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetClusterV2.Invoke(new()\n {\n Name = \"foo\",\n FleetNamespace = \"fleet-ns\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupClusterV2(ctx, \u0026rancher2.LookupClusterV2Args{\n\t\t\tName: \"foo\",\n\t\t\tFleetNamespace: pulumi.StringRef(\"fleet-ns\"),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterV2Args;\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 foo = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()\n .name(\"foo\")\n .fleetNamespace(\"fleet-ns\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getClusterV2\n Arguments:\n name: foo\n fleetNamespace: fleet-ns\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getClusterV2({\n name: \"foo\",\n fleetNamespace: \"fleet-ns\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_cluster_v2(name=\"foo\",\n fleet_namespace=\"fleet-ns\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetClusterV2.Invoke(new()\n {\n Name = \"foo\",\n FleetNamespace = \"fleet-ns\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupClusterV2(ctx, \u0026rancher2.LookupClusterV2Args{\n\t\t\tName: \"foo\",\n\t\t\tFleetNamespace: pulumi.StringRef(\"fleet-ns\"),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterV2Args;\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 foo = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()\n .name(\"foo\")\n .fleetNamespace(\"fleet-ns\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getClusterV2\n Arguments:\n name: foo\n fleetNamespace: fleet-ns\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getClusterV2.\n", "properties": { @@ -31293,7 +30894,7 @@ } }, "rancher2:index/getEtcdBackup:getEtcdBackup": { - "description": "Use this data source to retrieve information about a Rancher v2 etcd backup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getEtcdBackup({\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_etcd_backup(cluster_id=\"\u003cCLUSTER_ID\u003e\",\n name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetEtcdBackup.Invoke(new()\n {\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupEtcdBackup(ctx, \u0026rancher2.LookupEtcdBackupArgs{\n\t\t\tClusterId: \"\u003cCLUSTER_ID\u003e\",\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetEtcdBackupArgs;\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 foo = Rancher2Functions.getEtcdBackup(GetEtcdBackupArgs.builder()\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getEtcdBackup\n Arguments:\n clusterId: \u003cCLUSTER_ID\u003e\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 etcd backup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getEtcdBackup({\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_etcd_backup(cluster_id=\"\u003cCLUSTER_ID\u003e\",\n name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetEtcdBackup.Invoke(new()\n {\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupEtcdBackup(ctx, \u0026rancher2.LookupEtcdBackupArgs{\n\t\t\tClusterId: \"\u003cCLUSTER_ID\u003e\",\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetEtcdBackupArgs;\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 foo = Rancher2Functions.getEtcdBackup(GetEtcdBackupArgs.builder()\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getEtcdBackup\n Arguments:\n clusterId: \u003cCLUSTER_ID\u003e\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getEtcdBackup.\n", "properties": { @@ -31370,78 +30971,8 @@ "type": "object" } }, - "rancher2:index/getGlobalDnsProvider:getGlobalDnsProvider": { - "description": "Provides a Rancher V2 Global DNS Provider data source. Use this data source to retrieve information about a Rancher v2 global DNS provider\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getGlobalDnsProvider({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_global_dns_provider(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetGlobalDnsProvider.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupGlobalDnsProvider(ctx, \u0026rancher2.LookupGlobalDnsProviderArgs{\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetGlobalDnsProviderArgs;\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 foo = Rancher2Functions.getGlobalDnsProvider(GetGlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getGlobalDnsProvider\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", - "inputs": { - "description": "A collection of arguments for invoking getGlobalDnsProvider.\n", - "properties": { - "name": { - "type": "string", - "description": "The name of the global DNS provider (string)\n" - } - }, - "type": "object", - "required": [ - "name" - ] - }, - "outputs": { - "description": "A collection of values returned by getGlobalDnsProvider.\n", - "properties": { - "alidnsConfig": { - "$ref": "#/types/rancher2:index/getGlobalDnsProviderAlidnsConfig:getGlobalDnsProviderAlidnsConfig" - }, - "annotations": { - "additionalProperties": { - "type": "string" - }, - "description": "(Computed) Annotations of the resource (map)\n", - "type": "object" - }, - "cloudflareConfig": { - "$ref": "#/types/rancher2:index/getGlobalDnsProviderCloudflareConfig:getGlobalDnsProviderCloudflareConfig" - }, - "dnsProvider": { - "type": "string" - }, - "id": { - "description": "The provider-assigned unique ID for this managed resource.\n", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "(Computed) Labels of the resource (map)\n", - "type": "object" - }, - "name": { - "description": "(Computed) The name of the global DNS provider (string)\n", - "type": "string" - }, - "rootDomain": { - "type": "string" - }, - "route53Config": { - "$ref": "#/types/rancher2:index/getGlobalDnsProviderRoute53Config:getGlobalDnsProviderRoute53Config" - } - }, - "required": [ - "alidnsConfig", - "annotations", - "cloudflareConfig", - "dnsProvider", - "labels", - "name", - "rootDomain", - "route53Config", - "id" - ], - "type": "object" - } - }, "rancher2:index/getGlobalRole:getGlobalRole": { - "description": "Use this data source to retrieve information about a Rancher v2 global role resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getGlobalRole({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_global_role(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetGlobalRole.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupGlobalRole(ctx, \u0026rancher2.LookupGlobalRoleArgs{\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetGlobalRoleArgs;\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 foo = Rancher2Functions.getGlobalRole(GetGlobalRoleArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getGlobalRole\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 global role resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getGlobalRole({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_global_role(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetGlobalRole.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupGlobalRole(ctx, \u0026rancher2.LookupGlobalRoleArgs{\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetGlobalRoleArgs;\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 foo = Rancher2Functions.getGlobalRole(GetGlobalRoleArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getGlobalRole\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGlobalRole.\n", "properties": { @@ -31527,7 +31058,7 @@ } }, "rancher2:index/getGlobalRoleBinding:getGlobalRoleBinding": { - "description": "Use this data source to retrieve information about a Rancher v2 global role binding.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getGlobalRoleBinding({\n name: \"foo\",\n globalRoleId: \"foo_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_global_role_binding(name=\"foo\",\n global_role_id=\"foo_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetGlobalRoleBinding.Invoke(new()\n {\n Name = \"foo\",\n GlobalRoleId = \"foo_id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupGlobalRoleBinding(ctx, \u0026rancher2.LookupGlobalRoleBindingArgs{\n\t\t\tName: \"foo\",\n\t\t\tGlobalRoleId: pulumi.StringRef(\"foo_id\"),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetGlobalRoleBindingArgs;\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 foo = Rancher2Functions.getGlobalRoleBinding(GetGlobalRoleBindingArgs.builder()\n .name(\"foo\")\n .globalRoleId(\"foo_id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getGlobalRoleBinding\n Arguments:\n name: foo\n globalRoleId: foo_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 global role binding.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getGlobalRoleBinding({\n name: \"foo\",\n globalRoleId: \"foo_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_global_role_binding(name=\"foo\",\n global_role_id=\"foo_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetGlobalRoleBinding.Invoke(new()\n {\n Name = \"foo\",\n GlobalRoleId = \"foo_id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupGlobalRoleBinding(ctx, \u0026rancher2.LookupGlobalRoleBindingArgs{\n\t\t\tName: \"foo\",\n\t\t\tGlobalRoleId: pulumi.StringRef(\"foo_id\"),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetGlobalRoleBindingArgs;\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 foo = Rancher2Functions.getGlobalRoleBinding(GetGlobalRoleBindingArgs.builder()\n .name(\"foo\")\n .globalRoleId(\"foo_id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getGlobalRoleBinding\n Arguments:\n name: foo\n globalRoleId: foo_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGlobalRoleBinding.\n", "properties": { @@ -31594,7 +31125,7 @@ } }, "rancher2:index/getMultiClusterApp:getMultiClusterApp": { - "description": "Use this data source to retrieve information about a Rancher v2 multi cluster app.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getMultiClusterApp({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_multi_cluster_app(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetMultiClusterApp.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupMultiClusterApp(ctx, \u0026rancher2.LookupMultiClusterAppArgs{\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetMultiClusterAppArgs;\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 foo = Rancher2Functions.getMultiClusterApp(GetMultiClusterAppArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getMultiClusterApp\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 multi cluster app.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getMultiClusterApp({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_multi_cluster_app(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetMultiClusterApp.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupMultiClusterApp(ctx, \u0026rancher2.LookupMultiClusterAppArgs{\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetMultiClusterAppArgs;\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 foo = Rancher2Functions.getMultiClusterApp(GetMultiClusterAppArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getMultiClusterApp\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getMultiClusterApp.\n", "properties": { @@ -31713,7 +31244,7 @@ } }, "rancher2:index/getNamespace:getNamespace": { - "description": "Use this data source to retrieve information about a Rancher v2 namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getNamespace({\n name: \"foo\",\n projectId: foo_custom.defaultProjectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_namespace(name=\"foo\",\n project_id=foo_custom[\"defaultProjectId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetNamespace.Invoke(new()\n {\n Name = \"foo\",\n ProjectId = foo_custom.DefaultProjectId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupNamespace(ctx, \u0026rancher2.LookupNamespaceArgs{\n\t\t\tName: \"foo\",\n\t\t\tProjectId: foo_custom.DefaultProjectId,\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Rancher2Functions.getNamespace(GetNamespaceArgs.builder()\n .name(\"foo\")\n .projectId(foo_custom.defaultProjectId())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getNamespace\n Arguments:\n name: foo\n projectId: ${[\"foo-custom\"].defaultProjectId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getNamespace({\n name: \"foo\",\n projectId: foo_custom.defaultProjectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_namespace(name=\"foo\",\n project_id=foo_custom[\"defaultProjectId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetNamespace.Invoke(new()\n {\n Name = \"foo\",\n ProjectId = foo_custom.DefaultProjectId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupNamespace(ctx, \u0026rancher2.LookupNamespaceArgs{\n\t\t\tName: \"foo\",\n\t\t\tProjectId: foo_custom.DefaultProjectId,\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Rancher2Functions.getNamespace(GetNamespaceArgs.builder()\n .name(\"foo\")\n .projectId(foo_custom.defaultProjectId())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getNamespace\n Arguments:\n name: foo\n projectId: ${[\"foo-custom\"].defaultProjectId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getNamespace.\n", "properties": { @@ -31786,7 +31317,7 @@ } }, "rancher2:index/getNodeDriver:getNodeDriver": { - "description": "Use this data source to retrieve information about a Rancher v2 Node Driver resource. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getNodeDriver({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_node_driver(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetNodeDriver.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupNodeDriver(ctx, \u0026rancher2.LookupNodeDriverArgs{\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetNodeDriverArgs;\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 foo = Rancher2Functions.getNodeDriver(GetNodeDriverArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getNodeDriver\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 Node Driver resource. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getNodeDriver({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_node_driver(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetNodeDriver.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupNodeDriver(ctx, \u0026rancher2.LookupNodeDriverArgs{\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetNodeDriverArgs;\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 foo = Rancher2Functions.getNodeDriver(GetNodeDriverArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getNodeDriver\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getNodeDriver.\n", "properties": { @@ -31881,7 +31412,7 @@ } }, "rancher2:index/getNodePool:getNodePool": { - "description": "Use this data source to retrieve information about a Rancher v2 Node Pool resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getNodePool({\n clusterId: foo_custom.id,\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_node_pool(cluster_id=foo_custom[\"id\"],\n name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetNodePool.Invoke(new()\n {\n ClusterId = foo_custom.Id,\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupNodePool(ctx, \u0026rancher2.LookupNodePoolArgs{\n\t\t\tClusterId: foo_custom.Id,\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetNodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Rancher2Functions.getNodePool(GetNodePoolArgs.builder()\n .clusterId(foo_custom.id())\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getNodePool\n Arguments:\n clusterId: ${[\"foo-custom\"].id}\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 Node Pool resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getNodePool({\n clusterId: foo_custom.id,\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_node_pool(cluster_id=foo_custom[\"id\"],\n name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetNodePool.Invoke(new()\n {\n ClusterId = foo_custom.Id,\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupNodePool(ctx, \u0026rancher2.LookupNodePoolArgs{\n\t\t\tClusterId: foo_custom.Id,\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetNodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = Rancher2Functions.getNodePool(GetNodePoolArgs.builder()\n .clusterId(foo_custom.id())\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getNodePool\n Arguments:\n clusterId: ${[\"foo-custom\"].id}\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getNodePool.\n", "properties": { @@ -31985,7 +31516,7 @@ } }, "rancher2:index/getNodeTemplate:getNodeTemplate": { - "description": "Use this data source to retrieve information about a Rancher v2 Node Template resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getNodeTemplate({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_node_template(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetNodeTemplate.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupNodeTemplate(ctx, \u0026rancher2.LookupNodeTemplateArgs{\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetNodeTemplateArgs;\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 foo = Rancher2Functions.getNodeTemplate(GetNodeTemplateArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getNodeTemplate\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 Node Template resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getNodeTemplate({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_node_template(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetNodeTemplate.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupNodeTemplate(ctx, \u0026rancher2.LookupNodeTemplateArgs{\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetNodeTemplateArgs;\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 foo = Rancher2Functions.getNodeTemplate(GetNodeTemplateArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getNodeTemplate\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getNodeTemplate.\n", "properties": { @@ -32184,7 +31715,7 @@ } }, "rancher2:index/getPrincipal:getPrincipal": { - "description": "Use this data source to retrieve information about a Rancher v2 Principal resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getPrincipal({\n name: \"user@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_principal(name=\"user@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetPrincipal.Invoke(new()\n {\n Name = \"user@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.GetPrincipal(ctx, \u0026rancher2.GetPrincipalArgs{\n\t\t\tName: \"user@example.com\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetPrincipalArgs;\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 foo = Rancher2Functions.getPrincipal(GetPrincipalArgs.builder()\n .name(\"user@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getPrincipal\n Arguments:\n name: user@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 Principal resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getPrincipal({\n name: \"user@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_principal(name=\"user@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetPrincipal.Invoke(new()\n {\n Name = \"user@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.GetPrincipal(ctx, \u0026rancher2.GetPrincipalArgs{\n\t\t\tName: \"user@example.com\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetPrincipalArgs;\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 foo = Rancher2Functions.getPrincipal(GetPrincipalArgs.builder()\n .name(\"user@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getPrincipal\n Arguments:\n name: user@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPrincipal.\n", "properties": { @@ -32302,7 +31833,7 @@ } }, "rancher2:index/getProjectRoleTemplateBinding:getProjectRoleTemplateBinding": { - "description": "Use this data source to retrieve information about a Rancher v2 project role template binding.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getProjectRoleTemplateBinding({\n name: \"foo\",\n projectId: \"foo_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_project_role_template_binding(name=\"foo\",\n project_id=\"foo_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetProjectRoleTemplateBinding.Invoke(new()\n {\n Name = \"foo\",\n ProjectId = \"foo_id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupProjectRoleTemplateBinding(ctx, \u0026rancher2.LookupProjectRoleTemplateBindingArgs{\n\t\t\tName: \"foo\",\n\t\t\tProjectId: \"foo_id\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetProjectRoleTemplateBindingArgs;\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 foo = Rancher2Functions.getProjectRoleTemplateBinding(GetProjectRoleTemplateBindingArgs.builder()\n .name(\"foo\")\n .projectId(\"foo_id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getProjectRoleTemplateBinding\n Arguments:\n name: foo\n projectId: foo_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 project role template binding.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getProjectRoleTemplateBinding({\n name: \"foo\",\n projectId: \"foo_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_project_role_template_binding(name=\"foo\",\n project_id=\"foo_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetProjectRoleTemplateBinding.Invoke(new()\n {\n Name = \"foo\",\n ProjectId = \"foo_id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupProjectRoleTemplateBinding(ctx, \u0026rancher2.LookupProjectRoleTemplateBindingArgs{\n\t\t\tName: \"foo\",\n\t\t\tProjectId: \"foo_id\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetProjectRoleTemplateBindingArgs;\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 foo = Rancher2Functions.getProjectRoleTemplateBinding(GetProjectRoleTemplateBindingArgs.builder()\n .name(\"foo\")\n .projectId(\"foo_id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getProjectRoleTemplateBinding\n Arguments:\n name: foo\n projectId: foo_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProjectRoleTemplateBinding.\n", "properties": { @@ -32388,7 +31919,7 @@ } }, "rancher2:index/getRegistry:getRegistry": { - "description": "Use this data source to retrieve information about a Rancher v2 docker registry.\n\nDepending of the availability, there are 2 types of Rancher v2 docker registries:\n- Project registry: Available to all namespaces in the `project_id`\n- Namespaced registry: Available to just `namespace_id` in the `project_id`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Retrieve a rancher2 Project Registry\nconst foo = rancher2.getRegistry({\n name: \"\u003cname\u003e\",\n projectId: \"\u003cproject_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Retrieve a rancher2 Project Registry\nfoo = rancher2.get_registry(name=\"\u003cname\u003e\",\n project_id=\"\u003cproject_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Retrieve a rancher2 Project Registry\n var foo = Rancher2.GetRegistry.Invoke(new()\n {\n Name = \"\u003cname\u003e\",\n ProjectId = \"\u003cproject_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve a rancher2 Project Registry\n\t\t_, err := rancher2.LookupRegistry(ctx, \u0026rancher2.LookupRegistryArgs{\n\t\t\tName: \"\u003cname\u003e\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetRegistryArgs;\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 // Retrieve a rancher2 Project Registry\n final var foo = Rancher2Functions.getRegistry(GetRegistryArgs.builder()\n .name(\"\u003cname\u003e\")\n .projectId(\"\u003cproject_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Retrieve a rancher2 Project Registry\n foo:\n fn::invoke:\n Function: rancher2:getRegistry\n Arguments:\n name: \u003cname\u003e\n projectId: \u003cproject_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Retrieve a rancher2 Namespaced Registry\nconst foo = rancher2.getRegistry({\n name: \"\u003cname\u003e\",\n projectId: \"\u003cproject_id\u003e\",\n namespaceId: \"\u003cnamespace_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Retrieve a rancher2 Namespaced Registry\nfoo = rancher2.get_registry(name=\"\u003cname\u003e\",\n project_id=\"\u003cproject_id\u003e\",\n namespace_id=\"\u003cnamespace_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Retrieve a rancher2 Namespaced Registry\n var foo = Rancher2.GetRegistry.Invoke(new()\n {\n Name = \"\u003cname\u003e\",\n ProjectId = \"\u003cproject_id\u003e\",\n NamespaceId = \"\u003cnamespace_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve a rancher2 Namespaced Registry\n\t\t_, err := rancher2.LookupRegistry(ctx, \u0026rancher2.LookupRegistryArgs{\n\t\t\tName: \"\u003cname\u003e\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\n\t\t\tNamespaceId: pulumi.StringRef(\"\u003cnamespace_id\u003e\"),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetRegistryArgs;\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 // Retrieve a rancher2 Namespaced Registry\n final var foo = Rancher2Functions.getRegistry(GetRegistryArgs.builder()\n .name(\"\u003cname\u003e\")\n .projectId(\"\u003cproject_id\u003e\")\n .namespaceId(\"\u003cnamespace_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Retrieve a rancher2 Namespaced Registry\n foo:\n fn::invoke:\n Function: rancher2:getRegistry\n Arguments:\n name: \u003cname\u003e\n projectId: \u003cproject_id\u003e\n namespaceId: \u003cnamespace_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 docker registry.\n\nDepending of the availability, there are 2 types of Rancher v2 docker registries:\n- Project registry: Available to all namespaces in the `project_id`\n- Namespaced registry: Available to just `namespace_id` in the `project_id`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Retrieve a rancher2 Project Registry\nconst foo = rancher2.getRegistry({\n name: \"\u003cname\u003e\",\n projectId: \"\u003cproject_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Retrieve a rancher2 Project Registry\nfoo = rancher2.get_registry(name=\"\u003cname\u003e\",\n project_id=\"\u003cproject_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Retrieve a rancher2 Project Registry\n var foo = Rancher2.GetRegistry.Invoke(new()\n {\n Name = \"\u003cname\u003e\",\n ProjectId = \"\u003cproject_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve a rancher2 Project Registry\n\t\t_, err := rancher2.LookupRegistry(ctx, \u0026rancher2.LookupRegistryArgs{\n\t\t\tName: \"\u003cname\u003e\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetRegistryArgs;\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 // Retrieve a rancher2 Project Registry\n final var foo = Rancher2Functions.getRegistry(GetRegistryArgs.builder()\n .name(\"\u003cname\u003e\")\n .projectId(\"\u003cproject_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Retrieve a rancher2 Project Registry\n foo:\n fn::invoke:\n Function: rancher2:getRegistry\n Arguments:\n name: \u003cname\u003e\n projectId: \u003cproject_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Retrieve a rancher2 Namespaced Registry\nconst foo = rancher2.getRegistry({\n name: \"\u003cname\u003e\",\n projectId: \"\u003cproject_id\u003e\",\n namespaceId: \"\u003cnamespace_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Retrieve a rancher2 Namespaced Registry\nfoo = rancher2.get_registry(name=\"\u003cname\u003e\",\n project_id=\"\u003cproject_id\u003e\",\n namespace_id=\"\u003cnamespace_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Retrieve a rancher2 Namespaced Registry\n var foo = Rancher2.GetRegistry.Invoke(new()\n {\n Name = \"\u003cname\u003e\",\n ProjectId = \"\u003cproject_id\u003e\",\n NamespaceId = \"\u003cnamespace_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve a rancher2 Namespaced Registry\n\t\t_, err := rancher2.LookupRegistry(ctx, \u0026rancher2.LookupRegistryArgs{\n\t\t\tName: \"\u003cname\u003e\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\n\t\t\tNamespaceId: pulumi.StringRef(\"\u003cnamespace_id\u003e\"),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetRegistryArgs;\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 // Retrieve a rancher2 Namespaced Registry\n final var foo = Rancher2Functions.getRegistry(GetRegistryArgs.builder()\n .name(\"\u003cname\u003e\")\n .projectId(\"\u003cproject_id\u003e\")\n .namespaceId(\"\u003cnamespace_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Retrieve a rancher2 Namespaced Registry\n foo:\n fn::invoke:\n Function: rancher2:getRegistry\n Arguments:\n name: \u003cname\u003e\n projectId: \u003cproject_id\u003e\n namespaceId: \u003cnamespace_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRegistry.\n", "properties": { @@ -32466,7 +31997,7 @@ } }, "rancher2:index/getRoleTemplate:getRoleTemplate": { - "description": "Use this data source to retrieve information about a Rancher v2 role template resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getRoleTemplate({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_role_template(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetRoleTemplate.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupRoleTemplate(ctx, \u0026rancher2.LookupRoleTemplateArgs{\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetRoleTemplateArgs;\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 foo = Rancher2Functions.getRoleTemplate(GetRoleTemplateArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getRoleTemplate\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 role template resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getRoleTemplate({\n name: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_role_template(name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetRoleTemplate.Invoke(new()\n {\n Name = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupRoleTemplate(ctx, \u0026rancher2.LookupRoleTemplateArgs{\n\t\t\tName: \"foo\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetRoleTemplateArgs;\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 foo = Rancher2Functions.getRoleTemplate(GetRoleTemplateArgs.builder()\n .name(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getRoleTemplate\n Arguments:\n name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRoleTemplate.\n", "properties": { @@ -32589,7 +32120,7 @@ } }, "rancher2:index/getSecret:getSecret": { - "description": "Use this data source to retrieve information about a Rancher v2 secret.\n\nDepending of the availability, there are 2 types of Rancher v2 secrets:\n- Project secret: Available to all namespaces in the `project_id`\n- Namespaced secret: Available to just `namespace_id` in the `project_id`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Retrieve a rancher2 Project Secret\nconst foo = rancher2.getSecret({\n name: \"\u003cname\u003e\",\n projectId: \"\u003cproject_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Retrieve a rancher2 Project Secret\nfoo = rancher2.get_secret(name=\"\u003cname\u003e\",\n project_id=\"\u003cproject_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Retrieve a rancher2 Project Secret\n var foo = Rancher2.GetSecret.Invoke(new()\n {\n Name = \"\u003cname\u003e\",\n ProjectId = \"\u003cproject_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve a rancher2 Project Secret\n\t\t_, err := rancher2.LookupSecret(ctx, \u0026rancher2.LookupSecretArgs{\n\t\t\tName: \"\u003cname\u003e\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetSecretArgs;\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 // Retrieve a rancher2 Project Secret\n final var foo = Rancher2Functions.getSecret(GetSecretArgs.builder()\n .name(\"\u003cname\u003e\")\n .projectId(\"\u003cproject_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Retrieve a rancher2 Project Secret\n foo:\n fn::invoke:\n Function: rancher2:getSecret\n Arguments:\n name: \u003cname\u003e\n projectId: \u003cproject_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Retrieve a rancher2 Namespaced Secret\nconst foo = rancher2.getSecret({\n name: \"\u003cname\u003e\",\n projectId: \"\u003cproject_id\u003e\",\n namespaceId: \"\u003cnamespace_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Retrieve a rancher2 Namespaced Secret\nfoo = rancher2.get_secret(name=\"\u003cname\u003e\",\n project_id=\"\u003cproject_id\u003e\",\n namespace_id=\"\u003cnamespace_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Retrieve a rancher2 Namespaced Secret\n var foo = Rancher2.GetSecret.Invoke(new()\n {\n Name = \"\u003cname\u003e\",\n ProjectId = \"\u003cproject_id\u003e\",\n NamespaceId = \"\u003cnamespace_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve a rancher2 Namespaced Secret\n\t\t_, err := rancher2.LookupSecret(ctx, \u0026rancher2.LookupSecretArgs{\n\t\t\tName: \"\u003cname\u003e\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\n\t\t\tNamespaceId: pulumi.StringRef(\"\u003cnamespace_id\u003e\"),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetSecretArgs;\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 // Retrieve a rancher2 Namespaced Secret\n final var foo = Rancher2Functions.getSecret(GetSecretArgs.builder()\n .name(\"\u003cname\u003e\")\n .projectId(\"\u003cproject_id\u003e\")\n .namespaceId(\"\u003cnamespace_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Retrieve a rancher2 Namespaced Secret\n foo:\n fn::invoke:\n Function: rancher2:getSecret\n Arguments:\n name: \u003cname\u003e\n projectId: \u003cproject_id\u003e\n namespaceId: \u003cnamespace_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 secret.\n\nDepending of the availability, there are 2 types of Rancher v2 secrets:\n- Project secret: Available to all namespaces in the `project_id`\n- Namespaced secret: Available to just `namespace_id` in the `project_id`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Retrieve a rancher2 Project Secret\nconst foo = rancher2.getSecret({\n name: \"\u003cname\u003e\",\n projectId: \"\u003cproject_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Retrieve a rancher2 Project Secret\nfoo = rancher2.get_secret(name=\"\u003cname\u003e\",\n project_id=\"\u003cproject_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Retrieve a rancher2 Project Secret\n var foo = Rancher2.GetSecret.Invoke(new()\n {\n Name = \"\u003cname\u003e\",\n ProjectId = \"\u003cproject_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve a rancher2 Project Secret\n\t\t_, err := rancher2.LookupSecret(ctx, \u0026rancher2.LookupSecretArgs{\n\t\t\tName: \"\u003cname\u003e\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetSecretArgs;\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 // Retrieve a rancher2 Project Secret\n final var foo = Rancher2Functions.getSecret(GetSecretArgs.builder()\n .name(\"\u003cname\u003e\")\n .projectId(\"\u003cproject_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Retrieve a rancher2 Project Secret\n foo:\n fn::invoke:\n Function: rancher2:getSecret\n Arguments:\n name: \u003cname\u003e\n projectId: \u003cproject_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Retrieve a rancher2 Namespaced Secret\nconst foo = rancher2.getSecret({\n name: \"\u003cname\u003e\",\n projectId: \"\u003cproject_id\u003e\",\n namespaceId: \"\u003cnamespace_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Retrieve a rancher2 Namespaced Secret\nfoo = rancher2.get_secret(name=\"\u003cname\u003e\",\n project_id=\"\u003cproject_id\u003e\",\n namespace_id=\"\u003cnamespace_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Retrieve a rancher2 Namespaced Secret\n var foo = Rancher2.GetSecret.Invoke(new()\n {\n Name = \"\u003cname\u003e\",\n ProjectId = \"\u003cproject_id\u003e\",\n NamespaceId = \"\u003cnamespace_id\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve a rancher2 Namespaced Secret\n\t\t_, err := rancher2.LookupSecret(ctx, \u0026rancher2.LookupSecretArgs{\n\t\t\tName: \"\u003cname\u003e\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\n\t\t\tNamespaceId: pulumi.StringRef(\"\u003cnamespace_id\u003e\"),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetSecretArgs;\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 // Retrieve a rancher2 Namespaced Secret\n final var foo = Rancher2Functions.getSecret(GetSecretArgs.builder()\n .name(\"\u003cname\u003e\")\n .projectId(\"\u003cproject_id\u003e\")\n .namespaceId(\"\u003cnamespace_id\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Retrieve a rancher2 Namespaced Secret\n foo:\n fn::invoke:\n Function: rancher2:getSecret\n Arguments:\n name: \u003cname\u003e\n projectId: \u003cproject_id\u003e\n namespaceId: \u003cnamespace_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSecret.\n", "properties": { @@ -32755,7 +32286,7 @@ } }, "rancher2:index/getSetting:getSetting": { - "description": "Use this data source to retrieve information about a Rancher v2 setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst server-image = rancher2.getSetting({\n name: \"server-image\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nserver_image = rancher2.get_setting(name=\"server-image\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var server_image = Rancher2.GetSetting.Invoke(new()\n {\n Name = \"server-image\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupSetting(ctx, \u0026rancher2.LookupSettingArgs{\n\t\t\tName: \"server-image\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetSettingArgs;\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 server-image = Rancher2Functions.getSetting(GetSettingArgs.builder()\n .name(\"server-image\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n server-image:\n fn::invoke:\n Function: rancher2:getSetting\n Arguments:\n name: server-image\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst server-image = rancher2.getSetting({\n name: \"server-image\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nserver_image = rancher2.get_setting(name=\"server-image\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var server_image = Rancher2.GetSetting.Invoke(new()\n {\n Name = \"server-image\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupSetting(ctx, \u0026rancher2.LookupSettingArgs{\n\t\t\tName: \"server-image\",\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetSettingArgs;\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 server-image = Rancher2Functions.getSetting(GetSettingArgs.builder()\n .name(\"server-image\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n server-image:\n fn::invoke:\n Function: rancher2:getSetting\n Arguments:\n name: server-image\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSetting.\n", "properties": { @@ -32892,7 +32423,7 @@ } }, "rancher2:index/getUser:getUser": { - "description": "Use this data source to retrieve information about a Rancher v2 user\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getUser({\n username: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_user(username=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetUser.Invoke(new()\n {\n Username = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupUser(ctx, \u0026rancher2.LookupUserArgs{\n\t\t\tUsername: pulumi.StringRef(\"foo\"),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetUserArgs;\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 foo = Rancher2Functions.getUser(GetUserArgs.builder()\n .username(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getUser\n Arguments:\n username: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information about a Rancher v2 user\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = rancher2.getUser({\n username: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.get_user(username=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = Rancher2.GetUser.Invoke(new()\n {\n Username = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.LookupUser(ctx, \u0026rancher2.LookupUserArgs{\n\t\t\tUsername: pulumi.StringRef(\"foo\"),\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.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetUserArgs;\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 foo = Rancher2Functions.getUser(GetUserArgs.builder()\n .username(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: rancher2:getUser\n Arguments:\n username: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUser.\n", "properties": { @@ -32939,6 +32470,10 @@ "description": "(Computed) Labels of the resource (map)\n", "type": "object" }, + "mustChangePassword": { + "description": "(Computed) The user must change password at first login (bool)\n", + "type": "boolean" + }, "name": { "description": "(Computed) The user common name (string)\n", "type": "string" @@ -32958,6 +32493,7 @@ "annotations", "enabled", "labels", + "mustChangePassword", "name", "principalIds", "username", diff --git a/provider/cmd/pulumi-tfgen-rancher2/main.go b/provider/cmd/pulumi-tfgen-rancher2/main.go index e04486fb4..41293d9af 100644 --- a/provider/cmd/pulumi-tfgen-rancher2/main.go +++ b/provider/cmd/pulumi-tfgen-rancher2/main.go @@ -17,8 +17,8 @@ package main import ( "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfgen" - rancher2 "github.com/pulumi/pulumi-rancher2/provider/v7" - "github.com/pulumi/pulumi-rancher2/provider/v7/pkg/version" + rancher2 "github.com/pulumi/pulumi-rancher2/provider/v8" + "github.com/pulumi/pulumi-rancher2/provider/v8/pkg/version" ) func main() { diff --git a/provider/go.mod b/provider/go.mod index 381dd7ef3..24ab0ee71 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -1,4 +1,4 @@ -module github.com/pulumi/pulumi-rancher2/provider/v7 +module github.com/pulumi/pulumi-rancher2/provider/v8 go 1.22.0 @@ -68,7 +68,7 @@ require ( github.com/hashicorp/terraform-plugin-sdk v1.17.2 github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0 github.com/pulumi/pulumi/sdk/v3 v3.140.0 - github.com/rancher/terraform-provider-rancher2 v1.25.1-0.20240906181849-d9facffb5f46 + github.com/rancher/terraform-provider-rancher2 v1.25.1-0.20241125192454-e9c7b7043209 ) require ( diff --git a/provider/go.sum b/provider/go.sum index d98106cf3..f779242e8 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2025,8 +2025,8 @@ github.com/rancher/rancher/pkg/client v0.0.0-20240716141526-e0d2afd007d8 h1:QOWC github.com/rancher/rancher/pkg/client v0.0.0-20240716141526-e0d2afd007d8/go.mod h1:A+DTKG05BZs1mOoCIB6UpiKo7j0dC6kSz3mgYju9Q20= github.com/rancher/rke v1.6.0-rc9 h1:P8EVV4hl3cG8CHDuFUEfqFK8sC92aLoemFzmeFQOCck= github.com/rancher/rke v1.6.0-rc9/go.mod h1:5xRbf3L8PxqJRhABjYRfaBqbpVqAnqyH3maUNQEuwvk= -github.com/rancher/terraform-provider-rancher2 v1.25.1-0.20240906181849-d9facffb5f46 h1:gfGp7/Xp0exLOOluBhq/atlNSQZmwID1cLqIA+qunIs= -github.com/rancher/terraform-provider-rancher2 v1.25.1-0.20240906181849-d9facffb5f46/go.mod h1:lviaTqic3ngP+p+pEmCCWBgF7wmGVyViPQLK81lsghA= +github.com/rancher/terraform-provider-rancher2 v1.25.1-0.20241125192454-e9c7b7043209 h1:kI5rrrS8t9Vn8x+Su2PitwS4kAf5VX5sLsXE6XEhdoo= +github.com/rancher/terraform-provider-rancher2 v1.25.1-0.20241125192454-e9c7b7043209/go.mod h1:lviaTqic3ngP+p+pEmCCWBgF7wmGVyViPQLK81lsghA= github.com/rancher/wrangler/v3 v3.0.0 h1:IHHCA+vrghJDPxjtLk4fmeSCFhNe9fFzLFj3m2B0YpA= github.com/rancher/wrangler/v3 v3.0.0/go.mod h1:Dfckuuq7MJk2JWVBDywRlZXMxEyPxHy4XqGrPEzu5Eg= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= diff --git a/provider/resources.go b/provider/resources.go index 4dd00316b..75fe8010d 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -29,7 +29,7 @@ import ( shimv1 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v1" "github.com/pulumi/pulumi/sdk/v3/go/common/tokens" - "github.com/pulumi/pulumi-rancher2/provider/v7/pkg/version" + "github.com/pulumi/pulumi-rancher2/provider/v8/pkg/version" ) // all of the token components used below. diff --git a/sdk/dotnet/Cluster.cs b/sdk/dotnet/Cluster.cs index cbfd04341..090413f89 100644 --- a/sdk/dotnet/Cluster.cs +++ b/sdk/dotnet/Cluster.cs @@ -671,6 +671,7 @@ namespace Pulumi.Rancher2 /// VirtualNetworkResourceGroup = "<virtual-network-resource-group>", /// Subnet = "<subnet>", /// NodeResourceGroup = "<node-resource-group>", + /// OutboundType = "loadBalancer", /// NodePools = new[] /// { /// new Rancher2.Inputs.ClusterAksConfigV2NodePoolArgs diff --git a/sdk/dotnet/GetGlobalDnsProvider.cs b/sdk/dotnet/GetGlobalDnsProvider.cs deleted file mode 100644 index f8f486373..000000000 --- a/sdk/dotnet/GetGlobalDnsProvider.cs +++ /dev/null @@ -1,149 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Rancher2 -{ - public static class GetGlobalDnsProvider - { - /// - /// Provides a Rancher V2 Global DNS Provider data source. Use this data source to retrieve information about a Rancher v2 global DNS provider - /// - /// ## Example Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Rancher2 = Pulumi.Rancher2; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var foo = Rancher2.GetGlobalDnsProvider.Invoke(new() - /// { - /// Name = "foo", - /// }); - /// - /// }); - /// ``` - /// - public static Task InvokeAsync(GetGlobalDnsProviderArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("rancher2:index/getGlobalDnsProvider:getGlobalDnsProvider", args ?? new GetGlobalDnsProviderArgs(), options.WithDefaults()); - - /// - /// Provides a Rancher V2 Global DNS Provider data source. Use this data source to retrieve information about a Rancher v2 global DNS provider - /// - /// ## Example Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Rancher2 = Pulumi.Rancher2; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var foo = Rancher2.GetGlobalDnsProvider.Invoke(new() - /// { - /// Name = "foo", - /// }); - /// - /// }); - /// ``` - /// - public static Output Invoke(GetGlobalDnsProviderInvokeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("rancher2:index/getGlobalDnsProvider:getGlobalDnsProvider", args ?? new GetGlobalDnsProviderInvokeArgs(), options.WithDefaults()); - } - - - public sealed class GetGlobalDnsProviderArgs : global::Pulumi.InvokeArgs - { - /// - /// The name of the global DNS provider (string) - /// - [Input("name", required: true)] - public string Name { get; set; } = null!; - - public GetGlobalDnsProviderArgs() - { - } - public static new GetGlobalDnsProviderArgs Empty => new GetGlobalDnsProviderArgs(); - } - - public sealed class GetGlobalDnsProviderInvokeArgs : global::Pulumi.InvokeArgs - { - /// - /// The name of the global DNS provider (string) - /// - [Input("name", required: true)] - public Input Name { get; set; } = null!; - - public GetGlobalDnsProviderInvokeArgs() - { - } - public static new GetGlobalDnsProviderInvokeArgs Empty => new GetGlobalDnsProviderInvokeArgs(); - } - - - [OutputType] - public sealed class GetGlobalDnsProviderResult - { - public readonly Outputs.GetGlobalDnsProviderAlidnsConfigResult AlidnsConfig; - /// - /// (Computed) Annotations of the resource (map) - /// - public readonly ImmutableDictionary Annotations; - public readonly Outputs.GetGlobalDnsProviderCloudflareConfigResult CloudflareConfig; - public readonly string DnsProvider; - /// - /// The provider-assigned unique ID for this managed resource. - /// - public readonly string Id; - /// - /// (Computed) Labels of the resource (map) - /// - public readonly ImmutableDictionary Labels; - /// - /// (Computed) The name of the global DNS provider (string) - /// - public readonly string Name; - public readonly string RootDomain; - public readonly Outputs.GetGlobalDnsProviderRoute53ConfigResult Route53Config; - - [OutputConstructor] - private GetGlobalDnsProviderResult( - Outputs.GetGlobalDnsProviderAlidnsConfigResult alidnsConfig, - - ImmutableDictionary annotations, - - Outputs.GetGlobalDnsProviderCloudflareConfigResult cloudflareConfig, - - string dnsProvider, - - string id, - - ImmutableDictionary labels, - - string name, - - string rootDomain, - - Outputs.GetGlobalDnsProviderRoute53ConfigResult route53Config) - { - AlidnsConfig = alidnsConfig; - Annotations = annotations; - CloudflareConfig = cloudflareConfig; - DnsProvider = dnsProvider; - Id = id; - Labels = labels; - Name = name; - RootDomain = rootDomain; - Route53Config = route53Config; - } - } -} diff --git a/sdk/dotnet/GetUser.cs b/sdk/dotnet/GetUser.cs index 7201cafb6..8b24a6b02 100644 --- a/sdk/dotnet/GetUser.cs +++ b/sdk/dotnet/GetUser.cs @@ -135,6 +135,10 @@ public sealed class GetUserResult /// public readonly ImmutableDictionary Labels; /// + /// (Computed) The user must change password at first login (bool) + /// + public readonly bool MustChangePassword; + /// /// (Computed) The user common name (string) /// public readonly string Name; @@ -156,6 +160,8 @@ private GetUserResult( ImmutableDictionary labels, + bool mustChangePassword, + string name, ImmutableArray principalIds, @@ -167,6 +173,7 @@ private GetUserResult( Id = id; IsExternal = isExternal; Labels = labels; + MustChangePassword = mustChangePassword; Name = name; PrincipalIds = principalIds; Username = username; diff --git a/sdk/dotnet/GlobalDns.cs b/sdk/dotnet/GlobalDns.cs deleted file mode 100644 index aa3cc70b4..000000000 --- a/sdk/dotnet/GlobalDns.cs +++ /dev/null @@ -1,339 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Rancher2 -{ - /// - /// Provides a Rancher V2 Global DNS resource. This can be used to create Global DNS records for Rancher V2. - /// - /// ## Example Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Rancher2 = Pulumi.Rancher2; - /// - /// return await Deployment.RunAsync(() => - /// { - /// // Create a new rancher2 Global DNS Provider - /// var foo = new Rancher2.GlobalDnsProvider("foo", new() - /// { - /// Name = "foo", - /// RootDomain = "example.com", - /// Route53Config = new Rancher2.Inputs.GlobalDnsProviderRoute53ConfigArgs - /// { - /// AccessKey = "YYYYYYYYYYYYYYYYYYYY", - /// SecretKey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - /// ZoneType = "private", - /// Region = "us-east-1", - /// }, - /// }); - /// - /// // Create a new rancher2 Global DNS using project IDs - /// var fooGlobalDns = new Rancher2.GlobalDns("foo", new() - /// { - /// Name = "foo", - /// Fqdn = "foo.example.com", - /// ProviderId = foo.Id, - /// ProjectIds = new[] - /// { - /// "project1", - /// "project2", - /// }, - /// }); - /// - /// }); - /// ``` - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Rancher2 = Pulumi.Rancher2; - /// - /// return await Deployment.RunAsync(() => - /// { - /// // Create a new rancher2 Global DNS Provider - /// var foo = new Rancher2.GlobalDnsProvider("foo", new() - /// { - /// Name = "foo", - /// RootDomain = "example.com", - /// Route53Config = new Rancher2.Inputs.GlobalDnsProviderRoute53ConfigArgs - /// { - /// AccessKey = "YYYYYYYYYYYYYYYYYYYY", - /// SecretKey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - /// ZoneType = "private", - /// Region = "us-east-1", - /// }, - /// }); - /// - /// // Create a new rancher2 Global DNS using MultiClusterApp ID - /// var fooGlobalDns = new Rancher2.GlobalDns("foo", new() - /// { - /// Name = "foo", - /// Fqdn = "foo.example.com", - /// ProviderId = foo.Id, - /// MultiClusterAppId = "<MCA_ID>", - /// }); - /// - /// }); - /// ``` - /// - /// ## Import - /// - /// Global DNS Entry can be imported using the Rancher Global DNS ID - /// - /// ```sh - /// $ pulumi import rancher2:index/globalDns:GlobalDns foo <global_dns_id> - /// ``` - /// - [Rancher2ResourceType("rancher2:index/globalDns:GlobalDns")] - public partial class GlobalDns : global::Pulumi.CustomResource - { - /// - /// Annotations for Global DNS (map) - /// - [Output("annotations")] - public Output> Annotations { get; private set; } = null!; - - /// - /// The Global DNS record (string) - /// - [Output("fqdn")] - public Output Fqdn { get; private set; } = null!; - - /// - /// Labels for Global DNS (map) - /// - [Output("labels")] - public Output> Labels { get; private set; } = null!; - - /// - /// The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - /// - [Output("multiClusterAppId")] - public Output MultiClusterAppId { get; private set; } = null!; - - /// - /// The name of the Global DNS (string) - /// - [Output("name")] - public Output Name { get; private set; } = null!; - - /// - /// A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - /// - [Output("projectIds")] - public Output> ProjectIds { get; private set; } = null!; - - /// - /// The Global DNS provider ID to use (string) - /// - [Output("providerId")] - public Output ProviderId { get; private set; } = null!; - - /// - /// TTL in seconds for DNS record. Default: `300` (int) - /// - [Output("ttl")] - public Output Ttl { get; private set; } = null!; - - - /// - /// Create a GlobalDns resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public GlobalDns(string name, GlobalDnsArgs args, CustomResourceOptions? options = null) - : base("rancher2:index/globalDns:GlobalDns", name, args ?? new GlobalDnsArgs(), MakeResourceOptions(options, "")) - { - } - - private GlobalDns(string name, Input id, GlobalDnsState? state = null, CustomResourceOptions? options = null) - : base("rancher2:index/globalDns:GlobalDns", name, state, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing GlobalDns resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// Any extra arguments used during the lookup. - /// A bag of options that control this resource's behavior - public static GlobalDns Get(string name, Input id, GlobalDnsState? state = null, CustomResourceOptions? options = null) - { - return new GlobalDns(name, id, state, options); - } - } - - public sealed class GlobalDnsArgs : global::Pulumi.ResourceArgs - { - [Input("annotations")] - private InputMap? _annotations; - - /// - /// Annotations for Global DNS (map) - /// - public InputMap Annotations - { - get => _annotations ?? (_annotations = new InputMap()); - set => _annotations = value; - } - - /// - /// The Global DNS record (string) - /// - [Input("fqdn", required: true)] - public Input Fqdn { get; set; } = null!; - - [Input("labels")] - private InputMap? _labels; - - /// - /// Labels for Global DNS (map) - /// - public InputMap Labels - { - get => _labels ?? (_labels = new InputMap()); - set => _labels = value; - } - - /// - /// The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - /// - [Input("multiClusterAppId")] - public Input? MultiClusterAppId { get; set; } - - /// - /// The name of the Global DNS (string) - /// - [Input("name")] - public Input? Name { get; set; } - - [Input("projectIds")] - private InputList? _projectIds; - - /// - /// A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - /// - public InputList ProjectIds - { - get => _projectIds ?? (_projectIds = new InputList()); - set => _projectIds = value; - } - - /// - /// The Global DNS provider ID to use (string) - /// - [Input("providerId", required: true)] - public Input ProviderId { get; set; } = null!; - - /// - /// TTL in seconds for DNS record. Default: `300` (int) - /// - [Input("ttl")] - public Input? Ttl { get; set; } - - public GlobalDnsArgs() - { - } - public static new GlobalDnsArgs Empty => new GlobalDnsArgs(); - } - - public sealed class GlobalDnsState : global::Pulumi.ResourceArgs - { - [Input("annotations")] - private InputMap? _annotations; - - /// - /// Annotations for Global DNS (map) - /// - public InputMap Annotations - { - get => _annotations ?? (_annotations = new InputMap()); - set => _annotations = value; - } - - /// - /// The Global DNS record (string) - /// - [Input("fqdn")] - public Input? Fqdn { get; set; } - - [Input("labels")] - private InputMap? _labels; - - /// - /// Labels for Global DNS (map) - /// - public InputMap Labels - { - get => _labels ?? (_labels = new InputMap()); - set => _labels = value; - } - - /// - /// The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - /// - [Input("multiClusterAppId")] - public Input? MultiClusterAppId { get; set; } - - /// - /// The name of the Global DNS (string) - /// - [Input("name")] - public Input? Name { get; set; } - - [Input("projectIds")] - private InputList? _projectIds; - - /// - /// A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - /// - public InputList ProjectIds - { - get => _projectIds ?? (_projectIds = new InputList()); - set => _projectIds = value; - } - - /// - /// The Global DNS provider ID to use (string) - /// - [Input("providerId")] - public Input? ProviderId { get; set; } - - /// - /// TTL in seconds for DNS record. Default: `300` (int) - /// - [Input("ttl")] - public Input? Ttl { get; set; } - - public GlobalDnsState() - { - } - public static new GlobalDnsState Empty => new GlobalDnsState(); - } -} diff --git a/sdk/dotnet/GlobalDnsProvider.cs b/sdk/dotnet/GlobalDnsProvider.cs deleted file mode 100644 index 9661e2bc7..000000000 --- a/sdk/dotnet/GlobalDnsProvider.cs +++ /dev/null @@ -1,294 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Rancher2 -{ - /// - /// Provides a Rancher V2 Global DNS Provider resource. This can be used to create Global DNS Providers for Rancher V2. Supported Global DNS Providers: `alidns, cloudflare, route53` - /// - /// ## Example Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Rancher2 = Pulumi.Rancher2; - /// - /// return await Deployment.RunAsync(() => - /// { - /// // Create a new rancher2 Global DNS Provider - alidns - /// var foo = new Rancher2.GlobalDnsProvider("foo", new() - /// { - /// Name = "foo", - /// RootDomain = "example.com", - /// AlidnsConfig = new Rancher2.Inputs.GlobalDnsProviderAlidnsConfigArgs - /// { - /// AccessKey = "YYYYYYYYYYYYYYYYYYYY", - /// SecretKey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - /// }, - /// }); - /// - /// }); - /// ``` - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Rancher2 = Pulumi.Rancher2; - /// - /// return await Deployment.RunAsync(() => - /// { - /// // Create a new rancher2 Global DNS Provider - cloudflare - /// var foo = new Rancher2.GlobalDnsProvider("foo", new() - /// { - /// Name = "foo", - /// RootDomain = "example.com", - /// CloudflareConfig = new Rancher2.Inputs.GlobalDnsProviderCloudflareConfigArgs - /// { - /// ApiEmail = "test@test.local", - /// ApiKey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - /// ProxySetting = true, - /// }, - /// }); - /// - /// }); - /// ``` - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Rancher2 = Pulumi.Rancher2; - /// - /// return await Deployment.RunAsync(() => - /// { - /// // Create a new rancher2 Global DNS Provider - route53 - /// var foo = new Rancher2.GlobalDnsProvider("foo", new() - /// { - /// Name = "foo", - /// RootDomain = "example.com", - /// Route53Config = new Rancher2.Inputs.GlobalDnsProviderRoute53ConfigArgs - /// { - /// AccessKey = "YYYYYYYYYYYYYYYYYYYY", - /// SecretKey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - /// ZoneType = "private", - /// Region = "us-east-1", - /// }, - /// }); - /// - /// }); - /// ``` - /// - /// ## Import - /// - /// Global DNS Providers can be imported using the Rancher Global DNS Provider ID - /// - /// ```sh - /// $ pulumi import rancher2:index/globalDnsProvider:GlobalDnsProvider foo <global_dns_provider_id> - /// ``` - /// - [Rancher2ResourceType("rancher2:index/globalDnsProvider:GlobalDnsProvider")] - public partial class GlobalDnsProvider : global::Pulumi.CustomResource - { - [Output("alidnsConfig")] - public Output AlidnsConfig { get; private set; } = null!; - - /// - /// Annotations for Global DNS Provider (map) - /// - [Output("annotations")] - public Output> Annotations { get; private set; } = null!; - - [Output("cloudflareConfig")] - public Output CloudflareConfig { get; private set; } = null!; - - /// - /// (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - /// - [Output("dnsProvider")] - public Output DnsProvider { get; private set; } = null!; - - /// - /// Labels for Global DNS Provider (map) - /// - [Output("labels")] - public Output> Labels { get; private set; } = null!; - - /// - /// The name of the Global DNS Provider (string) - /// - [Output("name")] - public Output Name { get; private set; } = null!; - - /// - /// The user ID to assign Global DNS Provider (string) - /// - [Output("rootDomain")] - public Output RootDomain { get; private set; } = null!; - - [Output("route53Config")] - public Output Route53Config { get; private set; } = null!; - - - /// - /// Create a GlobalDnsProvider resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public GlobalDnsProvider(string name, GlobalDnsProviderArgs args, CustomResourceOptions? options = null) - : base("rancher2:index/globalDnsProvider:GlobalDnsProvider", name, args ?? new GlobalDnsProviderArgs(), MakeResourceOptions(options, "")) - { - } - - private GlobalDnsProvider(string name, Input id, GlobalDnsProviderState? state = null, CustomResourceOptions? options = null) - : base("rancher2:index/globalDnsProvider:GlobalDnsProvider", name, state, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing GlobalDnsProvider resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// Any extra arguments used during the lookup. - /// A bag of options that control this resource's behavior - public static GlobalDnsProvider Get(string name, Input id, GlobalDnsProviderState? state = null, CustomResourceOptions? options = null) - { - return new GlobalDnsProvider(name, id, state, options); - } - } - - public sealed class GlobalDnsProviderArgs : global::Pulumi.ResourceArgs - { - [Input("alidnsConfig")] - public Input? AlidnsConfig { get; set; } - - [Input("annotations")] - private InputMap? _annotations; - - /// - /// Annotations for Global DNS Provider (map) - /// - public InputMap Annotations - { - get => _annotations ?? (_annotations = new InputMap()); - set => _annotations = value; - } - - [Input("cloudflareConfig")] - public Input? CloudflareConfig { get; set; } - - [Input("labels")] - private InputMap? _labels; - - /// - /// Labels for Global DNS Provider (map) - /// - public InputMap Labels - { - get => _labels ?? (_labels = new InputMap()); - set => _labels = value; - } - - /// - /// The name of the Global DNS Provider (string) - /// - [Input("name")] - public Input? Name { get; set; } - - /// - /// The user ID to assign Global DNS Provider (string) - /// - [Input("rootDomain", required: true)] - public Input RootDomain { get; set; } = null!; - - [Input("route53Config")] - public Input? Route53Config { get; set; } - - public GlobalDnsProviderArgs() - { - } - public static new GlobalDnsProviderArgs Empty => new GlobalDnsProviderArgs(); - } - - public sealed class GlobalDnsProviderState : global::Pulumi.ResourceArgs - { - [Input("alidnsConfig")] - public Input? AlidnsConfig { get; set; } - - [Input("annotations")] - private InputMap? _annotations; - - /// - /// Annotations for Global DNS Provider (map) - /// - public InputMap Annotations - { - get => _annotations ?? (_annotations = new InputMap()); - set => _annotations = value; - } - - [Input("cloudflareConfig")] - public Input? CloudflareConfig { get; set; } - - /// - /// (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - /// - [Input("dnsProvider")] - public Input? DnsProvider { get; set; } - - [Input("labels")] - private InputMap? _labels; - - /// - /// Labels for Global DNS Provider (map) - /// - public InputMap Labels - { - get => _labels ?? (_labels = new InputMap()); - set => _labels = value; - } - - /// - /// The name of the Global DNS Provider (string) - /// - [Input("name")] - public Input? Name { get; set; } - - /// - /// The user ID to assign Global DNS Provider (string) - /// - [Input("rootDomain")] - public Input? RootDomain { get; set; } - - [Input("route53Config")] - public Input? Route53Config { get; set; } - - public GlobalDnsProviderState() - { - } - public static new GlobalDnsProviderState Empty => new GlobalDnsProviderState(); - } -} diff --git a/sdk/dotnet/Inputs/ClusterAksConfigV2Args.cs b/sdk/dotnet/Inputs/ClusterAksConfigV2Args.cs index 2dc5ee1db..6d9875fb5 100644 --- a/sdk/dotnet/Inputs/ClusterAksConfigV2Args.cs +++ b/sdk/dotnet/Inputs/ClusterAksConfigV2Args.cs @@ -162,6 +162,12 @@ public InputList NodePools [Input("nodeResourceGroup")] public Input? NodeResourceGroup { get; set; } + /// + /// The AKS outbound type for the egress traffic + /// + [Input("outboundType")] + public Input? OutboundType { get; set; } + /// /// Is AKS cluster private? /// diff --git a/sdk/dotnet/Inputs/ClusterAksConfigV2GetArgs.cs b/sdk/dotnet/Inputs/ClusterAksConfigV2GetArgs.cs index 3da776008..41c6da643 100644 --- a/sdk/dotnet/Inputs/ClusterAksConfigV2GetArgs.cs +++ b/sdk/dotnet/Inputs/ClusterAksConfigV2GetArgs.cs @@ -162,6 +162,12 @@ public InputList NodePools [Input("nodeResourceGroup")] public Input? NodeResourceGroup { get; set; } + /// + /// The AKS outbound type for the egress traffic + /// + [Input("outboundType")] + public Input? OutboundType { get; set; } + /// /// Is AKS cluster private? /// diff --git a/sdk/dotnet/Inputs/GlobalDnsProviderAlidnsConfigArgs.cs b/sdk/dotnet/Inputs/GlobalDnsProviderAlidnsConfigArgs.cs deleted file mode 100644 index fa4e2bba4..000000000 --- a/sdk/dotnet/Inputs/GlobalDnsProviderAlidnsConfigArgs.cs +++ /dev/null @@ -1,32 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Rancher2.Inputs -{ - - public sealed class GlobalDnsProviderAlidnsConfigArgs : global::Pulumi.ResourceArgs - { - /// - /// The AWS Access key (string) - /// - [Input("accessKey", required: true)] - public Input AccessKey { get; set; } = null!; - - /// - /// The AWS Secret key (string) - /// - [Input("secretKey", required: true)] - public Input SecretKey { get; set; } = null!; - - public GlobalDnsProviderAlidnsConfigArgs() - { - } - public static new GlobalDnsProviderAlidnsConfigArgs Empty => new GlobalDnsProviderAlidnsConfigArgs(); - } -} diff --git a/sdk/dotnet/Inputs/GlobalDnsProviderAlidnsConfigGetArgs.cs b/sdk/dotnet/Inputs/GlobalDnsProviderAlidnsConfigGetArgs.cs deleted file mode 100644 index 968e37749..000000000 --- a/sdk/dotnet/Inputs/GlobalDnsProviderAlidnsConfigGetArgs.cs +++ /dev/null @@ -1,32 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Rancher2.Inputs -{ - - public sealed class GlobalDnsProviderAlidnsConfigGetArgs : global::Pulumi.ResourceArgs - { - /// - /// The AWS Access key (string) - /// - [Input("accessKey", required: true)] - public Input AccessKey { get; set; } = null!; - - /// - /// The AWS Secret key (string) - /// - [Input("secretKey", required: true)] - public Input SecretKey { get; set; } = null!; - - public GlobalDnsProviderAlidnsConfigGetArgs() - { - } - public static new GlobalDnsProviderAlidnsConfigGetArgs Empty => new GlobalDnsProviderAlidnsConfigGetArgs(); - } -} diff --git a/sdk/dotnet/Inputs/GlobalDnsProviderCloudflareConfigArgs.cs b/sdk/dotnet/Inputs/GlobalDnsProviderCloudflareConfigArgs.cs deleted file mode 100644 index 13171c404..000000000 --- a/sdk/dotnet/Inputs/GlobalDnsProviderCloudflareConfigArgs.cs +++ /dev/null @@ -1,38 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Rancher2.Inputs -{ - - public sealed class GlobalDnsProviderCloudflareConfigArgs : global::Pulumi.ResourceArgs - { - /// - /// The CloudFlare API Email (string) - /// - [Input("apiEmail", required: true)] - public Input ApiEmail { get; set; } = null!; - - /// - /// The CloudFlare API Key (string) - /// - [Input("apiKey", required: true)] - public Input ApiKey { get; set; } = null!; - - /// - /// CloudFlare Proxy Setting. Default: `false` (bool) - /// - [Input("proxySetting")] - public Input? ProxySetting { get; set; } - - public GlobalDnsProviderCloudflareConfigArgs() - { - } - public static new GlobalDnsProviderCloudflareConfigArgs Empty => new GlobalDnsProviderCloudflareConfigArgs(); - } -} diff --git a/sdk/dotnet/Inputs/GlobalDnsProviderCloudflareConfigGetArgs.cs b/sdk/dotnet/Inputs/GlobalDnsProviderCloudflareConfigGetArgs.cs deleted file mode 100644 index 0488b658d..000000000 --- a/sdk/dotnet/Inputs/GlobalDnsProviderCloudflareConfigGetArgs.cs +++ /dev/null @@ -1,38 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Rancher2.Inputs -{ - - public sealed class GlobalDnsProviderCloudflareConfigGetArgs : global::Pulumi.ResourceArgs - { - /// - /// The CloudFlare API Email (string) - /// - [Input("apiEmail", required: true)] - public Input ApiEmail { get; set; } = null!; - - /// - /// The CloudFlare API Key (string) - /// - [Input("apiKey", required: true)] - public Input ApiKey { get; set; } = null!; - - /// - /// CloudFlare Proxy Setting. Default: `false` (bool) - /// - [Input("proxySetting")] - public Input? ProxySetting { get; set; } - - public GlobalDnsProviderCloudflareConfigGetArgs() - { - } - public static new GlobalDnsProviderCloudflareConfigGetArgs Empty => new GlobalDnsProviderCloudflareConfigGetArgs(); - } -} diff --git a/sdk/dotnet/Inputs/GlobalDnsProviderRoute53ConfigArgs.cs b/sdk/dotnet/Inputs/GlobalDnsProviderRoute53ConfigArgs.cs deleted file mode 100644 index 0151240ef..000000000 --- a/sdk/dotnet/Inputs/GlobalDnsProviderRoute53ConfigArgs.cs +++ /dev/null @@ -1,56 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Rancher2.Inputs -{ - - public sealed class GlobalDnsProviderRoute53ConfigArgs : global::Pulumi.ResourceArgs - { - /// - /// The AWS Access key (string) - /// - [Input("accessKey", required: true)] - public Input AccessKey { get; set; } = null!; - - /// - /// The AWS credentials path. Default: `"/.aws"` (string) - /// - [Input("credentialsPath")] - public Input? CredentialsPath { get; set; } - - /// - /// The AWS Region. Default: `"us-west-2"` (string) - /// - [Input("region")] - public Input? Region { get; set; } - - /// - /// The AWS Role ARN (string) - /// - [Input("roleArn")] - public Input? RoleArn { get; set; } - - /// - /// The AWS Secret key (string) - /// - [Input("secretKey", required: true)] - public Input SecretKey { get; set; } = null!; - - /// - /// The Route53 zone type `public, private`. Default: `"public"` (string) - /// - [Input("zoneType")] - public Input? ZoneType { get; set; } - - public GlobalDnsProviderRoute53ConfigArgs() - { - } - public static new GlobalDnsProviderRoute53ConfigArgs Empty => new GlobalDnsProviderRoute53ConfigArgs(); - } -} diff --git a/sdk/dotnet/Inputs/GlobalDnsProviderRoute53ConfigGetArgs.cs b/sdk/dotnet/Inputs/GlobalDnsProviderRoute53ConfigGetArgs.cs deleted file mode 100644 index fa0efaa9d..000000000 --- a/sdk/dotnet/Inputs/GlobalDnsProviderRoute53ConfigGetArgs.cs +++ /dev/null @@ -1,56 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Rancher2.Inputs -{ - - public sealed class GlobalDnsProviderRoute53ConfigGetArgs : global::Pulumi.ResourceArgs - { - /// - /// The AWS Access key (string) - /// - [Input("accessKey", required: true)] - public Input AccessKey { get; set; } = null!; - - /// - /// The AWS credentials path. Default: `"/.aws"` (string) - /// - [Input("credentialsPath")] - public Input? CredentialsPath { get; set; } - - /// - /// The AWS Region. Default: `"us-west-2"` (string) - /// - [Input("region")] - public Input? Region { get; set; } - - /// - /// The AWS Role ARN (string) - /// - [Input("roleArn")] - public Input? RoleArn { get; set; } - - /// - /// The AWS Secret key (string) - /// - [Input("secretKey", required: true)] - public Input SecretKey { get; set; } = null!; - - /// - /// The Route53 zone type `public, private`. Default: `"public"` (string) - /// - [Input("zoneType")] - public Input? ZoneType { get; set; } - - public GlobalDnsProviderRoute53ConfigGetArgs() - { - } - public static new GlobalDnsProviderRoute53ConfigGetArgs Empty => new GlobalDnsProviderRoute53ConfigGetArgs(); - } -} diff --git a/sdk/dotnet/NodeTemplate.cs b/sdk/dotnet/NodeTemplate.cs index 6dde5d82d..b64ab4fff 100644 --- a/sdk/dotnet/NodeTemplate.cs +++ b/sdk/dotnet/NodeTemplate.cs @@ -207,6 +207,14 @@ namespace Pulumi.Rancher2 /// **Important** This process could update `rancher2.NodeTemplate` data on tfstate file. Be sure to save a copy of tfstate file before proceed /// /// Due to [this feature](https://github.com/rancher/rancher/pull/23718) included on Rancher v2.3.3, `rancher2.NodeTemplate` are now global scoped objects with RBAC around them, instead of user scoped objects as they were. This means that existing node templates `id` field is changing on upgrade. Provider implements `fixNodeTemplateID()` that will update tfstate with proper id. + /// + /// ## Import + /// + /// Node Template can be imported using the Rancher Node Template ID + /// + /// ```sh + /// $ pulumi import rancher2:index/nodeTemplate:NodeTemplate foo &lt;node_template_id&gt; + /// ``` /// [Rancher2ResourceType("rancher2:index/nodeTemplate:NodeTemplate")] public partial class NodeTemplate : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Outputs/ClusterAksConfigV2.cs b/sdk/dotnet/Outputs/ClusterAksConfigV2.cs index 53319a694..36ac791ac 100644 --- a/sdk/dotnet/Outputs/ClusterAksConfigV2.cs +++ b/sdk/dotnet/Outputs/ClusterAksConfigV2.cs @@ -106,6 +106,10 @@ public sealed class ClusterAksConfigV2 /// public readonly string? NodeResourceGroup; /// + /// The AKS outbound type for the egress traffic + /// + public readonly string? OutboundType; + /// /// Is AKS cluster private? /// public readonly bool? PrivateCluster; @@ -182,6 +186,8 @@ private ClusterAksConfigV2( string? nodeResourceGroup, + string? outboundType, + bool? privateCluster, string resourceGroup, @@ -219,6 +225,7 @@ private ClusterAksConfigV2( NetworkServiceCidr = networkServiceCidr; NodePools = nodePools; NodeResourceGroup = nodeResourceGroup; + OutboundType = outboundType; PrivateCluster = privateCluster; ResourceGroup = resourceGroup; ResourceLocation = resourceLocation; diff --git a/sdk/dotnet/Outputs/GetClusterAksConfigV2Result.cs b/sdk/dotnet/Outputs/GetClusterAksConfigV2Result.cs index d2aa69bc6..2e64e5b92 100644 --- a/sdk/dotnet/Outputs/GetClusterAksConfigV2Result.cs +++ b/sdk/dotnet/Outputs/GetClusterAksConfigV2Result.cs @@ -106,6 +106,10 @@ public sealed class GetClusterAksConfigV2Result /// public readonly string NodeResourceGroup; /// + /// The AKS outbound type for the egress traffic + /// + public readonly string? OutboundType; + /// /// Is AKS cluster private? /// public readonly bool PrivateCluster; @@ -182,6 +186,8 @@ private GetClusterAksConfigV2Result( string nodeResourceGroup, + string? outboundType, + bool privateCluster, string resourceGroup, @@ -219,6 +225,7 @@ private GetClusterAksConfigV2Result( NetworkServiceCidr = networkServiceCidr; NodePools = nodePools; NodeResourceGroup = nodeResourceGroup; + OutboundType = outboundType; PrivateCluster = privateCluster; ResourceGroup = resourceGroup; ResourceLocation = resourceLocation; diff --git a/sdk/dotnet/Outputs/GetGlobalDnsProviderAlidnsConfigResult.cs b/sdk/dotnet/Outputs/GetGlobalDnsProviderAlidnsConfigResult.cs deleted file mode 100644 index af8941a20..000000000 --- a/sdk/dotnet/Outputs/GetGlobalDnsProviderAlidnsConfigResult.cs +++ /dev/null @@ -1,29 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Rancher2.Outputs -{ - - [OutputType] - public sealed class GetGlobalDnsProviderAlidnsConfigResult - { - public readonly string AccessKey; - public readonly string SecretKey; - - [OutputConstructor] - private GetGlobalDnsProviderAlidnsConfigResult( - string accessKey, - - string secretKey) - { - AccessKey = accessKey; - SecretKey = secretKey; - } - } -} diff --git a/sdk/dotnet/Outputs/GetGlobalDnsProviderCloudflareConfigResult.cs b/sdk/dotnet/Outputs/GetGlobalDnsProviderCloudflareConfigResult.cs deleted file mode 100644 index ba3235279..000000000 --- a/sdk/dotnet/Outputs/GetGlobalDnsProviderCloudflareConfigResult.cs +++ /dev/null @@ -1,33 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Rancher2.Outputs -{ - - [OutputType] - public sealed class GetGlobalDnsProviderCloudflareConfigResult - { - public readonly string ApiEmail; - public readonly string ApiKey; - public readonly bool? ProxySetting; - - [OutputConstructor] - private GetGlobalDnsProviderCloudflareConfigResult( - string apiEmail, - - string apiKey, - - bool? proxySetting) - { - ApiEmail = apiEmail; - ApiKey = apiKey; - ProxySetting = proxySetting; - } - } -} diff --git a/sdk/dotnet/Outputs/GetGlobalDnsProviderRoute53ConfigResult.cs b/sdk/dotnet/Outputs/GetGlobalDnsProviderRoute53ConfigResult.cs deleted file mode 100644 index 968d41c87..000000000 --- a/sdk/dotnet/Outputs/GetGlobalDnsProviderRoute53ConfigResult.cs +++ /dev/null @@ -1,45 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Rancher2.Outputs -{ - - [OutputType] - public sealed class GetGlobalDnsProviderRoute53ConfigResult - { - public readonly string AccessKey; - public readonly string? CredentialsPath; - public readonly string? Region; - public readonly string? RoleArn; - public readonly string SecretKey; - public readonly string? ZoneType; - - [OutputConstructor] - private GetGlobalDnsProviderRoute53ConfigResult( - string accessKey, - - string? credentialsPath, - - string? region, - - string? roleArn, - - string secretKey, - - string? zoneType) - { - AccessKey = accessKey; - CredentialsPath = credentialsPath; - Region = region; - RoleArn = roleArn; - SecretKey = secretKey; - ZoneType = zoneType; - } - } -} diff --git a/sdk/dotnet/Outputs/GlobalDnsProviderAlidnsConfig.cs b/sdk/dotnet/Outputs/GlobalDnsProviderAlidnsConfig.cs deleted file mode 100644 index a3aa1017b..000000000 --- a/sdk/dotnet/Outputs/GlobalDnsProviderAlidnsConfig.cs +++ /dev/null @@ -1,35 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Rancher2.Outputs -{ - - [OutputType] - public sealed class GlobalDnsProviderAlidnsConfig - { - /// - /// The AWS Access key (string) - /// - public readonly string AccessKey; - /// - /// The AWS Secret key (string) - /// - public readonly string SecretKey; - - [OutputConstructor] - private GlobalDnsProviderAlidnsConfig( - string accessKey, - - string secretKey) - { - AccessKey = accessKey; - SecretKey = secretKey; - } - } -} diff --git a/sdk/dotnet/Outputs/GlobalDnsProviderCloudflareConfig.cs b/sdk/dotnet/Outputs/GlobalDnsProviderCloudflareConfig.cs deleted file mode 100644 index b43b27035..000000000 --- a/sdk/dotnet/Outputs/GlobalDnsProviderCloudflareConfig.cs +++ /dev/null @@ -1,42 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Rancher2.Outputs -{ - - [OutputType] - public sealed class GlobalDnsProviderCloudflareConfig - { - /// - /// The CloudFlare API Email (string) - /// - public readonly string ApiEmail; - /// - /// The CloudFlare API Key (string) - /// - public readonly string ApiKey; - /// - /// CloudFlare Proxy Setting. Default: `false` (bool) - /// - public readonly bool? ProxySetting; - - [OutputConstructor] - private GlobalDnsProviderCloudflareConfig( - string apiEmail, - - string apiKey, - - bool? proxySetting) - { - ApiEmail = apiEmail; - ApiKey = apiKey; - ProxySetting = proxySetting; - } - } -} diff --git a/sdk/dotnet/Outputs/GlobalDnsProviderRoute53Config.cs b/sdk/dotnet/Outputs/GlobalDnsProviderRoute53Config.cs deleted file mode 100644 index 7e8d545b8..000000000 --- a/sdk/dotnet/Outputs/GlobalDnsProviderRoute53Config.cs +++ /dev/null @@ -1,63 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Rancher2.Outputs -{ - - [OutputType] - public sealed class GlobalDnsProviderRoute53Config - { - /// - /// The AWS Access key (string) - /// - public readonly string AccessKey; - /// - /// The AWS credentials path. Default: `"/.aws"` (string) - /// - public readonly string? CredentialsPath; - /// - /// The AWS Region. Default: `"us-west-2"` (string) - /// - public readonly string? Region; - /// - /// The AWS Role ARN (string) - /// - public readonly string? RoleArn; - /// - /// The AWS Secret key (string) - /// - public readonly string SecretKey; - /// - /// The Route53 zone type `public, private`. Default: `"public"` (string) - /// - public readonly string? ZoneType; - - [OutputConstructor] - private GlobalDnsProviderRoute53Config( - string accessKey, - - string? credentialsPath, - - string? region, - - string? roleArn, - - string secretKey, - - string? zoneType) - { - AccessKey = accessKey; - CredentialsPath = credentialsPath; - Region = region; - RoleArn = roleArn; - SecretKey = secretKey; - ZoneType = zoneType; - } - } -} diff --git a/sdk/dotnet/Pulumi.Rancher2.csproj b/sdk/dotnet/Pulumi.Rancher2.csproj index d0d65318c..2c9d1b241 100644 --- a/sdk/dotnet/Pulumi.Rancher2.csproj +++ b/sdk/dotnet/Pulumi.Rancher2.csproj @@ -9,7 +9,7 @@ https://pulumi.io https://github.com/pulumi/pulumi-rancher2 logo.png - 7.0.0-alpha.0+dev + 8.0.0-alpha.0+dev net6.0 enable diff --git a/sdk/dotnet/User.cs b/sdk/dotnet/User.cs index 7d1a8aac8..0ce49f350 100644 --- a/sdk/dotnet/User.cs +++ b/sdk/dotnet/User.cs @@ -31,6 +31,7 @@ namespace Pulumi.Rancher2 /// Username = "foo", /// Password = "changeme", /// Enabled = true, + /// MustChangePassword = true, /// }); /// /// // Create a new rancher2 global_role_binding for User @@ -70,6 +71,12 @@ public partial class User : global::Pulumi.CustomResource [Output("labels")] public Output> Labels { get; private set; } = null!; + /// + /// The user must change password at first login (bool) + /// + [Output("mustChangePassword")] + public Output MustChangePassword { get; private set; } = null!; + /// /// The user full name (string) /// @@ -171,6 +178,12 @@ public InputMap Labels set => _labels = value; } + /// + /// The user must change password at first login (bool) + /// + [Input("mustChangePassword")] + public Input? MustChangePassword { get; set; } + /// /// The user full name (string) /// @@ -234,6 +247,12 @@ public InputMap Labels set => _labels = value; } + /// + /// The user must change password at first login (bool) + /// + [Input("mustChangePassword")] + public Input? MustChangePassword { get; set; } + /// /// The user full name (string) /// diff --git a/sdk/dotnet/pulumi-plugin.json b/sdk/dotnet/pulumi-plugin.json index 95dd252f9..be484c958 100644 --- a/sdk/dotnet/pulumi-plugin.json +++ b/sdk/dotnet/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "rancher2", - "version": "7.0.0-alpha.0+dev" + "version": "8.0.0-alpha.0+dev" } diff --git a/sdk/go.mod b/sdk/go.mod index b4f490551..74ca553c3 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -1,9 +1,10 @@ -module github.com/pulumi/pulumi-rancher2/sdk/v7 +module github.com/pulumi/pulumi-rancher2/sdk/v8 go 1.21 require ( github.com/blang/semver v3.5.1+incompatible + github.com/pulumi/pulumi-rancher2/sdk/v7 v7.1.2 github.com/pulumi/pulumi/sdk/v3 v3.140.0 ) diff --git a/sdk/go.sum b/sdk/go.sum index 22da94d1a..cc5b8b29f 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -150,6 +150,8 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.9.1 h1:HH5eEv8sgyxSpY5a8yePyqFXzA8cvBvapfH8457+mIs= github.com/pulumi/esc v0.9.1/go.mod h1:oEJ6bOsjYlQUpjf70GiX+CXn3VBmpwFDxUTlmtUN84c= +github.com/pulumi/pulumi-rancher2/sdk/v7 v7.1.2 h1:XbvZmJEzI31tx9x295ZUWZoFyNdRD5VhMGnL+qw239I= +github.com/pulumi/pulumi-rancher2/sdk/v7 v7.1.2/go.mod h1:/iAGxiDiuJ5z5KiI5lxKuNG2YOxEC/Tj2vY8Fzw9+bE= github.com/pulumi/pulumi/sdk/v3 v3.140.0 h1:+Z/RBvdYg7tBNkBwk4p/FzlV7niBT3TbLAICq/Y0LDU= github.com/pulumi/pulumi/sdk/v3 v3.140.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= diff --git a/sdk/go/rancher2/app.go b/sdk/go/rancher2/app.go index 0ff4e46be..6c18bf6ad 100644 --- a/sdk/go/rancher2/app.go +++ b/sdk/go/rancher2/app.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -28,7 +28,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -64,7 +64,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/appV2.go b/sdk/go/rancher2/appV2.go index cef0fac7d..7c5bfd8fc 100644 --- a/sdk/go/rancher2/appV2.go +++ b/sdk/go/rancher2/appV2.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -21,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi-std/sdk/go/std" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // @@ -63,7 +63,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/authConfigActiveDirectory.go b/sdk/go/rancher2/authConfigActiveDirectory.go index d63cd2b81..a9526d2b5 100644 --- a/sdk/go/rancher2/authConfigActiveDirectory.go +++ b/sdk/go/rancher2/authConfigActiveDirectory.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/authConfigAdfs.go b/sdk/go/rancher2/authConfigAdfs.go index 2edaa5c99..8e9d5eb43 100644 --- a/sdk/go/rancher2/authConfigAdfs.go +++ b/sdk/go/rancher2/authConfigAdfs.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/authConfigAzureAd.go b/sdk/go/rancher2/authConfigAzureAd.go index 0da9ff6d4..9f067b147 100644 --- a/sdk/go/rancher2/authConfigAzureAd.go +++ b/sdk/go/rancher2/authConfigAzureAd.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -19,7 +19,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/authConfigFreeIpa.go b/sdk/go/rancher2/authConfigFreeIpa.go index 6680f01e9..4d045c9ee 100644 --- a/sdk/go/rancher2/authConfigFreeIpa.go +++ b/sdk/go/rancher2/authConfigFreeIpa.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/authConfigGithub.go b/sdk/go/rancher2/authConfigGithub.go index 86f90fb32..6be4cb038 100644 --- a/sdk/go/rancher2/authConfigGithub.go +++ b/sdk/go/rancher2/authConfigGithub.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/authConfigKeycloak.go b/sdk/go/rancher2/authConfigKeycloak.go index 61019e2c0..38d7209c9 100644 --- a/sdk/go/rancher2/authConfigKeycloak.go +++ b/sdk/go/rancher2/authConfigKeycloak.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/authConfigOkta.go b/sdk/go/rancher2/authConfigOkta.go index fa70731b0..2b3b2a065 100644 --- a/sdk/go/rancher2/authConfigOkta.go +++ b/sdk/go/rancher2/authConfigOkta.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/authConfigOpenLdap.go b/sdk/go/rancher2/authConfigOpenLdap.go index 884adcd79..9e9e2f4d8 100644 --- a/sdk/go/rancher2/authConfigOpenLdap.go +++ b/sdk/go/rancher2/authConfigOpenLdap.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/authConfigPing.go b/sdk/go/rancher2/authConfigPing.go index 032e89ba3..f5a91a6f3 100644 --- a/sdk/go/rancher2/authConfigPing.go +++ b/sdk/go/rancher2/authConfigPing.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/bootstrap.go b/sdk/go/rancher2/bootstrap.go index e9356b18c..8750495aa 100644 --- a/sdk/go/rancher2/bootstrap.go +++ b/sdk/go/rancher2/bootstrap.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -18,7 +18,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -44,7 +44,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -71,7 +71,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/catalog.go b/sdk/go/rancher2/catalog.go index 3a1f8a4ad..620db274e 100644 --- a/sdk/go/rancher2/catalog.go +++ b/sdk/go/rancher2/catalog.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -21,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/catalogV2.go b/sdk/go/rancher2/catalogV2.go index 340df370d..0ff96d663 100644 --- a/sdk/go/rancher2/catalogV2.go +++ b/sdk/go/rancher2/catalogV2.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/certificate.go b/sdk/go/rancher2/certificate.go index db8edc5db..073168c9a 100644 --- a/sdk/go/rancher2/certificate.go +++ b/sdk/go/rancher2/certificate.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/cloudCredential.go b/sdk/go/rancher2/cloudCredential.go index 5472528cf..c31497310 100644 --- a/sdk/go/rancher2/cloudCredential.go +++ b/sdk/go/rancher2/cloudCredential.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -52,7 +52,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/cluster.go b/sdk/go/rancher2/cluster.go index 7214a6e07..9e04e6189 100644 --- a/sdk/go/rancher2/cluster.go +++ b/sdk/go/rancher2/cluster.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -24,7 +24,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -54,7 +54,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -87,7 +87,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -189,7 +189,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -256,7 +256,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -320,7 +320,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -391,7 +391,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -460,7 +460,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -521,7 +521,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -565,7 +565,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -631,7 +631,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -693,7 +693,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -725,6 +725,7 @@ import ( // VirtualNetworkResourceGroup: pulumi.String(""), // Subnet: pulumi.String(""), // NodeResourceGroup: pulumi.String(""), +// OutboundType: pulumi.String("loadBalancer"), // NodePools: rancher2.ClusterAksConfigV2NodePoolArray{ // &rancher2.ClusterAksConfigV2NodePoolArgs{ // AvailabilityZones: pulumi.StringArray{ diff --git a/sdk/go/rancher2/clusterDriver.go b/sdk/go/rancher2/clusterDriver.go index 81ac2d47f..60917e3a5 100644 --- a/sdk/go/rancher2/clusterDriver.go +++ b/sdk/go/rancher2/clusterDriver.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/clusterRoleTemplateBinding.go b/sdk/go/rancher2/clusterRoleTemplateBinding.go index eaa385822..9d44eafca 100644 --- a/sdk/go/rancher2/clusterRoleTemplateBinding.go +++ b/sdk/go/rancher2/clusterRoleTemplateBinding.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -21,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/clusterSync.go b/sdk/go/rancher2/clusterSync.go index 791690f3d..496ee4429 100644 --- a/sdk/go/rancher2/clusterSync.go +++ b/sdk/go/rancher2/clusterSync.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -19,7 +19,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/clusterTemplate.go b/sdk/go/rancher2/clusterTemplate.go index c3d211a43..e1c9cec44 100644 --- a/sdk/go/rancher2/clusterTemplate.go +++ b/sdk/go/rancher2/clusterTemplate.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -75,7 +75,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/clusterV2.go b/sdk/go/rancher2/clusterV2.go index a724cc3b6..fdfadafec 100644 --- a/sdk/go/rancher2/clusterV2.go +++ b/sdk/go/rancher2/clusterV2.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/config/config.go b/sdk/go/rancher2/config/config.go index 8e18faefc..b9c0cdc9a 100644 --- a/sdk/go/rancher2/config/config.go +++ b/sdk/go/rancher2/config/config.go @@ -4,7 +4,7 @@ package config import ( - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" ) diff --git a/sdk/go/rancher2/configMapV2.go b/sdk/go/rancher2/configMapV2.go index 1924e9a5b..7fce0dad4 100644 --- a/sdk/go/rancher2/configMapV2.go +++ b/sdk/go/rancher2/configMapV2.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/customUserToken.go b/sdk/go/rancher2/customUserToken.go index bcc05cfa2..f724c8fb2 100644 --- a/sdk/go/rancher2/customUserToken.go +++ b/sdk/go/rancher2/customUserToken.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -29,7 +29,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/etcdBackup.go b/sdk/go/rancher2/etcdBackup.go index fa8bdeed0..c6237e95f 100644 --- a/sdk/go/rancher2/etcdBackup.go +++ b/sdk/go/rancher2/etcdBackup.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/feature.go b/sdk/go/rancher2/feature.go index 948dfbcc4..b6f7ffec9 100644 --- a/sdk/go/rancher2/feature.go +++ b/sdk/go/rancher2/feature.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -26,7 +26,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getApp.go b/sdk/go/rancher2/getApp.go index 9bc9772ea..4f3591b3a 100644 --- a/sdk/go/rancher2/getApp.go +++ b/sdk/go/rancher2/getApp.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getCatalog.go b/sdk/go/rancher2/getCatalog.go index ab6f64b17..260e1498e 100644 --- a/sdk/go/rancher2/getCatalog.go +++ b/sdk/go/rancher2/getCatalog.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getCatalogV2.go b/sdk/go/rancher2/getCatalogV2.go index a0159431e..37b9c9d07 100644 --- a/sdk/go/rancher2/getCatalogV2.go +++ b/sdk/go/rancher2/getCatalogV2.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/getCertificate.go b/sdk/go/rancher2/getCertificate.go index f65aff233..f30f2328a 100644 --- a/sdk/go/rancher2/getCertificate.go +++ b/sdk/go/rancher2/getCertificate.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -24,7 +24,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -50,7 +50,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getCloudCredential.go b/sdk/go/rancher2/getCloudCredential.go index b6fc1e9ca..769e85c58 100644 --- a/sdk/go/rancher2/getCloudCredential.go +++ b/sdk/go/rancher2/getCloudCredential.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getCluster.go b/sdk/go/rancher2/getCluster.go index 076f5dd1e..7cdf9d813 100644 --- a/sdk/go/rancher2/getCluster.go +++ b/sdk/go/rancher2/getCluster.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getClusterDriver.go b/sdk/go/rancher2/getClusterDriver.go index 4bdd586b1..138110d67 100644 --- a/sdk/go/rancher2/getClusterDriver.go +++ b/sdk/go/rancher2/getClusterDriver.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getClusterRoleTemplateBinding.go b/sdk/go/rancher2/getClusterRoleTemplateBinding.go index 902872e68..072fac17a 100644 --- a/sdk/go/rancher2/getClusterRoleTemplateBinding.go +++ b/sdk/go/rancher2/getClusterRoleTemplateBinding.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getClusterTemplate.go b/sdk/go/rancher2/getClusterTemplate.go index 8139bafad..aceba4c12 100644 --- a/sdk/go/rancher2/getClusterTemplate.go +++ b/sdk/go/rancher2/getClusterTemplate.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getClusterV2.go b/sdk/go/rancher2/getClusterV2.go index 9a0a3aeae..c43613f13 100644 --- a/sdk/go/rancher2/getClusterV2.go +++ b/sdk/go/rancher2/getClusterV2.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getConfigMapV2.go b/sdk/go/rancher2/getConfigMapV2.go index 3e8c206ef..b5f882212 100644 --- a/sdk/go/rancher2/getConfigMapV2.go +++ b/sdk/go/rancher2/getConfigMapV2.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/getEtcdBackup.go b/sdk/go/rancher2/getEtcdBackup.go index 4cd006457..1b357c507 100644 --- a/sdk/go/rancher2/getEtcdBackup.go +++ b/sdk/go/rancher2/getEtcdBackup.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getGlobalDnsProvider.go b/sdk/go/rancher2/getGlobalDnsProvider.go deleted file mode 100644 index 928e17735..000000000 --- a/sdk/go/rancher2/getGlobalDnsProvider.go +++ /dev/null @@ -1,160 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package rancher2 - -import ( - "context" - "reflect" - - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -// Provides a Rancher V2 Global DNS Provider data source. Use this data source to retrieve information about a Rancher v2 global DNS provider -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := rancher2.LookupGlobalDnsProvider(ctx, &rancher2.LookupGlobalDnsProviderArgs{ -// Name: "foo", -// }, nil) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -func LookupGlobalDnsProvider(ctx *pulumi.Context, args *LookupGlobalDnsProviderArgs, opts ...pulumi.InvokeOption) (*LookupGlobalDnsProviderResult, error) { - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupGlobalDnsProviderResult - err := ctx.Invoke("rancher2:index/getGlobalDnsProvider:getGlobalDnsProvider", args, &rv, opts...) - if err != nil { - return nil, err - } - return &rv, nil -} - -// A collection of arguments for invoking getGlobalDnsProvider. -type LookupGlobalDnsProviderArgs struct { - // The name of the global DNS provider (string) - Name string `pulumi:"name"` -} - -// A collection of values returned by getGlobalDnsProvider. -type LookupGlobalDnsProviderResult struct { - AlidnsConfig GetGlobalDnsProviderAlidnsConfig `pulumi:"alidnsConfig"` - // (Computed) Annotations of the resource (map) - Annotations map[string]string `pulumi:"annotations"` - CloudflareConfig GetGlobalDnsProviderCloudflareConfig `pulumi:"cloudflareConfig"` - DnsProvider string `pulumi:"dnsProvider"` - // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - // (Computed) Labels of the resource (map) - Labels map[string]string `pulumi:"labels"` - // (Computed) The name of the global DNS provider (string) - Name string `pulumi:"name"` - RootDomain string `pulumi:"rootDomain"` - Route53Config GetGlobalDnsProviderRoute53Config `pulumi:"route53Config"` -} - -func LookupGlobalDnsProviderOutput(ctx *pulumi.Context, args LookupGlobalDnsProviderOutputArgs, opts ...pulumi.InvokeOption) LookupGlobalDnsProviderResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). - ApplyT(func(v interface{}) (LookupGlobalDnsProviderResultOutput, error) { - args := v.(LookupGlobalDnsProviderArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupGlobalDnsProviderResult - secret, err := ctx.InvokePackageRaw("rancher2:index/getGlobalDnsProvider:getGlobalDnsProvider", args, &rv, "", opts...) - if err != nil { - return LookupGlobalDnsProviderResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupGlobalDnsProviderResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupGlobalDnsProviderResultOutput), nil - } - return output, nil - }).(LookupGlobalDnsProviderResultOutput) -} - -// A collection of arguments for invoking getGlobalDnsProvider. -type LookupGlobalDnsProviderOutputArgs struct { - // The name of the global DNS provider (string) - Name pulumi.StringInput `pulumi:"name"` -} - -func (LookupGlobalDnsProviderOutputArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LookupGlobalDnsProviderArgs)(nil)).Elem() -} - -// A collection of values returned by getGlobalDnsProvider. -type LookupGlobalDnsProviderResultOutput struct{ *pulumi.OutputState } - -func (LookupGlobalDnsProviderResultOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LookupGlobalDnsProviderResult)(nil)).Elem() -} - -func (o LookupGlobalDnsProviderResultOutput) ToLookupGlobalDnsProviderResultOutput() LookupGlobalDnsProviderResultOutput { - return o -} - -func (o LookupGlobalDnsProviderResultOutput) ToLookupGlobalDnsProviderResultOutputWithContext(ctx context.Context) LookupGlobalDnsProviderResultOutput { - return o -} - -func (o LookupGlobalDnsProviderResultOutput) AlidnsConfig() GetGlobalDnsProviderAlidnsConfigOutput { - return o.ApplyT(func(v LookupGlobalDnsProviderResult) GetGlobalDnsProviderAlidnsConfig { return v.AlidnsConfig }).(GetGlobalDnsProviderAlidnsConfigOutput) -} - -// (Computed) Annotations of the resource (map) -func (o LookupGlobalDnsProviderResultOutput) Annotations() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupGlobalDnsProviderResult) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) -} - -func (o LookupGlobalDnsProviderResultOutput) CloudflareConfig() GetGlobalDnsProviderCloudflareConfigOutput { - return o.ApplyT(func(v LookupGlobalDnsProviderResult) GetGlobalDnsProviderCloudflareConfig { return v.CloudflareConfig }).(GetGlobalDnsProviderCloudflareConfigOutput) -} - -func (o LookupGlobalDnsProviderResultOutput) DnsProvider() pulumi.StringOutput { - return o.ApplyT(func(v LookupGlobalDnsProviderResult) string { return v.DnsProvider }).(pulumi.StringOutput) -} - -// The provider-assigned unique ID for this managed resource. -func (o LookupGlobalDnsProviderResultOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v LookupGlobalDnsProviderResult) string { return v.Id }).(pulumi.StringOutput) -} - -// (Computed) Labels of the resource (map) -func (o LookupGlobalDnsProviderResultOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupGlobalDnsProviderResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) -} - -// (Computed) The name of the global DNS provider (string) -func (o LookupGlobalDnsProviderResultOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v LookupGlobalDnsProviderResult) string { return v.Name }).(pulumi.StringOutput) -} - -func (o LookupGlobalDnsProviderResultOutput) RootDomain() pulumi.StringOutput { - return o.ApplyT(func(v LookupGlobalDnsProviderResult) string { return v.RootDomain }).(pulumi.StringOutput) -} - -func (o LookupGlobalDnsProviderResultOutput) Route53Config() GetGlobalDnsProviderRoute53ConfigOutput { - return o.ApplyT(func(v LookupGlobalDnsProviderResult) GetGlobalDnsProviderRoute53Config { return v.Route53Config }).(GetGlobalDnsProviderRoute53ConfigOutput) -} - -func init() { - pulumi.RegisterOutputType(LookupGlobalDnsProviderResultOutput{}) -} diff --git a/sdk/go/rancher2/getGlobalRole.go b/sdk/go/rancher2/getGlobalRole.go index 499641702..60e9dc320 100644 --- a/sdk/go/rancher2/getGlobalRole.go +++ b/sdk/go/rancher2/getGlobalRole.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getGlobalRoleBinding.go b/sdk/go/rancher2/getGlobalRoleBinding.go index 487cfed30..db9e75067 100644 --- a/sdk/go/rancher2/getGlobalRoleBinding.go +++ b/sdk/go/rancher2/getGlobalRoleBinding.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getMultiClusterApp.go b/sdk/go/rancher2/getMultiClusterApp.go index 763ecfdf8..47793e7b8 100644 --- a/sdk/go/rancher2/getMultiClusterApp.go +++ b/sdk/go/rancher2/getMultiClusterApp.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getNamespace.go b/sdk/go/rancher2/getNamespace.go index 4314b36b3..e03bb1e78 100644 --- a/sdk/go/rancher2/getNamespace.go +++ b/sdk/go/rancher2/getNamespace.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getNodeDriver.go b/sdk/go/rancher2/getNodeDriver.go index e9b5bc7a3..7e7221d32 100644 --- a/sdk/go/rancher2/getNodeDriver.go +++ b/sdk/go/rancher2/getNodeDriver.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getNodePool.go b/sdk/go/rancher2/getNodePool.go index ab5dc787e..eb4f3f216 100644 --- a/sdk/go/rancher2/getNodePool.go +++ b/sdk/go/rancher2/getNodePool.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getNodeTemplate.go b/sdk/go/rancher2/getNodeTemplate.go index 94fb897b3..c4f483199 100644 --- a/sdk/go/rancher2/getNodeTemplate.go +++ b/sdk/go/rancher2/getNodeTemplate.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getPodSecurityAdmissionConfigurationTemplate.go b/sdk/go/rancher2/getPodSecurityAdmissionConfigurationTemplate.go index 45c8e5a48..55c9d1a78 100644 --- a/sdk/go/rancher2/getPodSecurityAdmissionConfigurationTemplate.go +++ b/sdk/go/rancher2/getPodSecurityAdmissionConfigurationTemplate.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/getPrincipal.go b/sdk/go/rancher2/getPrincipal.go index 0ef4988ba..59b7f472c 100644 --- a/sdk/go/rancher2/getPrincipal.go +++ b/sdk/go/rancher2/getPrincipal.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getProject.go b/sdk/go/rancher2/getProject.go index 666475daf..09ea0ba9e 100644 --- a/sdk/go/rancher2/getProject.go +++ b/sdk/go/rancher2/getProject.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/getProjectRoleTemplateBinding.go b/sdk/go/rancher2/getProjectRoleTemplateBinding.go index 1e7e583ff..d1755368a 100644 --- a/sdk/go/rancher2/getProjectRoleTemplateBinding.go +++ b/sdk/go/rancher2/getProjectRoleTemplateBinding.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getRegistry.go b/sdk/go/rancher2/getRegistry.go index e238d7506..6cd25d243 100644 --- a/sdk/go/rancher2/getRegistry.go +++ b/sdk/go/rancher2/getRegistry.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -24,7 +24,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -50,7 +50,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getRoleTemplate.go b/sdk/go/rancher2/getRoleTemplate.go index f8734077d..03d88303f 100644 --- a/sdk/go/rancher2/getRoleTemplate.go +++ b/sdk/go/rancher2/getRoleTemplate.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getSecret.go b/sdk/go/rancher2/getSecret.go index 85af27ec7..3351d052b 100644 --- a/sdk/go/rancher2/getSecret.go +++ b/sdk/go/rancher2/getSecret.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -24,7 +24,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -50,7 +50,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getSecretV2.go b/sdk/go/rancher2/getSecretV2.go index 354e8f69c..b27dfffa8 100644 --- a/sdk/go/rancher2/getSecretV2.go +++ b/sdk/go/rancher2/getSecretV2.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/getSetting.go b/sdk/go/rancher2/getSetting.go index 98893f8d8..8a6ec5814 100644 --- a/sdk/go/rancher2/getSetting.go +++ b/sdk/go/rancher2/getSetting.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/getStorageClassV2.go b/sdk/go/rancher2/getStorageClassV2.go index d9906d017..c187934a6 100644 --- a/sdk/go/rancher2/getStorageClassV2.go +++ b/sdk/go/rancher2/getStorageClassV2.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/getUser.go b/sdk/go/rancher2/getUser.go index e6778bc3b..e6dec8117 100644 --- a/sdk/go/rancher2/getUser.go +++ b/sdk/go/rancher2/getUser.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -69,6 +69,8 @@ type LookupUserResult struct { IsExternal *bool `pulumi:"isExternal"` // (Computed) Labels of the resource (map) Labels map[string]string `pulumi:"labels"` + // (Computed) The user must change password at first login (bool) + MustChangePassword bool `pulumi:"mustChangePassword"` // (Computed) The user common name (string) Name string `pulumi:"name"` // (Computed) The user principal IDs (list) @@ -148,6 +150,11 @@ func (o LookupUserResultOutput) Labels() pulumi.StringMapOutput { return o.ApplyT(func(v LookupUserResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) } +// (Computed) The user must change password at first login (bool) +func (o LookupUserResultOutput) MustChangePassword() pulumi.BoolOutput { + return o.ApplyT(func(v LookupUserResult) bool { return v.MustChangePassword }).(pulumi.BoolOutput) +} + // (Computed) The user common name (string) func (o LookupUserResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LookupUserResult) string { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/rancher2/globalDns.go b/sdk/go/rancher2/globalDns.go deleted file mode 100644 index b2e548fa1..000000000 --- a/sdk/go/rancher2/globalDns.go +++ /dev/null @@ -1,424 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package rancher2 - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -// Provides a Rancher V2 Global DNS resource. This can be used to create Global DNS records for Rancher V2. -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// // Create a new rancher2 Global DNS Provider -// foo, err := rancher2.NewGlobalDnsProvider(ctx, "foo", &rancher2.GlobalDnsProviderArgs{ -// Name: pulumi.String("foo"), -// RootDomain: pulumi.String("example.com"), -// Route53Config: &rancher2.GlobalDnsProviderRoute53ConfigArgs{ -// AccessKey: pulumi.String("YYYYYYYYYYYYYYYYYYYY"), -// SecretKey: pulumi.String("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), -// ZoneType: pulumi.String("private"), -// Region: pulumi.String("us-east-1"), -// }, -// }) -// if err != nil { -// return err -// } -// // Create a new rancher2 Global DNS using project IDs -// _, err = rancher2.NewGlobalDns(ctx, "foo", &rancher2.GlobalDnsArgs{ -// Name: pulumi.String("foo"), -// Fqdn: pulumi.String("foo.example.com"), -// ProviderId: foo.ID(), -// ProjectIds: pulumi.StringArray{ -// pulumi.String("project1"), -// pulumi.String("project2"), -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// // Create a new rancher2 Global DNS Provider -// foo, err := rancher2.NewGlobalDnsProvider(ctx, "foo", &rancher2.GlobalDnsProviderArgs{ -// Name: pulumi.String("foo"), -// RootDomain: pulumi.String("example.com"), -// Route53Config: &rancher2.GlobalDnsProviderRoute53ConfigArgs{ -// AccessKey: pulumi.String("YYYYYYYYYYYYYYYYYYYY"), -// SecretKey: pulumi.String("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), -// ZoneType: pulumi.String("private"), -// Region: pulumi.String("us-east-1"), -// }, -// }) -// if err != nil { -// return err -// } -// // Create a new rancher2 Global DNS using MultiClusterApp ID -// _, err = rancher2.NewGlobalDns(ctx, "foo", &rancher2.GlobalDnsArgs{ -// Name: pulumi.String("foo"), -// Fqdn: pulumi.String("foo.example.com"), -// ProviderId: foo.ID(), -// MultiClusterAppId: pulumi.String(""), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// # Global DNS Entry can be imported using the Rancher Global DNS ID -// -// ```sh -// $ pulumi import rancher2:index/globalDns:GlobalDns foo -// ``` -type GlobalDns struct { - pulumi.CustomResourceState - - // Annotations for Global DNS (map) - Annotations pulumi.StringMapOutput `pulumi:"annotations"` - // The Global DNS record (string) - Fqdn pulumi.StringOutput `pulumi:"fqdn"` - // Labels for Global DNS (map) - Labels pulumi.StringMapOutput `pulumi:"labels"` - // The MultiCluster App ID to assign to the Global DNS. Conflicts with `projectIds` (string) - MultiClusterAppId pulumi.StringPtrOutput `pulumi:"multiClusterAppId"` - // The name of the Global DNS (string) - Name pulumi.StringOutput `pulumi:"name"` - // A list of projectIds to assign to the Global DNS. Conflicts with `multiClusterAppId` (list(string)) - ProjectIds pulumi.StringArrayOutput `pulumi:"projectIds"` - // The Global DNS provider ID to use (string) - ProviderId pulumi.StringOutput `pulumi:"providerId"` - // TTL in seconds for DNS record. Default: `300` (int) - Ttl pulumi.IntPtrOutput `pulumi:"ttl"` -} - -// NewGlobalDns registers a new resource with the given unique name, arguments, and options. -func NewGlobalDns(ctx *pulumi.Context, - name string, args *GlobalDnsArgs, opts ...pulumi.ResourceOption) (*GlobalDns, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.Fqdn == nil { - return nil, errors.New("invalid value for required argument 'Fqdn'") - } - if args.ProviderId == nil { - return nil, errors.New("invalid value for required argument 'ProviderId'") - } - opts = internal.PkgResourceDefaultOpts(opts) - var resource GlobalDns - err := ctx.RegisterResource("rancher2:index/globalDns:GlobalDns", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetGlobalDns gets an existing GlobalDns resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetGlobalDns(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *GlobalDnsState, opts ...pulumi.ResourceOption) (*GlobalDns, error) { - var resource GlobalDns - err := ctx.ReadResource("rancher2:index/globalDns:GlobalDns", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering GlobalDns resources. -type globalDnsState struct { - // Annotations for Global DNS (map) - Annotations map[string]string `pulumi:"annotations"` - // The Global DNS record (string) - Fqdn *string `pulumi:"fqdn"` - // Labels for Global DNS (map) - Labels map[string]string `pulumi:"labels"` - // The MultiCluster App ID to assign to the Global DNS. Conflicts with `projectIds` (string) - MultiClusterAppId *string `pulumi:"multiClusterAppId"` - // The name of the Global DNS (string) - Name *string `pulumi:"name"` - // A list of projectIds to assign to the Global DNS. Conflicts with `multiClusterAppId` (list(string)) - ProjectIds []string `pulumi:"projectIds"` - // The Global DNS provider ID to use (string) - ProviderId *string `pulumi:"providerId"` - // TTL in seconds for DNS record. Default: `300` (int) - Ttl *int `pulumi:"ttl"` -} - -type GlobalDnsState struct { - // Annotations for Global DNS (map) - Annotations pulumi.StringMapInput - // The Global DNS record (string) - Fqdn pulumi.StringPtrInput - // Labels for Global DNS (map) - Labels pulumi.StringMapInput - // The MultiCluster App ID to assign to the Global DNS. Conflicts with `projectIds` (string) - MultiClusterAppId pulumi.StringPtrInput - // The name of the Global DNS (string) - Name pulumi.StringPtrInput - // A list of projectIds to assign to the Global DNS. Conflicts with `multiClusterAppId` (list(string)) - ProjectIds pulumi.StringArrayInput - // The Global DNS provider ID to use (string) - ProviderId pulumi.StringPtrInput - // TTL in seconds for DNS record. Default: `300` (int) - Ttl pulumi.IntPtrInput -} - -func (GlobalDnsState) ElementType() reflect.Type { - return reflect.TypeOf((*globalDnsState)(nil)).Elem() -} - -type globalDnsArgs struct { - // Annotations for Global DNS (map) - Annotations map[string]string `pulumi:"annotations"` - // The Global DNS record (string) - Fqdn string `pulumi:"fqdn"` - // Labels for Global DNS (map) - Labels map[string]string `pulumi:"labels"` - // The MultiCluster App ID to assign to the Global DNS. Conflicts with `projectIds` (string) - MultiClusterAppId *string `pulumi:"multiClusterAppId"` - // The name of the Global DNS (string) - Name *string `pulumi:"name"` - // A list of projectIds to assign to the Global DNS. Conflicts with `multiClusterAppId` (list(string)) - ProjectIds []string `pulumi:"projectIds"` - // The Global DNS provider ID to use (string) - ProviderId string `pulumi:"providerId"` - // TTL in seconds for DNS record. Default: `300` (int) - Ttl *int `pulumi:"ttl"` -} - -// The set of arguments for constructing a GlobalDns resource. -type GlobalDnsArgs struct { - // Annotations for Global DNS (map) - Annotations pulumi.StringMapInput - // The Global DNS record (string) - Fqdn pulumi.StringInput - // Labels for Global DNS (map) - Labels pulumi.StringMapInput - // The MultiCluster App ID to assign to the Global DNS. Conflicts with `projectIds` (string) - MultiClusterAppId pulumi.StringPtrInput - // The name of the Global DNS (string) - Name pulumi.StringPtrInput - // A list of projectIds to assign to the Global DNS. Conflicts with `multiClusterAppId` (list(string)) - ProjectIds pulumi.StringArrayInput - // The Global DNS provider ID to use (string) - ProviderId pulumi.StringInput - // TTL in seconds for DNS record. Default: `300` (int) - Ttl pulumi.IntPtrInput -} - -func (GlobalDnsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*globalDnsArgs)(nil)).Elem() -} - -type GlobalDnsInput interface { - pulumi.Input - - ToGlobalDnsOutput() GlobalDnsOutput - ToGlobalDnsOutputWithContext(ctx context.Context) GlobalDnsOutput -} - -func (*GlobalDns) ElementType() reflect.Type { - return reflect.TypeOf((**GlobalDns)(nil)).Elem() -} - -func (i *GlobalDns) ToGlobalDnsOutput() GlobalDnsOutput { - return i.ToGlobalDnsOutputWithContext(context.Background()) -} - -func (i *GlobalDns) ToGlobalDnsOutputWithContext(ctx context.Context) GlobalDnsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GlobalDnsOutput) -} - -// GlobalDnsArrayInput is an input type that accepts GlobalDnsArray and GlobalDnsArrayOutput values. -// You can construct a concrete instance of `GlobalDnsArrayInput` via: -// -// GlobalDnsArray{ GlobalDnsArgs{...} } -type GlobalDnsArrayInput interface { - pulumi.Input - - ToGlobalDnsArrayOutput() GlobalDnsArrayOutput - ToGlobalDnsArrayOutputWithContext(context.Context) GlobalDnsArrayOutput -} - -type GlobalDnsArray []GlobalDnsInput - -func (GlobalDnsArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*GlobalDns)(nil)).Elem() -} - -func (i GlobalDnsArray) ToGlobalDnsArrayOutput() GlobalDnsArrayOutput { - return i.ToGlobalDnsArrayOutputWithContext(context.Background()) -} - -func (i GlobalDnsArray) ToGlobalDnsArrayOutputWithContext(ctx context.Context) GlobalDnsArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GlobalDnsArrayOutput) -} - -// GlobalDnsMapInput is an input type that accepts GlobalDnsMap and GlobalDnsMapOutput values. -// You can construct a concrete instance of `GlobalDnsMapInput` via: -// -// GlobalDnsMap{ "key": GlobalDnsArgs{...} } -type GlobalDnsMapInput interface { - pulumi.Input - - ToGlobalDnsMapOutput() GlobalDnsMapOutput - ToGlobalDnsMapOutputWithContext(context.Context) GlobalDnsMapOutput -} - -type GlobalDnsMap map[string]GlobalDnsInput - -func (GlobalDnsMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*GlobalDns)(nil)).Elem() -} - -func (i GlobalDnsMap) ToGlobalDnsMapOutput() GlobalDnsMapOutput { - return i.ToGlobalDnsMapOutputWithContext(context.Background()) -} - -func (i GlobalDnsMap) ToGlobalDnsMapOutputWithContext(ctx context.Context) GlobalDnsMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(GlobalDnsMapOutput) -} - -type GlobalDnsOutput struct{ *pulumi.OutputState } - -func (GlobalDnsOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GlobalDns)(nil)).Elem() -} - -func (o GlobalDnsOutput) ToGlobalDnsOutput() GlobalDnsOutput { - return o -} - -func (o GlobalDnsOutput) ToGlobalDnsOutputWithContext(ctx context.Context) GlobalDnsOutput { - return o -} - -// Annotations for Global DNS (map) -func (o GlobalDnsOutput) Annotations() pulumi.StringMapOutput { - return o.ApplyT(func(v *GlobalDns) pulumi.StringMapOutput { return v.Annotations }).(pulumi.StringMapOutput) -} - -// The Global DNS record (string) -func (o GlobalDnsOutput) Fqdn() pulumi.StringOutput { - return o.ApplyT(func(v *GlobalDns) pulumi.StringOutput { return v.Fqdn }).(pulumi.StringOutput) -} - -// Labels for Global DNS (map) -func (o GlobalDnsOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v *GlobalDns) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) -} - -// The MultiCluster App ID to assign to the Global DNS. Conflicts with `projectIds` (string) -func (o GlobalDnsOutput) MultiClusterAppId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GlobalDns) pulumi.StringPtrOutput { return v.MultiClusterAppId }).(pulumi.StringPtrOutput) -} - -// The name of the Global DNS (string) -func (o GlobalDnsOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v *GlobalDns) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) -} - -// A list of projectIds to assign to the Global DNS. Conflicts with `multiClusterAppId` (list(string)) -func (o GlobalDnsOutput) ProjectIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v *GlobalDns) pulumi.StringArrayOutput { return v.ProjectIds }).(pulumi.StringArrayOutput) -} - -// The Global DNS provider ID to use (string) -func (o GlobalDnsOutput) ProviderId() pulumi.StringOutput { - return o.ApplyT(func(v *GlobalDns) pulumi.StringOutput { return v.ProviderId }).(pulumi.StringOutput) -} - -// TTL in seconds for DNS record. Default: `300` (int) -func (o GlobalDnsOutput) Ttl() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GlobalDns) pulumi.IntPtrOutput { return v.Ttl }).(pulumi.IntPtrOutput) -} - -type GlobalDnsArrayOutput struct{ *pulumi.OutputState } - -func (GlobalDnsArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*GlobalDns)(nil)).Elem() -} - -func (o GlobalDnsArrayOutput) ToGlobalDnsArrayOutput() GlobalDnsArrayOutput { - return o -} - -func (o GlobalDnsArrayOutput) ToGlobalDnsArrayOutputWithContext(ctx context.Context) GlobalDnsArrayOutput { - return o -} - -func (o GlobalDnsArrayOutput) Index(i pulumi.IntInput) GlobalDnsOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *GlobalDns { - return vs[0].([]*GlobalDns)[vs[1].(int)] - }).(GlobalDnsOutput) -} - -type GlobalDnsMapOutput struct{ *pulumi.OutputState } - -func (GlobalDnsMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*GlobalDns)(nil)).Elem() -} - -func (o GlobalDnsMapOutput) ToGlobalDnsMapOutput() GlobalDnsMapOutput { - return o -} - -func (o GlobalDnsMapOutput) ToGlobalDnsMapOutputWithContext(ctx context.Context) GlobalDnsMapOutput { - return o -} - -func (o GlobalDnsMapOutput) MapIndex(k pulumi.StringInput) GlobalDnsOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *GlobalDns { - return vs[0].(map[string]*GlobalDns)[vs[1].(string)] - }).(GlobalDnsOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*GlobalDnsInput)(nil)).Elem(), &GlobalDns{}) - pulumi.RegisterInputType(reflect.TypeOf((*GlobalDnsArrayInput)(nil)).Elem(), GlobalDnsArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GlobalDnsMapInput)(nil)).Elem(), GlobalDnsMap{}) - pulumi.RegisterOutputType(GlobalDnsOutput{}) - pulumi.RegisterOutputType(GlobalDnsArrayOutput{}) - pulumi.RegisterOutputType(GlobalDnsMapOutput{}) -} diff --git a/sdk/go/rancher2/globalDnsProvider.go b/sdk/go/rancher2/globalDnsProvider.go deleted file mode 100644 index 6e6749c11..000000000 --- a/sdk/go/rancher2/globalDnsProvider.go +++ /dev/null @@ -1,405 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package rancher2 - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -// Provides a Rancher V2 Global DNS Provider resource. This can be used to create Global DNS Providers for Rancher V2. Supported Global DNS Providers: `alidns, cloudflare, route53` -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// // Create a new rancher2 Global DNS Provider - alidns -// _, err := rancher2.NewGlobalDnsProvider(ctx, "foo", &rancher2.GlobalDnsProviderArgs{ -// Name: pulumi.String("foo"), -// RootDomain: pulumi.String("example.com"), -// AlidnsConfig: &rancher2.GlobalDnsProviderAlidnsConfigArgs{ -// AccessKey: pulumi.String("YYYYYYYYYYYYYYYYYYYY"), -// SecretKey: pulumi.String("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// // Create a new rancher2 Global DNS Provider - cloudflare -// _, err := rancher2.NewGlobalDnsProvider(ctx, "foo", &rancher2.GlobalDnsProviderArgs{ -// Name: pulumi.String("foo"), -// RootDomain: pulumi.String("example.com"), -// CloudflareConfig: &rancher2.GlobalDnsProviderCloudflareConfigArgs{ -// ApiEmail: pulumi.String("test@test.local"), -// ApiKey: pulumi.String("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), -// ProxySetting: pulumi.Bool(true), -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// // Create a new rancher2 Global DNS Provider - route53 -// _, err := rancher2.NewGlobalDnsProvider(ctx, "foo", &rancher2.GlobalDnsProviderArgs{ -// Name: pulumi.String("foo"), -// RootDomain: pulumi.String("example.com"), -// Route53Config: &rancher2.GlobalDnsProviderRoute53ConfigArgs{ -// AccessKey: pulumi.String("YYYYYYYYYYYYYYYYYYYY"), -// SecretKey: pulumi.String("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), -// ZoneType: pulumi.String("private"), -// Region: pulumi.String("us-east-1"), -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// # Global DNS Providers can be imported using the Rancher Global DNS Provider ID -// -// ```sh -// $ pulumi import rancher2:index/globalDnsProvider:GlobalDnsProvider foo -// ``` -type GlobalDnsProvider struct { - pulumi.CustomResourceState - - AlidnsConfig GlobalDnsProviderAlidnsConfigPtrOutput `pulumi:"alidnsConfig"` - // Annotations for Global DNS Provider (map) - Annotations pulumi.StringMapOutput `pulumi:"annotations"` - CloudflareConfig GlobalDnsProviderCloudflareConfigPtrOutput `pulumi:"cloudflareConfig"` - // (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - DnsProvider pulumi.StringOutput `pulumi:"dnsProvider"` - // Labels for Global DNS Provider (map) - Labels pulumi.StringMapOutput `pulumi:"labels"` - // The name of the Global DNS Provider (string) - Name pulumi.StringOutput `pulumi:"name"` - // The user ID to assign Global DNS Provider (string) - RootDomain pulumi.StringOutput `pulumi:"rootDomain"` - Route53Config GlobalDnsProviderRoute53ConfigPtrOutput `pulumi:"route53Config"` -} - -// NewGlobalDnsProvider registers a new resource with the given unique name, arguments, and options. -func NewGlobalDnsProvider(ctx *pulumi.Context, - name string, args *GlobalDnsProviderArgs, opts ...pulumi.ResourceOption) (*GlobalDnsProvider, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.RootDomain == nil { - return nil, errors.New("invalid value for required argument 'RootDomain'") - } - opts = internal.PkgResourceDefaultOpts(opts) - var resource GlobalDnsProvider - err := ctx.RegisterResource("rancher2:index/globalDnsProvider:GlobalDnsProvider", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetGlobalDnsProvider gets an existing GlobalDnsProvider resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetGlobalDnsProvider(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *GlobalDnsProviderState, opts ...pulumi.ResourceOption) (*GlobalDnsProvider, error) { - var resource GlobalDnsProvider - err := ctx.ReadResource("rancher2:index/globalDnsProvider:GlobalDnsProvider", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering GlobalDnsProvider resources. -type globalDnsProviderState struct { - AlidnsConfig *GlobalDnsProviderAlidnsConfig `pulumi:"alidnsConfig"` - // Annotations for Global DNS Provider (map) - Annotations map[string]string `pulumi:"annotations"` - CloudflareConfig *GlobalDnsProviderCloudflareConfig `pulumi:"cloudflareConfig"` - // (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - DnsProvider *string `pulumi:"dnsProvider"` - // Labels for Global DNS Provider (map) - Labels map[string]string `pulumi:"labels"` - // The name of the Global DNS Provider (string) - Name *string `pulumi:"name"` - // The user ID to assign Global DNS Provider (string) - RootDomain *string `pulumi:"rootDomain"` - Route53Config *GlobalDnsProviderRoute53Config `pulumi:"route53Config"` -} - -type GlobalDnsProviderState struct { - AlidnsConfig GlobalDnsProviderAlidnsConfigPtrInput - // Annotations for Global DNS Provider (map) - Annotations pulumi.StringMapInput - CloudflareConfig GlobalDnsProviderCloudflareConfigPtrInput - // (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - DnsProvider pulumi.StringPtrInput - // Labels for Global DNS Provider (map) - Labels pulumi.StringMapInput - // The name of the Global DNS Provider (string) - Name pulumi.StringPtrInput - // The user ID to assign Global DNS Provider (string) - RootDomain pulumi.StringPtrInput - Route53Config GlobalDnsProviderRoute53ConfigPtrInput -} - -func (GlobalDnsProviderState) ElementType() reflect.Type { - return reflect.TypeOf((*globalDnsProviderState)(nil)).Elem() -} - -type globalDnsProviderArgs struct { - AlidnsConfig *GlobalDnsProviderAlidnsConfig `pulumi:"alidnsConfig"` - // Annotations for Global DNS Provider (map) - Annotations map[string]string `pulumi:"annotations"` - CloudflareConfig *GlobalDnsProviderCloudflareConfig `pulumi:"cloudflareConfig"` - // Labels for Global DNS Provider (map) - Labels map[string]string `pulumi:"labels"` - // The name of the Global DNS Provider (string) - Name *string `pulumi:"name"` - // The user ID to assign Global DNS Provider (string) - RootDomain string `pulumi:"rootDomain"` - Route53Config *GlobalDnsProviderRoute53Config `pulumi:"route53Config"` -} - -// The set of arguments for constructing a GlobalDnsProvider resource. -type GlobalDnsProviderArgs struct { - AlidnsConfig GlobalDnsProviderAlidnsConfigPtrInput - // Annotations for Global DNS Provider (map) - Annotations pulumi.StringMapInput - CloudflareConfig GlobalDnsProviderCloudflareConfigPtrInput - // Labels for Global DNS Provider (map) - Labels pulumi.StringMapInput - // The name of the Global DNS Provider (string) - Name pulumi.StringPtrInput - // The user ID to assign Global DNS Provider (string) - RootDomain pulumi.StringInput - Route53Config GlobalDnsProviderRoute53ConfigPtrInput -} - -func (GlobalDnsProviderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*globalDnsProviderArgs)(nil)).Elem() -} - -type GlobalDnsProviderInput interface { - pulumi.Input - - ToGlobalDnsProviderOutput() GlobalDnsProviderOutput - ToGlobalDnsProviderOutputWithContext(ctx context.Context) GlobalDnsProviderOutput -} - -func (*GlobalDnsProvider) ElementType() reflect.Type { - return reflect.TypeOf((**GlobalDnsProvider)(nil)).Elem() -} - -func (i *GlobalDnsProvider) ToGlobalDnsProviderOutput() GlobalDnsProviderOutput { - return i.ToGlobalDnsProviderOutputWithContext(context.Background()) -} - -func (i *GlobalDnsProvider) ToGlobalDnsProviderOutputWithContext(ctx context.Context) GlobalDnsProviderOutput { - return pulumi.ToOutputWithContext(ctx, i).(GlobalDnsProviderOutput) -} - -// GlobalDnsProviderArrayInput is an input type that accepts GlobalDnsProviderArray and GlobalDnsProviderArrayOutput values. -// You can construct a concrete instance of `GlobalDnsProviderArrayInput` via: -// -// GlobalDnsProviderArray{ GlobalDnsProviderArgs{...} } -type GlobalDnsProviderArrayInput interface { - pulumi.Input - - ToGlobalDnsProviderArrayOutput() GlobalDnsProviderArrayOutput - ToGlobalDnsProviderArrayOutputWithContext(context.Context) GlobalDnsProviderArrayOutput -} - -type GlobalDnsProviderArray []GlobalDnsProviderInput - -func (GlobalDnsProviderArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*GlobalDnsProvider)(nil)).Elem() -} - -func (i GlobalDnsProviderArray) ToGlobalDnsProviderArrayOutput() GlobalDnsProviderArrayOutput { - return i.ToGlobalDnsProviderArrayOutputWithContext(context.Background()) -} - -func (i GlobalDnsProviderArray) ToGlobalDnsProviderArrayOutputWithContext(ctx context.Context) GlobalDnsProviderArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GlobalDnsProviderArrayOutput) -} - -// GlobalDnsProviderMapInput is an input type that accepts GlobalDnsProviderMap and GlobalDnsProviderMapOutput values. -// You can construct a concrete instance of `GlobalDnsProviderMapInput` via: -// -// GlobalDnsProviderMap{ "key": GlobalDnsProviderArgs{...} } -type GlobalDnsProviderMapInput interface { - pulumi.Input - - ToGlobalDnsProviderMapOutput() GlobalDnsProviderMapOutput - ToGlobalDnsProviderMapOutputWithContext(context.Context) GlobalDnsProviderMapOutput -} - -type GlobalDnsProviderMap map[string]GlobalDnsProviderInput - -func (GlobalDnsProviderMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*GlobalDnsProvider)(nil)).Elem() -} - -func (i GlobalDnsProviderMap) ToGlobalDnsProviderMapOutput() GlobalDnsProviderMapOutput { - return i.ToGlobalDnsProviderMapOutputWithContext(context.Background()) -} - -func (i GlobalDnsProviderMap) ToGlobalDnsProviderMapOutputWithContext(ctx context.Context) GlobalDnsProviderMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(GlobalDnsProviderMapOutput) -} - -type GlobalDnsProviderOutput struct{ *pulumi.OutputState } - -func (GlobalDnsProviderOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GlobalDnsProvider)(nil)).Elem() -} - -func (o GlobalDnsProviderOutput) ToGlobalDnsProviderOutput() GlobalDnsProviderOutput { - return o -} - -func (o GlobalDnsProviderOutput) ToGlobalDnsProviderOutputWithContext(ctx context.Context) GlobalDnsProviderOutput { - return o -} - -func (o GlobalDnsProviderOutput) AlidnsConfig() GlobalDnsProviderAlidnsConfigPtrOutput { - return o.ApplyT(func(v *GlobalDnsProvider) GlobalDnsProviderAlidnsConfigPtrOutput { return v.AlidnsConfig }).(GlobalDnsProviderAlidnsConfigPtrOutput) -} - -// Annotations for Global DNS Provider (map) -func (o GlobalDnsProviderOutput) Annotations() pulumi.StringMapOutput { - return o.ApplyT(func(v *GlobalDnsProvider) pulumi.StringMapOutput { return v.Annotations }).(pulumi.StringMapOutput) -} - -func (o GlobalDnsProviderOutput) CloudflareConfig() GlobalDnsProviderCloudflareConfigPtrOutput { - return o.ApplyT(func(v *GlobalDnsProvider) GlobalDnsProviderCloudflareConfigPtrOutput { return v.CloudflareConfig }).(GlobalDnsProviderCloudflareConfigPtrOutput) -} - -// (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) -func (o GlobalDnsProviderOutput) DnsProvider() pulumi.StringOutput { - return o.ApplyT(func(v *GlobalDnsProvider) pulumi.StringOutput { return v.DnsProvider }).(pulumi.StringOutput) -} - -// Labels for Global DNS Provider (map) -func (o GlobalDnsProviderOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v *GlobalDnsProvider) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) -} - -// The name of the Global DNS Provider (string) -func (o GlobalDnsProviderOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v *GlobalDnsProvider) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) -} - -// The user ID to assign Global DNS Provider (string) -func (o GlobalDnsProviderOutput) RootDomain() pulumi.StringOutput { - return o.ApplyT(func(v *GlobalDnsProvider) pulumi.StringOutput { return v.RootDomain }).(pulumi.StringOutput) -} - -func (o GlobalDnsProviderOutput) Route53Config() GlobalDnsProviderRoute53ConfigPtrOutput { - return o.ApplyT(func(v *GlobalDnsProvider) GlobalDnsProviderRoute53ConfigPtrOutput { return v.Route53Config }).(GlobalDnsProviderRoute53ConfigPtrOutput) -} - -type GlobalDnsProviderArrayOutput struct{ *pulumi.OutputState } - -func (GlobalDnsProviderArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*GlobalDnsProvider)(nil)).Elem() -} - -func (o GlobalDnsProviderArrayOutput) ToGlobalDnsProviderArrayOutput() GlobalDnsProviderArrayOutput { - return o -} - -func (o GlobalDnsProviderArrayOutput) ToGlobalDnsProviderArrayOutputWithContext(ctx context.Context) GlobalDnsProviderArrayOutput { - return o -} - -func (o GlobalDnsProviderArrayOutput) Index(i pulumi.IntInput) GlobalDnsProviderOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *GlobalDnsProvider { - return vs[0].([]*GlobalDnsProvider)[vs[1].(int)] - }).(GlobalDnsProviderOutput) -} - -type GlobalDnsProviderMapOutput struct{ *pulumi.OutputState } - -func (GlobalDnsProviderMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*GlobalDnsProvider)(nil)).Elem() -} - -func (o GlobalDnsProviderMapOutput) ToGlobalDnsProviderMapOutput() GlobalDnsProviderMapOutput { - return o -} - -func (o GlobalDnsProviderMapOutput) ToGlobalDnsProviderMapOutputWithContext(ctx context.Context) GlobalDnsProviderMapOutput { - return o -} - -func (o GlobalDnsProviderMapOutput) MapIndex(k pulumi.StringInput) GlobalDnsProviderOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *GlobalDnsProvider { - return vs[0].(map[string]*GlobalDnsProvider)[vs[1].(string)] - }).(GlobalDnsProviderOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*GlobalDnsProviderInput)(nil)).Elem(), &GlobalDnsProvider{}) - pulumi.RegisterInputType(reflect.TypeOf((*GlobalDnsProviderArrayInput)(nil)).Elem(), GlobalDnsProviderArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GlobalDnsProviderMapInput)(nil)).Elem(), GlobalDnsProviderMap{}) - pulumi.RegisterOutputType(GlobalDnsProviderOutput{}) - pulumi.RegisterOutputType(GlobalDnsProviderArrayOutput{}) - pulumi.RegisterOutputType(GlobalDnsProviderMapOutput{}) -} diff --git a/sdk/go/rancher2/globalRole.go b/sdk/go/rancher2/globalRole.go index e826ea374..d74758eac 100644 --- a/sdk/go/rancher2/globalRole.go +++ b/sdk/go/rancher2/globalRole.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -20,7 +20,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/globalRoleBinding.go b/sdk/go/rancher2/globalRoleBinding.go index a51c0e717..ff9416249 100644 --- a/sdk/go/rancher2/globalRoleBinding.go +++ b/sdk/go/rancher2/globalRoleBinding.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -21,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/init.go b/sdk/go/rancher2/init.go index 026d3d8c9..62219afff 100644 --- a/sdk/go/rancher2/init.go +++ b/sdk/go/rancher2/init.go @@ -7,7 +7,7 @@ import ( "fmt" "github.com/blang/semver" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -73,10 +73,6 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &EtcdBackup{} case "rancher2:index/feature:Feature": r = &Feature{} - case "rancher2:index/globalDns:GlobalDns": - r = &GlobalDns{} - case "rancher2:index/globalDnsProvider:GlobalDnsProvider": - r = &GlobalDnsProvider{} case "rancher2:index/globalRole:GlobalRole": r = &GlobalRole{} case "rancher2:index/globalRoleBinding:GlobalRoleBinding": @@ -276,16 +272,6 @@ func init() { "index/feature", &module{version}, ) - pulumi.RegisterResourceModule( - "rancher2", - "index/globalDns", - &module{version}, - ) - pulumi.RegisterResourceModule( - "rancher2", - "index/globalDnsProvider", - &module{version}, - ) pulumi.RegisterResourceModule( "rancher2", "index/globalRole", diff --git a/sdk/go/rancher2/internal/pulumiUtilities.go b/sdk/go/rancher2/internal/pulumiUtilities.go index a923a57d6..418006682 100644 --- a/sdk/go/rancher2/internal/pulumiUtilities.go +++ b/sdk/go/rancher2/internal/pulumiUtilities.go @@ -165,7 +165,7 @@ func callPlainInner( func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { defaults := []pulumi.ResourceOption{} - version := semver.MustParse("7.0.0-alpha.0+dev") + version := semver.MustParse("8.0.0-alpha.0+dev") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } @@ -176,7 +176,7 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { defaults := []pulumi.InvokeOption{} - version := semver.MustParse("7.0.0-alpha.0+dev") + version := semver.MustParse("8.0.0-alpha.0+dev") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } diff --git a/sdk/go/rancher2/machineConfigV2.go b/sdk/go/rancher2/machineConfigV2.go index d479e69c1..223f41326 100644 --- a/sdk/go/rancher2/machineConfigV2.go +++ b/sdk/go/rancher2/machineConfigV2.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/multiClusterApp.go b/sdk/go/rancher2/multiClusterApp.go index c45a9e1e7..0b02fd96b 100644 --- a/sdk/go/rancher2/multiClusterApp.go +++ b/sdk/go/rancher2/multiClusterApp.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -28,7 +28,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -71,7 +71,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/namespace.go b/sdk/go/rancher2/namespace.go index 336e8abec..fc090039a 100644 --- a/sdk/go/rancher2/namespace.go +++ b/sdk/go/rancher2/namespace.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -21,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -61,7 +61,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/nodeDriver.go b/sdk/go/rancher2/nodeDriver.go index d7b212aac..5dec2178d 100644 --- a/sdk/go/rancher2/nodeDriver.go +++ b/sdk/go/rancher2/nodeDriver.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -21,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/nodePool.go b/sdk/go/rancher2/nodePool.go index 45714174a..57cf99dce 100644 --- a/sdk/go/rancher2/nodePool.go +++ b/sdk/go/rancher2/nodePool.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/nodeTemplate.go b/sdk/go/rancher2/nodeTemplate.go index fb1bcd167..3ab1c4759 100644 --- a/sdk/go/rancher2/nodeTemplate.go +++ b/sdk/go/rancher2/nodeTemplate.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -24,7 +24,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -62,7 +62,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -112,7 +112,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -196,7 +196,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -241,6 +241,14 @@ import ( // **Important** This process could update `NodeTemplate` data on tfstate file. Be sure to save a copy of tfstate file before proceed // // Due to [this feature](https://github.com/rancher/rancher/pull/23718) included on Rancher v2.3.3, `NodeTemplate` are now global scoped objects with RBAC around them, instead of user scoped objects as they were. This means that existing node templates `id` field is changing on upgrade. Provider implements `fixNodeTemplateID()` that will update tfstate with proper id. +// +// ## Import +// +// # Node Template can be imported using the Rancher Node Template ID +// +// ```sh +// $ pulumi import rancher2:index/nodeTemplate:NodeTemplate foo <node_template_id> +// ``` type NodeTemplate struct { pulumi.CustomResourceState diff --git a/sdk/go/rancher2/podSecurityAdmissionConfigurationTemplate.go b/sdk/go/rancher2/podSecurityAdmissionConfigurationTemplate.go index cb3542496..7ea6e0a7c 100644 --- a/sdk/go/rancher2/podSecurityAdmissionConfigurationTemplate.go +++ b/sdk/go/rancher2/podSecurityAdmissionConfigurationTemplate.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/project.go b/sdk/go/rancher2/project.go index 1650f343f..692d1e45d 100644 --- a/sdk/go/rancher2/project.go +++ b/sdk/go/rancher2/project.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -21,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -65,7 +65,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/projectRoleTemplateBinding.go b/sdk/go/rancher2/projectRoleTemplateBinding.go index efe3a4417..73a9ecda8 100644 --- a/sdk/go/rancher2/projectRoleTemplateBinding.go +++ b/sdk/go/rancher2/projectRoleTemplateBinding.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -21,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/provider.go b/sdk/go/rancher2/provider.go index b4c1f9f58..9709ee5b6 100644 --- a/sdk/go/rancher2/provider.go +++ b/sdk/go/rancher2/provider.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/pulumi-plugin.json b/sdk/go/rancher2/pulumi-plugin.json index 95dd252f9..be484c958 100644 --- a/sdk/go/rancher2/pulumi-plugin.json +++ b/sdk/go/rancher2/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "rancher2", - "version": "7.0.0-alpha.0+dev" + "version": "8.0.0-alpha.0+dev" } diff --git a/sdk/go/rancher2/pulumiTypes.go b/sdk/go/rancher2/pulumiTypes.go index b4d5f3809..069dad6d6 100644 --- a/sdk/go/rancher2/pulumiTypes.go +++ b/sdk/go/rancher2/pulumiTypes.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -2608,6 +2608,8 @@ type ClusterAksConfigV2 struct { NodePools []ClusterAksConfigV2NodePool `pulumi:"nodePools"` // The AKS node resource group name NodeResourceGroup *string `pulumi:"nodeResourceGroup"` + // The AKS outbound type for the egress traffic + OutboundType *string `pulumi:"outboundType"` // Is AKS cluster private? PrivateCluster *bool `pulumi:"privateCluster"` // The AKS resource group @@ -2682,6 +2684,8 @@ type ClusterAksConfigV2Args struct { NodePools ClusterAksConfigV2NodePoolArrayInput `pulumi:"nodePools"` // The AKS node resource group name NodeResourceGroup pulumi.StringPtrInput `pulumi:"nodeResourceGroup"` + // The AKS outbound type for the egress traffic + OutboundType pulumi.StringPtrInput `pulumi:"outboundType"` // Is AKS cluster private? PrivateCluster pulumi.BoolPtrInput `pulumi:"privateCluster"` // The AKS resource group @@ -2890,6 +2894,11 @@ func (o ClusterAksConfigV2Output) NodeResourceGroup() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterAksConfigV2) *string { return v.NodeResourceGroup }).(pulumi.StringPtrOutput) } +// The AKS outbound type for the egress traffic +func (o ClusterAksConfigV2Output) OutboundType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterAksConfigV2) *string { return v.OutboundType }).(pulumi.StringPtrOutput) +} + // Is AKS cluster private? func (o ClusterAksConfigV2Output) PrivateCluster() pulumi.BoolPtrOutput { return o.ApplyT(func(v ClusterAksConfigV2) *bool { return v.PrivateCluster }).(pulumi.BoolPtrOutput) @@ -3179,6 +3188,16 @@ func (o ClusterAksConfigV2PtrOutput) NodeResourceGroup() pulumi.StringPtrOutput }).(pulumi.StringPtrOutput) } +// The AKS outbound type for the egress traffic +func (o ClusterAksConfigV2PtrOutput) OutboundType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterAksConfigV2) *string { + if v == nil { + return nil + } + return v.OutboundType + }).(pulumi.StringPtrOutput) +} + // Is AKS cluster private? func (o ClusterAksConfigV2PtrOutput) PrivateCluster() pulumi.BoolPtrOutput { return o.ApplyT(func(v *ClusterAksConfigV2) *bool { @@ -46633,569 +46652,6 @@ func (o EtcdBackupBackupConfigS3BackupConfigPtrOutput) SecretKey() pulumi.String }).(pulumi.StringPtrOutput) } -type GlobalDnsProviderAlidnsConfig struct { - // The AWS Access key (string) - AccessKey string `pulumi:"accessKey"` - // The AWS Secret key (string) - SecretKey string `pulumi:"secretKey"` -} - -// GlobalDnsProviderAlidnsConfigInput is an input type that accepts GlobalDnsProviderAlidnsConfigArgs and GlobalDnsProviderAlidnsConfigOutput values. -// You can construct a concrete instance of `GlobalDnsProviderAlidnsConfigInput` via: -// -// GlobalDnsProviderAlidnsConfigArgs{...} -type GlobalDnsProviderAlidnsConfigInput interface { - pulumi.Input - - ToGlobalDnsProviderAlidnsConfigOutput() GlobalDnsProviderAlidnsConfigOutput - ToGlobalDnsProviderAlidnsConfigOutputWithContext(context.Context) GlobalDnsProviderAlidnsConfigOutput -} - -type GlobalDnsProviderAlidnsConfigArgs struct { - // The AWS Access key (string) - AccessKey pulumi.StringInput `pulumi:"accessKey"` - // The AWS Secret key (string) - SecretKey pulumi.StringInput `pulumi:"secretKey"` -} - -func (GlobalDnsProviderAlidnsConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GlobalDnsProviderAlidnsConfig)(nil)).Elem() -} - -func (i GlobalDnsProviderAlidnsConfigArgs) ToGlobalDnsProviderAlidnsConfigOutput() GlobalDnsProviderAlidnsConfigOutput { - return i.ToGlobalDnsProviderAlidnsConfigOutputWithContext(context.Background()) -} - -func (i GlobalDnsProviderAlidnsConfigArgs) ToGlobalDnsProviderAlidnsConfigOutputWithContext(ctx context.Context) GlobalDnsProviderAlidnsConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GlobalDnsProviderAlidnsConfigOutput) -} - -func (i GlobalDnsProviderAlidnsConfigArgs) ToGlobalDnsProviderAlidnsConfigPtrOutput() GlobalDnsProviderAlidnsConfigPtrOutput { - return i.ToGlobalDnsProviderAlidnsConfigPtrOutputWithContext(context.Background()) -} - -func (i GlobalDnsProviderAlidnsConfigArgs) ToGlobalDnsProviderAlidnsConfigPtrOutputWithContext(ctx context.Context) GlobalDnsProviderAlidnsConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GlobalDnsProviderAlidnsConfigOutput).ToGlobalDnsProviderAlidnsConfigPtrOutputWithContext(ctx) -} - -// GlobalDnsProviderAlidnsConfigPtrInput is an input type that accepts GlobalDnsProviderAlidnsConfigArgs, GlobalDnsProviderAlidnsConfigPtr and GlobalDnsProviderAlidnsConfigPtrOutput values. -// You can construct a concrete instance of `GlobalDnsProviderAlidnsConfigPtrInput` via: -// -// GlobalDnsProviderAlidnsConfigArgs{...} -// -// or: -// -// nil -type GlobalDnsProviderAlidnsConfigPtrInput interface { - pulumi.Input - - ToGlobalDnsProviderAlidnsConfigPtrOutput() GlobalDnsProviderAlidnsConfigPtrOutput - ToGlobalDnsProviderAlidnsConfigPtrOutputWithContext(context.Context) GlobalDnsProviderAlidnsConfigPtrOutput -} - -type globalDnsProviderAlidnsConfigPtrType GlobalDnsProviderAlidnsConfigArgs - -func GlobalDnsProviderAlidnsConfigPtr(v *GlobalDnsProviderAlidnsConfigArgs) GlobalDnsProviderAlidnsConfigPtrInput { - return (*globalDnsProviderAlidnsConfigPtrType)(v) -} - -func (*globalDnsProviderAlidnsConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GlobalDnsProviderAlidnsConfig)(nil)).Elem() -} - -func (i *globalDnsProviderAlidnsConfigPtrType) ToGlobalDnsProviderAlidnsConfigPtrOutput() GlobalDnsProviderAlidnsConfigPtrOutput { - return i.ToGlobalDnsProviderAlidnsConfigPtrOutputWithContext(context.Background()) -} - -func (i *globalDnsProviderAlidnsConfigPtrType) ToGlobalDnsProviderAlidnsConfigPtrOutputWithContext(ctx context.Context) GlobalDnsProviderAlidnsConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GlobalDnsProviderAlidnsConfigPtrOutput) -} - -type GlobalDnsProviderAlidnsConfigOutput struct{ *pulumi.OutputState } - -func (GlobalDnsProviderAlidnsConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GlobalDnsProviderAlidnsConfig)(nil)).Elem() -} - -func (o GlobalDnsProviderAlidnsConfigOutput) ToGlobalDnsProviderAlidnsConfigOutput() GlobalDnsProviderAlidnsConfigOutput { - return o -} - -func (o GlobalDnsProviderAlidnsConfigOutput) ToGlobalDnsProviderAlidnsConfigOutputWithContext(ctx context.Context) GlobalDnsProviderAlidnsConfigOutput { - return o -} - -func (o GlobalDnsProviderAlidnsConfigOutput) ToGlobalDnsProviderAlidnsConfigPtrOutput() GlobalDnsProviderAlidnsConfigPtrOutput { - return o.ToGlobalDnsProviderAlidnsConfigPtrOutputWithContext(context.Background()) -} - -func (o GlobalDnsProviderAlidnsConfigOutput) ToGlobalDnsProviderAlidnsConfigPtrOutputWithContext(ctx context.Context) GlobalDnsProviderAlidnsConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GlobalDnsProviderAlidnsConfig) *GlobalDnsProviderAlidnsConfig { - return &v - }).(GlobalDnsProviderAlidnsConfigPtrOutput) -} - -// The AWS Access key (string) -func (o GlobalDnsProviderAlidnsConfigOutput) AccessKey() pulumi.StringOutput { - return o.ApplyT(func(v GlobalDnsProviderAlidnsConfig) string { return v.AccessKey }).(pulumi.StringOutput) -} - -// The AWS Secret key (string) -func (o GlobalDnsProviderAlidnsConfigOutput) SecretKey() pulumi.StringOutput { - return o.ApplyT(func(v GlobalDnsProviderAlidnsConfig) string { return v.SecretKey }).(pulumi.StringOutput) -} - -type GlobalDnsProviderAlidnsConfigPtrOutput struct{ *pulumi.OutputState } - -func (GlobalDnsProviderAlidnsConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GlobalDnsProviderAlidnsConfig)(nil)).Elem() -} - -func (o GlobalDnsProviderAlidnsConfigPtrOutput) ToGlobalDnsProviderAlidnsConfigPtrOutput() GlobalDnsProviderAlidnsConfigPtrOutput { - return o -} - -func (o GlobalDnsProviderAlidnsConfigPtrOutput) ToGlobalDnsProviderAlidnsConfigPtrOutputWithContext(ctx context.Context) GlobalDnsProviderAlidnsConfigPtrOutput { - return o -} - -func (o GlobalDnsProviderAlidnsConfigPtrOutput) Elem() GlobalDnsProviderAlidnsConfigOutput { - return o.ApplyT(func(v *GlobalDnsProviderAlidnsConfig) GlobalDnsProviderAlidnsConfig { - if v != nil { - return *v - } - var ret GlobalDnsProviderAlidnsConfig - return ret - }).(GlobalDnsProviderAlidnsConfigOutput) -} - -// The AWS Access key (string) -func (o GlobalDnsProviderAlidnsConfigPtrOutput) AccessKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GlobalDnsProviderAlidnsConfig) *string { - if v == nil { - return nil - } - return &v.AccessKey - }).(pulumi.StringPtrOutput) -} - -// The AWS Secret key (string) -func (o GlobalDnsProviderAlidnsConfigPtrOutput) SecretKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GlobalDnsProviderAlidnsConfig) *string { - if v == nil { - return nil - } - return &v.SecretKey - }).(pulumi.StringPtrOutput) -} - -type GlobalDnsProviderCloudflareConfig struct { - // The CloudFlare API Email (string) - ApiEmail string `pulumi:"apiEmail"` - // The CloudFlare API Key (string) - ApiKey string `pulumi:"apiKey"` - // CloudFlare Proxy Setting. Default: `false` (bool) - ProxySetting *bool `pulumi:"proxySetting"` -} - -// GlobalDnsProviderCloudflareConfigInput is an input type that accepts GlobalDnsProviderCloudflareConfigArgs and GlobalDnsProviderCloudflareConfigOutput values. -// You can construct a concrete instance of `GlobalDnsProviderCloudflareConfigInput` via: -// -// GlobalDnsProviderCloudflareConfigArgs{...} -type GlobalDnsProviderCloudflareConfigInput interface { - pulumi.Input - - ToGlobalDnsProviderCloudflareConfigOutput() GlobalDnsProviderCloudflareConfigOutput - ToGlobalDnsProviderCloudflareConfigOutputWithContext(context.Context) GlobalDnsProviderCloudflareConfigOutput -} - -type GlobalDnsProviderCloudflareConfigArgs struct { - // The CloudFlare API Email (string) - ApiEmail pulumi.StringInput `pulumi:"apiEmail"` - // The CloudFlare API Key (string) - ApiKey pulumi.StringInput `pulumi:"apiKey"` - // CloudFlare Proxy Setting. Default: `false` (bool) - ProxySetting pulumi.BoolPtrInput `pulumi:"proxySetting"` -} - -func (GlobalDnsProviderCloudflareConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GlobalDnsProviderCloudflareConfig)(nil)).Elem() -} - -func (i GlobalDnsProviderCloudflareConfigArgs) ToGlobalDnsProviderCloudflareConfigOutput() GlobalDnsProviderCloudflareConfigOutput { - return i.ToGlobalDnsProviderCloudflareConfigOutputWithContext(context.Background()) -} - -func (i GlobalDnsProviderCloudflareConfigArgs) ToGlobalDnsProviderCloudflareConfigOutputWithContext(ctx context.Context) GlobalDnsProviderCloudflareConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GlobalDnsProviderCloudflareConfigOutput) -} - -func (i GlobalDnsProviderCloudflareConfigArgs) ToGlobalDnsProviderCloudflareConfigPtrOutput() GlobalDnsProviderCloudflareConfigPtrOutput { - return i.ToGlobalDnsProviderCloudflareConfigPtrOutputWithContext(context.Background()) -} - -func (i GlobalDnsProviderCloudflareConfigArgs) ToGlobalDnsProviderCloudflareConfigPtrOutputWithContext(ctx context.Context) GlobalDnsProviderCloudflareConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GlobalDnsProviderCloudflareConfigOutput).ToGlobalDnsProviderCloudflareConfigPtrOutputWithContext(ctx) -} - -// GlobalDnsProviderCloudflareConfigPtrInput is an input type that accepts GlobalDnsProviderCloudflareConfigArgs, GlobalDnsProviderCloudflareConfigPtr and GlobalDnsProviderCloudflareConfigPtrOutput values. -// You can construct a concrete instance of `GlobalDnsProviderCloudflareConfigPtrInput` via: -// -// GlobalDnsProviderCloudflareConfigArgs{...} -// -// or: -// -// nil -type GlobalDnsProviderCloudflareConfigPtrInput interface { - pulumi.Input - - ToGlobalDnsProviderCloudflareConfigPtrOutput() GlobalDnsProviderCloudflareConfigPtrOutput - ToGlobalDnsProviderCloudflareConfigPtrOutputWithContext(context.Context) GlobalDnsProviderCloudflareConfigPtrOutput -} - -type globalDnsProviderCloudflareConfigPtrType GlobalDnsProviderCloudflareConfigArgs - -func GlobalDnsProviderCloudflareConfigPtr(v *GlobalDnsProviderCloudflareConfigArgs) GlobalDnsProviderCloudflareConfigPtrInput { - return (*globalDnsProviderCloudflareConfigPtrType)(v) -} - -func (*globalDnsProviderCloudflareConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GlobalDnsProviderCloudflareConfig)(nil)).Elem() -} - -func (i *globalDnsProviderCloudflareConfigPtrType) ToGlobalDnsProviderCloudflareConfigPtrOutput() GlobalDnsProviderCloudflareConfigPtrOutput { - return i.ToGlobalDnsProviderCloudflareConfigPtrOutputWithContext(context.Background()) -} - -func (i *globalDnsProviderCloudflareConfigPtrType) ToGlobalDnsProviderCloudflareConfigPtrOutputWithContext(ctx context.Context) GlobalDnsProviderCloudflareConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GlobalDnsProviderCloudflareConfigPtrOutput) -} - -type GlobalDnsProviderCloudflareConfigOutput struct{ *pulumi.OutputState } - -func (GlobalDnsProviderCloudflareConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GlobalDnsProviderCloudflareConfig)(nil)).Elem() -} - -func (o GlobalDnsProviderCloudflareConfigOutput) ToGlobalDnsProviderCloudflareConfigOutput() GlobalDnsProviderCloudflareConfigOutput { - return o -} - -func (o GlobalDnsProviderCloudflareConfigOutput) ToGlobalDnsProviderCloudflareConfigOutputWithContext(ctx context.Context) GlobalDnsProviderCloudflareConfigOutput { - return o -} - -func (o GlobalDnsProviderCloudflareConfigOutput) ToGlobalDnsProviderCloudflareConfigPtrOutput() GlobalDnsProviderCloudflareConfigPtrOutput { - return o.ToGlobalDnsProviderCloudflareConfigPtrOutputWithContext(context.Background()) -} - -func (o GlobalDnsProviderCloudflareConfigOutput) ToGlobalDnsProviderCloudflareConfigPtrOutputWithContext(ctx context.Context) GlobalDnsProviderCloudflareConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GlobalDnsProviderCloudflareConfig) *GlobalDnsProviderCloudflareConfig { - return &v - }).(GlobalDnsProviderCloudflareConfigPtrOutput) -} - -// The CloudFlare API Email (string) -func (o GlobalDnsProviderCloudflareConfigOutput) ApiEmail() pulumi.StringOutput { - return o.ApplyT(func(v GlobalDnsProviderCloudflareConfig) string { return v.ApiEmail }).(pulumi.StringOutput) -} - -// The CloudFlare API Key (string) -func (o GlobalDnsProviderCloudflareConfigOutput) ApiKey() pulumi.StringOutput { - return o.ApplyT(func(v GlobalDnsProviderCloudflareConfig) string { return v.ApiKey }).(pulumi.StringOutput) -} - -// CloudFlare Proxy Setting. Default: `false` (bool) -func (o GlobalDnsProviderCloudflareConfigOutput) ProxySetting() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GlobalDnsProviderCloudflareConfig) *bool { return v.ProxySetting }).(pulumi.BoolPtrOutput) -} - -type GlobalDnsProviderCloudflareConfigPtrOutput struct{ *pulumi.OutputState } - -func (GlobalDnsProviderCloudflareConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GlobalDnsProviderCloudflareConfig)(nil)).Elem() -} - -func (o GlobalDnsProviderCloudflareConfigPtrOutput) ToGlobalDnsProviderCloudflareConfigPtrOutput() GlobalDnsProviderCloudflareConfigPtrOutput { - return o -} - -func (o GlobalDnsProviderCloudflareConfigPtrOutput) ToGlobalDnsProviderCloudflareConfigPtrOutputWithContext(ctx context.Context) GlobalDnsProviderCloudflareConfigPtrOutput { - return o -} - -func (o GlobalDnsProviderCloudflareConfigPtrOutput) Elem() GlobalDnsProviderCloudflareConfigOutput { - return o.ApplyT(func(v *GlobalDnsProviderCloudflareConfig) GlobalDnsProviderCloudflareConfig { - if v != nil { - return *v - } - var ret GlobalDnsProviderCloudflareConfig - return ret - }).(GlobalDnsProviderCloudflareConfigOutput) -} - -// The CloudFlare API Email (string) -func (o GlobalDnsProviderCloudflareConfigPtrOutput) ApiEmail() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GlobalDnsProviderCloudflareConfig) *string { - if v == nil { - return nil - } - return &v.ApiEmail - }).(pulumi.StringPtrOutput) -} - -// The CloudFlare API Key (string) -func (o GlobalDnsProviderCloudflareConfigPtrOutput) ApiKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GlobalDnsProviderCloudflareConfig) *string { - if v == nil { - return nil - } - return &v.ApiKey - }).(pulumi.StringPtrOutput) -} - -// CloudFlare Proxy Setting. Default: `false` (bool) -func (o GlobalDnsProviderCloudflareConfigPtrOutput) ProxySetting() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GlobalDnsProviderCloudflareConfig) *bool { - if v == nil { - return nil - } - return v.ProxySetting - }).(pulumi.BoolPtrOutput) -} - -type GlobalDnsProviderRoute53Config struct { - // The AWS Access key (string) - AccessKey string `pulumi:"accessKey"` - // The AWS credentials path. Default: `"/.aws"` (string) - CredentialsPath *string `pulumi:"credentialsPath"` - // The AWS Region. Default: `"us-west-2"` (string) - Region *string `pulumi:"region"` - // The AWS Role ARN (string) - RoleArn *string `pulumi:"roleArn"` - // The AWS Secret key (string) - SecretKey string `pulumi:"secretKey"` - // The Route53 zone type `public, private`. Default: `"public"` (string) - ZoneType *string `pulumi:"zoneType"` -} - -// GlobalDnsProviderRoute53ConfigInput is an input type that accepts GlobalDnsProviderRoute53ConfigArgs and GlobalDnsProviderRoute53ConfigOutput values. -// You can construct a concrete instance of `GlobalDnsProviderRoute53ConfigInput` via: -// -// GlobalDnsProviderRoute53ConfigArgs{...} -type GlobalDnsProviderRoute53ConfigInput interface { - pulumi.Input - - ToGlobalDnsProviderRoute53ConfigOutput() GlobalDnsProviderRoute53ConfigOutput - ToGlobalDnsProviderRoute53ConfigOutputWithContext(context.Context) GlobalDnsProviderRoute53ConfigOutput -} - -type GlobalDnsProviderRoute53ConfigArgs struct { - // The AWS Access key (string) - AccessKey pulumi.StringInput `pulumi:"accessKey"` - // The AWS credentials path. Default: `"/.aws"` (string) - CredentialsPath pulumi.StringPtrInput `pulumi:"credentialsPath"` - // The AWS Region. Default: `"us-west-2"` (string) - Region pulumi.StringPtrInput `pulumi:"region"` - // The AWS Role ARN (string) - RoleArn pulumi.StringPtrInput `pulumi:"roleArn"` - // The AWS Secret key (string) - SecretKey pulumi.StringInput `pulumi:"secretKey"` - // The Route53 zone type `public, private`. Default: `"public"` (string) - ZoneType pulumi.StringPtrInput `pulumi:"zoneType"` -} - -func (GlobalDnsProviderRoute53ConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GlobalDnsProviderRoute53Config)(nil)).Elem() -} - -func (i GlobalDnsProviderRoute53ConfigArgs) ToGlobalDnsProviderRoute53ConfigOutput() GlobalDnsProviderRoute53ConfigOutput { - return i.ToGlobalDnsProviderRoute53ConfigOutputWithContext(context.Background()) -} - -func (i GlobalDnsProviderRoute53ConfigArgs) ToGlobalDnsProviderRoute53ConfigOutputWithContext(ctx context.Context) GlobalDnsProviderRoute53ConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GlobalDnsProviderRoute53ConfigOutput) -} - -func (i GlobalDnsProviderRoute53ConfigArgs) ToGlobalDnsProviderRoute53ConfigPtrOutput() GlobalDnsProviderRoute53ConfigPtrOutput { - return i.ToGlobalDnsProviderRoute53ConfigPtrOutputWithContext(context.Background()) -} - -func (i GlobalDnsProviderRoute53ConfigArgs) ToGlobalDnsProviderRoute53ConfigPtrOutputWithContext(ctx context.Context) GlobalDnsProviderRoute53ConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GlobalDnsProviderRoute53ConfigOutput).ToGlobalDnsProviderRoute53ConfigPtrOutputWithContext(ctx) -} - -// GlobalDnsProviderRoute53ConfigPtrInput is an input type that accepts GlobalDnsProviderRoute53ConfigArgs, GlobalDnsProviderRoute53ConfigPtr and GlobalDnsProviderRoute53ConfigPtrOutput values. -// You can construct a concrete instance of `GlobalDnsProviderRoute53ConfigPtrInput` via: -// -// GlobalDnsProviderRoute53ConfigArgs{...} -// -// or: -// -// nil -type GlobalDnsProviderRoute53ConfigPtrInput interface { - pulumi.Input - - ToGlobalDnsProviderRoute53ConfigPtrOutput() GlobalDnsProviderRoute53ConfigPtrOutput - ToGlobalDnsProviderRoute53ConfigPtrOutputWithContext(context.Context) GlobalDnsProviderRoute53ConfigPtrOutput -} - -type globalDnsProviderRoute53ConfigPtrType GlobalDnsProviderRoute53ConfigArgs - -func GlobalDnsProviderRoute53ConfigPtr(v *GlobalDnsProviderRoute53ConfigArgs) GlobalDnsProviderRoute53ConfigPtrInput { - return (*globalDnsProviderRoute53ConfigPtrType)(v) -} - -func (*globalDnsProviderRoute53ConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GlobalDnsProviderRoute53Config)(nil)).Elem() -} - -func (i *globalDnsProviderRoute53ConfigPtrType) ToGlobalDnsProviderRoute53ConfigPtrOutput() GlobalDnsProviderRoute53ConfigPtrOutput { - return i.ToGlobalDnsProviderRoute53ConfigPtrOutputWithContext(context.Background()) -} - -func (i *globalDnsProviderRoute53ConfigPtrType) ToGlobalDnsProviderRoute53ConfigPtrOutputWithContext(ctx context.Context) GlobalDnsProviderRoute53ConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GlobalDnsProviderRoute53ConfigPtrOutput) -} - -type GlobalDnsProviderRoute53ConfigOutput struct{ *pulumi.OutputState } - -func (GlobalDnsProviderRoute53ConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GlobalDnsProviderRoute53Config)(nil)).Elem() -} - -func (o GlobalDnsProviderRoute53ConfigOutput) ToGlobalDnsProviderRoute53ConfigOutput() GlobalDnsProviderRoute53ConfigOutput { - return o -} - -func (o GlobalDnsProviderRoute53ConfigOutput) ToGlobalDnsProviderRoute53ConfigOutputWithContext(ctx context.Context) GlobalDnsProviderRoute53ConfigOutput { - return o -} - -func (o GlobalDnsProviderRoute53ConfigOutput) ToGlobalDnsProviderRoute53ConfigPtrOutput() GlobalDnsProviderRoute53ConfigPtrOutput { - return o.ToGlobalDnsProviderRoute53ConfigPtrOutputWithContext(context.Background()) -} - -func (o GlobalDnsProviderRoute53ConfigOutput) ToGlobalDnsProviderRoute53ConfigPtrOutputWithContext(ctx context.Context) GlobalDnsProviderRoute53ConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GlobalDnsProviderRoute53Config) *GlobalDnsProviderRoute53Config { - return &v - }).(GlobalDnsProviderRoute53ConfigPtrOutput) -} - -// The AWS Access key (string) -func (o GlobalDnsProviderRoute53ConfigOutput) AccessKey() pulumi.StringOutput { - return o.ApplyT(func(v GlobalDnsProviderRoute53Config) string { return v.AccessKey }).(pulumi.StringOutput) -} - -// The AWS credentials path. Default: `"/.aws"` (string) -func (o GlobalDnsProviderRoute53ConfigOutput) CredentialsPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v GlobalDnsProviderRoute53Config) *string { return v.CredentialsPath }).(pulumi.StringPtrOutput) -} - -// The AWS Region. Default: `"us-west-2"` (string) -func (o GlobalDnsProviderRoute53ConfigOutput) Region() pulumi.StringPtrOutput { - return o.ApplyT(func(v GlobalDnsProviderRoute53Config) *string { return v.Region }).(pulumi.StringPtrOutput) -} - -// The AWS Role ARN (string) -func (o GlobalDnsProviderRoute53ConfigOutput) RoleArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v GlobalDnsProviderRoute53Config) *string { return v.RoleArn }).(pulumi.StringPtrOutput) -} - -// The AWS Secret key (string) -func (o GlobalDnsProviderRoute53ConfigOutput) SecretKey() pulumi.StringOutput { - return o.ApplyT(func(v GlobalDnsProviderRoute53Config) string { return v.SecretKey }).(pulumi.StringOutput) -} - -// The Route53 zone type `public, private`. Default: `"public"` (string) -func (o GlobalDnsProviderRoute53ConfigOutput) ZoneType() pulumi.StringPtrOutput { - return o.ApplyT(func(v GlobalDnsProviderRoute53Config) *string { return v.ZoneType }).(pulumi.StringPtrOutput) -} - -type GlobalDnsProviderRoute53ConfigPtrOutput struct{ *pulumi.OutputState } - -func (GlobalDnsProviderRoute53ConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GlobalDnsProviderRoute53Config)(nil)).Elem() -} - -func (o GlobalDnsProviderRoute53ConfigPtrOutput) ToGlobalDnsProviderRoute53ConfigPtrOutput() GlobalDnsProviderRoute53ConfigPtrOutput { - return o -} - -func (o GlobalDnsProviderRoute53ConfigPtrOutput) ToGlobalDnsProviderRoute53ConfigPtrOutputWithContext(ctx context.Context) GlobalDnsProviderRoute53ConfigPtrOutput { - return o -} - -func (o GlobalDnsProviderRoute53ConfigPtrOutput) Elem() GlobalDnsProviderRoute53ConfigOutput { - return o.ApplyT(func(v *GlobalDnsProviderRoute53Config) GlobalDnsProviderRoute53Config { - if v != nil { - return *v - } - var ret GlobalDnsProviderRoute53Config - return ret - }).(GlobalDnsProviderRoute53ConfigOutput) -} - -// The AWS Access key (string) -func (o GlobalDnsProviderRoute53ConfigPtrOutput) AccessKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GlobalDnsProviderRoute53Config) *string { - if v == nil { - return nil - } - return &v.AccessKey - }).(pulumi.StringPtrOutput) -} - -// The AWS credentials path. Default: `"/.aws"` (string) -func (o GlobalDnsProviderRoute53ConfigPtrOutput) CredentialsPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GlobalDnsProviderRoute53Config) *string { - if v == nil { - return nil - } - return v.CredentialsPath - }).(pulumi.StringPtrOutput) -} - -// The AWS Region. Default: `"us-west-2"` (string) -func (o GlobalDnsProviderRoute53ConfigPtrOutput) Region() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GlobalDnsProviderRoute53Config) *string { - if v == nil { - return nil - } - return v.Region - }).(pulumi.StringPtrOutput) -} - -// The AWS Role ARN (string) -func (o GlobalDnsProviderRoute53ConfigPtrOutput) RoleArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GlobalDnsProviderRoute53Config) *string { - if v == nil { - return nil - } - return v.RoleArn - }).(pulumi.StringPtrOutput) -} - -// The AWS Secret key (string) -func (o GlobalDnsProviderRoute53ConfigPtrOutput) SecretKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GlobalDnsProviderRoute53Config) *string { - if v == nil { - return nil - } - return &v.SecretKey - }).(pulumi.StringPtrOutput) -} - -// The Route53 zone type `public, private`. Default: `"public"` (string) -func (o GlobalDnsProviderRoute53ConfigPtrOutput) ZoneType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GlobalDnsProviderRoute53Config) *string { - if v == nil { - return nil - } - return v.ZoneType - }).(pulumi.StringPtrOutput) -} - type GlobalRoleRule struct { // Policy rule api groups ApiGroups []string `pulumi:"apiGroups"` @@ -61093,6 +60549,8 @@ type GetClusterAksConfigV2 struct { NodePools []GetClusterAksConfigV2NodePool `pulumi:"nodePools"` // The AKS node resource group name NodeResourceGroup string `pulumi:"nodeResourceGroup"` + // The AKS outbound type for the egress traffic + OutboundType *string `pulumi:"outboundType"` // Is AKS cluster private? PrivateCluster bool `pulumi:"privateCluster"` // The AKS resource group @@ -61167,6 +60625,8 @@ type GetClusterAksConfigV2Args struct { NodePools GetClusterAksConfigV2NodePoolArrayInput `pulumi:"nodePools"` // The AKS node resource group name NodeResourceGroup pulumi.StringInput `pulumi:"nodeResourceGroup"` + // The AKS outbound type for the egress traffic + OutboundType pulumi.StringPtrInput `pulumi:"outboundType"` // Is AKS cluster private? PrivateCluster pulumi.BoolInput `pulumi:"privateCluster"` // The AKS resource group @@ -61324,6 +60784,11 @@ func (o GetClusterAksConfigV2Output) NodeResourceGroup() pulumi.StringOutput { return o.ApplyT(func(v GetClusterAksConfigV2) string { return v.NodeResourceGroup }).(pulumi.StringOutput) } +// The AKS outbound type for the egress traffic +func (o GetClusterAksConfigV2Output) OutboundType() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetClusterAksConfigV2) *string { return v.OutboundType }).(pulumi.StringPtrOutput) +} + // Is AKS cluster private? func (o GetClusterAksConfigV2Output) PrivateCluster() pulumi.BoolOutput { return o.ApplyT(func(v GetClusterAksConfigV2) bool { return v.PrivateCluster }).(pulumi.BoolOutput) @@ -91909,201 +91374,6 @@ func (o GetEtcdBackupBackupConfigS3BackupConfigPtrOutput) SecretKey() pulumi.Str }).(pulumi.StringPtrOutput) } -type GetGlobalDnsProviderAlidnsConfig struct { - AccessKey string `pulumi:"accessKey"` - SecretKey string `pulumi:"secretKey"` -} - -// GetGlobalDnsProviderAlidnsConfigInput is an input type that accepts GetGlobalDnsProviderAlidnsConfigArgs and GetGlobalDnsProviderAlidnsConfigOutput values. -// You can construct a concrete instance of `GetGlobalDnsProviderAlidnsConfigInput` via: -// -// GetGlobalDnsProviderAlidnsConfigArgs{...} -type GetGlobalDnsProviderAlidnsConfigInput interface { - pulumi.Input - - ToGetGlobalDnsProviderAlidnsConfigOutput() GetGlobalDnsProviderAlidnsConfigOutput - ToGetGlobalDnsProviderAlidnsConfigOutputWithContext(context.Context) GetGlobalDnsProviderAlidnsConfigOutput -} - -type GetGlobalDnsProviderAlidnsConfigArgs struct { - AccessKey pulumi.StringInput `pulumi:"accessKey"` - SecretKey pulumi.StringInput `pulumi:"secretKey"` -} - -func (GetGlobalDnsProviderAlidnsConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetGlobalDnsProviderAlidnsConfig)(nil)).Elem() -} - -func (i GetGlobalDnsProviderAlidnsConfigArgs) ToGetGlobalDnsProviderAlidnsConfigOutput() GetGlobalDnsProviderAlidnsConfigOutput { - return i.ToGetGlobalDnsProviderAlidnsConfigOutputWithContext(context.Background()) -} - -func (i GetGlobalDnsProviderAlidnsConfigArgs) ToGetGlobalDnsProviderAlidnsConfigOutputWithContext(ctx context.Context) GetGlobalDnsProviderAlidnsConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetGlobalDnsProviderAlidnsConfigOutput) -} - -type GetGlobalDnsProviderAlidnsConfigOutput struct{ *pulumi.OutputState } - -func (GetGlobalDnsProviderAlidnsConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetGlobalDnsProviderAlidnsConfig)(nil)).Elem() -} - -func (o GetGlobalDnsProviderAlidnsConfigOutput) ToGetGlobalDnsProviderAlidnsConfigOutput() GetGlobalDnsProviderAlidnsConfigOutput { - return o -} - -func (o GetGlobalDnsProviderAlidnsConfigOutput) ToGetGlobalDnsProviderAlidnsConfigOutputWithContext(ctx context.Context) GetGlobalDnsProviderAlidnsConfigOutput { - return o -} - -func (o GetGlobalDnsProviderAlidnsConfigOutput) AccessKey() pulumi.StringOutput { - return o.ApplyT(func(v GetGlobalDnsProviderAlidnsConfig) string { return v.AccessKey }).(pulumi.StringOutput) -} - -func (o GetGlobalDnsProviderAlidnsConfigOutput) SecretKey() pulumi.StringOutput { - return o.ApplyT(func(v GetGlobalDnsProviderAlidnsConfig) string { return v.SecretKey }).(pulumi.StringOutput) -} - -type GetGlobalDnsProviderCloudflareConfig struct { - ApiEmail string `pulumi:"apiEmail"` - ApiKey string `pulumi:"apiKey"` - ProxySetting *bool `pulumi:"proxySetting"` -} - -// GetGlobalDnsProviderCloudflareConfigInput is an input type that accepts GetGlobalDnsProviderCloudflareConfigArgs and GetGlobalDnsProviderCloudflareConfigOutput values. -// You can construct a concrete instance of `GetGlobalDnsProviderCloudflareConfigInput` via: -// -// GetGlobalDnsProviderCloudflareConfigArgs{...} -type GetGlobalDnsProviderCloudflareConfigInput interface { - pulumi.Input - - ToGetGlobalDnsProviderCloudflareConfigOutput() GetGlobalDnsProviderCloudflareConfigOutput - ToGetGlobalDnsProviderCloudflareConfigOutputWithContext(context.Context) GetGlobalDnsProviderCloudflareConfigOutput -} - -type GetGlobalDnsProviderCloudflareConfigArgs struct { - ApiEmail pulumi.StringInput `pulumi:"apiEmail"` - ApiKey pulumi.StringInput `pulumi:"apiKey"` - ProxySetting pulumi.BoolPtrInput `pulumi:"proxySetting"` -} - -func (GetGlobalDnsProviderCloudflareConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetGlobalDnsProviderCloudflareConfig)(nil)).Elem() -} - -func (i GetGlobalDnsProviderCloudflareConfigArgs) ToGetGlobalDnsProviderCloudflareConfigOutput() GetGlobalDnsProviderCloudflareConfigOutput { - return i.ToGetGlobalDnsProviderCloudflareConfigOutputWithContext(context.Background()) -} - -func (i GetGlobalDnsProviderCloudflareConfigArgs) ToGetGlobalDnsProviderCloudflareConfigOutputWithContext(ctx context.Context) GetGlobalDnsProviderCloudflareConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetGlobalDnsProviderCloudflareConfigOutput) -} - -type GetGlobalDnsProviderCloudflareConfigOutput struct{ *pulumi.OutputState } - -func (GetGlobalDnsProviderCloudflareConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetGlobalDnsProviderCloudflareConfig)(nil)).Elem() -} - -func (o GetGlobalDnsProviderCloudflareConfigOutput) ToGetGlobalDnsProviderCloudflareConfigOutput() GetGlobalDnsProviderCloudflareConfigOutput { - return o -} - -func (o GetGlobalDnsProviderCloudflareConfigOutput) ToGetGlobalDnsProviderCloudflareConfigOutputWithContext(ctx context.Context) GetGlobalDnsProviderCloudflareConfigOutput { - return o -} - -func (o GetGlobalDnsProviderCloudflareConfigOutput) ApiEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetGlobalDnsProviderCloudflareConfig) string { return v.ApiEmail }).(pulumi.StringOutput) -} - -func (o GetGlobalDnsProviderCloudflareConfigOutput) ApiKey() pulumi.StringOutput { - return o.ApplyT(func(v GetGlobalDnsProviderCloudflareConfig) string { return v.ApiKey }).(pulumi.StringOutput) -} - -func (o GetGlobalDnsProviderCloudflareConfigOutput) ProxySetting() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetGlobalDnsProviderCloudflareConfig) *bool { return v.ProxySetting }).(pulumi.BoolPtrOutput) -} - -type GetGlobalDnsProviderRoute53Config struct { - AccessKey string `pulumi:"accessKey"` - CredentialsPath *string `pulumi:"credentialsPath"` - Region *string `pulumi:"region"` - RoleArn *string `pulumi:"roleArn"` - SecretKey string `pulumi:"secretKey"` - ZoneType *string `pulumi:"zoneType"` -} - -// GetGlobalDnsProviderRoute53ConfigInput is an input type that accepts GetGlobalDnsProviderRoute53ConfigArgs and GetGlobalDnsProviderRoute53ConfigOutput values. -// You can construct a concrete instance of `GetGlobalDnsProviderRoute53ConfigInput` via: -// -// GetGlobalDnsProviderRoute53ConfigArgs{...} -type GetGlobalDnsProviderRoute53ConfigInput interface { - pulumi.Input - - ToGetGlobalDnsProviderRoute53ConfigOutput() GetGlobalDnsProviderRoute53ConfigOutput - ToGetGlobalDnsProviderRoute53ConfigOutputWithContext(context.Context) GetGlobalDnsProviderRoute53ConfigOutput -} - -type GetGlobalDnsProviderRoute53ConfigArgs struct { - AccessKey pulumi.StringInput `pulumi:"accessKey"` - CredentialsPath pulumi.StringPtrInput `pulumi:"credentialsPath"` - Region pulumi.StringPtrInput `pulumi:"region"` - RoleArn pulumi.StringPtrInput `pulumi:"roleArn"` - SecretKey pulumi.StringInput `pulumi:"secretKey"` - ZoneType pulumi.StringPtrInput `pulumi:"zoneType"` -} - -func (GetGlobalDnsProviderRoute53ConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetGlobalDnsProviderRoute53Config)(nil)).Elem() -} - -func (i GetGlobalDnsProviderRoute53ConfigArgs) ToGetGlobalDnsProviderRoute53ConfigOutput() GetGlobalDnsProviderRoute53ConfigOutput { - return i.ToGetGlobalDnsProviderRoute53ConfigOutputWithContext(context.Background()) -} - -func (i GetGlobalDnsProviderRoute53ConfigArgs) ToGetGlobalDnsProviderRoute53ConfigOutputWithContext(ctx context.Context) GetGlobalDnsProviderRoute53ConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetGlobalDnsProviderRoute53ConfigOutput) -} - -type GetGlobalDnsProviderRoute53ConfigOutput struct{ *pulumi.OutputState } - -func (GetGlobalDnsProviderRoute53ConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetGlobalDnsProviderRoute53Config)(nil)).Elem() -} - -func (o GetGlobalDnsProviderRoute53ConfigOutput) ToGetGlobalDnsProviderRoute53ConfigOutput() GetGlobalDnsProviderRoute53ConfigOutput { - return o -} - -func (o GetGlobalDnsProviderRoute53ConfigOutput) ToGetGlobalDnsProviderRoute53ConfigOutputWithContext(ctx context.Context) GetGlobalDnsProviderRoute53ConfigOutput { - return o -} - -func (o GetGlobalDnsProviderRoute53ConfigOutput) AccessKey() pulumi.StringOutput { - return o.ApplyT(func(v GetGlobalDnsProviderRoute53Config) string { return v.AccessKey }).(pulumi.StringOutput) -} - -func (o GetGlobalDnsProviderRoute53ConfigOutput) CredentialsPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetGlobalDnsProviderRoute53Config) *string { return v.CredentialsPath }).(pulumi.StringPtrOutput) -} - -func (o GetGlobalDnsProviderRoute53ConfigOutput) Region() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetGlobalDnsProviderRoute53Config) *string { return v.Region }).(pulumi.StringPtrOutput) -} - -func (o GetGlobalDnsProviderRoute53ConfigOutput) RoleArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetGlobalDnsProviderRoute53Config) *string { return v.RoleArn }).(pulumi.StringPtrOutput) -} - -func (o GetGlobalDnsProviderRoute53ConfigOutput) SecretKey() pulumi.StringOutput { - return o.ApplyT(func(v GetGlobalDnsProviderRoute53Config) string { return v.SecretKey }).(pulumi.StringOutput) -} - -func (o GetGlobalDnsProviderRoute53ConfigOutput) ZoneType() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetGlobalDnsProviderRoute53Config) *string { return v.ZoneType }).(pulumi.StringPtrOutput) -} - type GetGlobalRoleRule struct { // Policy rule api groups ApiGroups []string `pulumi:"apiGroups"` @@ -94638,12 +93908,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*EtcdBackupBackupConfigPtrInput)(nil)).Elem(), EtcdBackupBackupConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EtcdBackupBackupConfigS3BackupConfigInput)(nil)).Elem(), EtcdBackupBackupConfigS3BackupConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EtcdBackupBackupConfigS3BackupConfigPtrInput)(nil)).Elem(), EtcdBackupBackupConfigS3BackupConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GlobalDnsProviderAlidnsConfigInput)(nil)).Elem(), GlobalDnsProviderAlidnsConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GlobalDnsProviderAlidnsConfigPtrInput)(nil)).Elem(), GlobalDnsProviderAlidnsConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GlobalDnsProviderCloudflareConfigInput)(nil)).Elem(), GlobalDnsProviderCloudflareConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GlobalDnsProviderCloudflareConfigPtrInput)(nil)).Elem(), GlobalDnsProviderCloudflareConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GlobalDnsProviderRoute53ConfigInput)(nil)).Elem(), GlobalDnsProviderRoute53ConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GlobalDnsProviderRoute53ConfigPtrInput)(nil)).Elem(), GlobalDnsProviderRoute53ConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GlobalRoleRuleInput)(nil)).Elem(), GlobalRoleRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GlobalRoleRuleArrayInput)(nil)).Elem(), GlobalRoleRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*MachineConfigV2Amazonec2ConfigInput)(nil)).Elem(), MachineConfigV2Amazonec2ConfigArgs{}) @@ -95032,9 +94296,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetEtcdBackupBackupConfigInput)(nil)).Elem(), GetEtcdBackupBackupConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetEtcdBackupBackupConfigS3BackupConfigInput)(nil)).Elem(), GetEtcdBackupBackupConfigS3BackupConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetEtcdBackupBackupConfigS3BackupConfigPtrInput)(nil)).Elem(), GetEtcdBackupBackupConfigS3BackupConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetGlobalDnsProviderAlidnsConfigInput)(nil)).Elem(), GetGlobalDnsProviderAlidnsConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetGlobalDnsProviderCloudflareConfigInput)(nil)).Elem(), GetGlobalDnsProviderCloudflareConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetGlobalDnsProviderRoute53ConfigInput)(nil)).Elem(), GetGlobalDnsProviderRoute53ConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetGlobalRoleRuleInput)(nil)).Elem(), GetGlobalRoleRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetGlobalRoleRuleArrayInput)(nil)).Elem(), GetGlobalRoleRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMultiClusterAppAnswerInput)(nil)).Elem(), GetMultiClusterAppAnswerArgs{}) @@ -95491,12 +94752,6 @@ func init() { pulumi.RegisterOutputType(EtcdBackupBackupConfigPtrOutput{}) pulumi.RegisterOutputType(EtcdBackupBackupConfigS3BackupConfigOutput{}) pulumi.RegisterOutputType(EtcdBackupBackupConfigS3BackupConfigPtrOutput{}) - pulumi.RegisterOutputType(GlobalDnsProviderAlidnsConfigOutput{}) - pulumi.RegisterOutputType(GlobalDnsProviderAlidnsConfigPtrOutput{}) - pulumi.RegisterOutputType(GlobalDnsProviderCloudflareConfigOutput{}) - pulumi.RegisterOutputType(GlobalDnsProviderCloudflareConfigPtrOutput{}) - pulumi.RegisterOutputType(GlobalDnsProviderRoute53ConfigOutput{}) - pulumi.RegisterOutputType(GlobalDnsProviderRoute53ConfigPtrOutput{}) pulumi.RegisterOutputType(GlobalRoleRuleOutput{}) pulumi.RegisterOutputType(GlobalRoleRuleArrayOutput{}) pulumi.RegisterOutputType(MachineConfigV2Amazonec2ConfigOutput{}) @@ -95885,9 +95140,6 @@ func init() { pulumi.RegisterOutputType(GetEtcdBackupBackupConfigOutput{}) pulumi.RegisterOutputType(GetEtcdBackupBackupConfigS3BackupConfigOutput{}) pulumi.RegisterOutputType(GetEtcdBackupBackupConfigS3BackupConfigPtrOutput{}) - pulumi.RegisterOutputType(GetGlobalDnsProviderAlidnsConfigOutput{}) - pulumi.RegisterOutputType(GetGlobalDnsProviderCloudflareConfigOutput{}) - pulumi.RegisterOutputType(GetGlobalDnsProviderRoute53ConfigOutput{}) pulumi.RegisterOutputType(GetGlobalRoleRuleOutput{}) pulumi.RegisterOutputType(GetGlobalRoleRuleArrayOutput{}) pulumi.RegisterOutputType(GetMultiClusterAppAnswerOutput{}) diff --git a/sdk/go/rancher2/registry.go b/sdk/go/rancher2/registry.go index 427d0170c..c7d9feadd 100644 --- a/sdk/go/rancher2/registry.go +++ b/sdk/go/rancher2/registry.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -59,7 +59,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/roleTemplate.go b/sdk/go/rancher2/roleTemplate.go index ae034a56a..4f5aa6d0b 100644 --- a/sdk/go/rancher2/roleTemplate.go +++ b/sdk/go/rancher2/roleTemplate.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -63,7 +63,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/secret.go b/sdk/go/rancher2/secret.go index 86075fdbd..5dd7a594a 100644 --- a/sdk/go/rancher2/secret.go +++ b/sdk/go/rancher2/secret.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi-std/sdk/go/std" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // @@ -76,7 +76,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi-std/sdk/go/std" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // diff --git a/sdk/go/rancher2/secretV2.go b/sdk/go/rancher2/secretV2.go index a6fa5333f..0809d8a16 100644 --- a/sdk/go/rancher2/secretV2.go +++ b/sdk/go/rancher2/secretV2.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/setting.go b/sdk/go/rancher2/setting.go index a94cd4816..795405a2d 100644 --- a/sdk/go/rancher2/setting.go +++ b/sdk/go/rancher2/setting.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/rancher2/storageClassV2.go b/sdk/go/rancher2/storageClassV2.go index bc1bf0d73..f0263684b 100644 --- a/sdk/go/rancher2/storageClassV2.go +++ b/sdk/go/rancher2/storageClassV2.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/token.go b/sdk/go/rancher2/token.go index f30db556c..cf4e36250 100644 --- a/sdk/go/rancher2/token.go +++ b/sdk/go/rancher2/token.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/rancher2/user.go b/sdk/go/rancher2/user.go index f2a6b5775..e908c1396 100644 --- a/sdk/go/rancher2/user.go +++ b/sdk/go/rancher2/user.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2/internal" + "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-rancher2/sdk/v7/go/rancher2" +// "github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -32,10 +32,11 @@ import ( // pulumi.Run(func(ctx *pulumi.Context) error { // // Create a new rancher2 User // foo, err := rancher2.NewUser(ctx, "foo", &rancher2.UserArgs{ -// Name: pulumi.String("Foo user"), -// Username: pulumi.String("foo"), -// Password: pulumi.String("changeme"), -// Enabled: pulumi.Bool(true), +// Name: pulumi.String("Foo user"), +// Username: pulumi.String("foo"), +// Password: pulumi.String("changeme"), +// Enabled: pulumi.Bool(true), +// MustChangePassword: pulumi.Bool(true), // }) // if err != nil { // return err @@ -70,6 +71,8 @@ type User struct { Enabled pulumi.BoolPtrOutput `pulumi:"enabled"` // Labels for global role binding (map) Labels pulumi.StringMapOutput `pulumi:"labels"` + // The user must change password at first login (bool) + MustChangePassword pulumi.BoolPtrOutput `pulumi:"mustChangePassword"` // The user full name (string) Name pulumi.StringOutput `pulumi:"name"` // The user password (string) @@ -128,6 +131,8 @@ type userState struct { Enabled *bool `pulumi:"enabled"` // Labels for global role binding (map) Labels map[string]string `pulumi:"labels"` + // The user must change password at first login (bool) + MustChangePassword *bool `pulumi:"mustChangePassword"` // The user full name (string) Name *string `pulumi:"name"` // The user password (string) @@ -144,6 +149,8 @@ type UserState struct { Enabled pulumi.BoolPtrInput // Labels for global role binding (map) Labels pulumi.StringMapInput + // The user must change password at first login (bool) + MustChangePassword pulumi.BoolPtrInput // The user full name (string) Name pulumi.StringPtrInput // The user password (string) @@ -164,6 +171,8 @@ type userArgs struct { Enabled *bool `pulumi:"enabled"` // Labels for global role binding (map) Labels map[string]string `pulumi:"labels"` + // The user must change password at first login (bool) + MustChangePassword *bool `pulumi:"mustChangePassword"` // The user full name (string) Name *string `pulumi:"name"` // The user password (string) @@ -179,6 +188,8 @@ type UserArgs struct { Enabled pulumi.BoolPtrInput // Labels for global role binding (map) Labels pulumi.StringMapInput + // The user must change password at first login (bool) + MustChangePassword pulumi.BoolPtrInput // The user full name (string) Name pulumi.StringPtrInput // The user password (string) @@ -288,6 +299,11 @@ func (o UserOutput) Labels() pulumi.StringMapOutput { return o.ApplyT(func(v *User) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) } +// The user must change password at first login (bool) +func (o UserOutput) MustChangePassword() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *User) pulumi.BoolPtrOutput { return v.MustChangePassword }).(pulumi.BoolPtrOutput) +} + // The user full name (string) func (o UserOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *User) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/java/build.gradle b/sdk/java/build.gradle index 845197e6d..2b7d7ce53 100644 --- a/sdk/java/build.gradle +++ b/sdk/java/build.gradle @@ -5,7 +5,7 @@ plugins { id("signing") id("java-library") id("maven-publish") - id("io.github.gradle-nexus.publish-plugin") version "1.1.0" + id("io.github.gradle-nexus.publish-plugin") version "2.0.0" } group = "com.pulumi" @@ -44,7 +44,7 @@ repositories { dependencies { implementation("com.google.code.findbugs:jsr305:3.0.2") implementation("com.google.code.gson:gson:2.8.9") - implementation("com.pulumi:pulumi:0.17.0") + implementation("com.pulumi:pulumi:0.18.0") } task sourcesJar(type: Jar) { diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Cluster.java b/sdk/java/src/main/java/com/pulumi/rancher2/Cluster.java index 567597464..0bd86babf 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Cluster.java @@ -865,6 +865,7 @@ * .virtualNetworkResourceGroup("") * .subnet("") * .nodeResourceGroup("") + * .outboundType("loadBalancer") * .nodePools( * ClusterAksConfigV2NodePoolArgs.builder() * .availabilityZones( diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDns.java b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDns.java deleted file mode 100644 index f539c664b..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDns.java +++ /dev/null @@ -1,310 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Export; -import com.pulumi.core.annotations.ResourceType; -import com.pulumi.core.internal.Codegen; -import com.pulumi.rancher2.GlobalDnsArgs; -import com.pulumi.rancher2.Utilities; -import com.pulumi.rancher2.inputs.GlobalDnsState; -import java.lang.Integer; -import java.lang.String; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import javax.annotation.Nullable; - -/** - * Provides a Rancher V2 Global DNS resource. This can be used to create Global DNS records for Rancher V2. - * - * ## Example Usage - * - * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.rancher2.GlobalDnsProvider;
- * import com.pulumi.rancher2.GlobalDnsProviderArgs;
- * import com.pulumi.rancher2.inputs.GlobalDnsProviderRoute53ConfigArgs;
- * import com.pulumi.rancher2.GlobalDns;
- * import com.pulumi.rancher2.GlobalDnsArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         // Create a new rancher2 Global DNS Provider
- *         var foo = new GlobalDnsProvider("foo", GlobalDnsProviderArgs.builder()
- *             .name("foo")
- *             .rootDomain("example.com")
- *             .route53Config(GlobalDnsProviderRoute53ConfigArgs.builder()
- *                 .accessKey("YYYYYYYYYYYYYYYYYYYY")
- *                 .secretKey("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
- *                 .zoneType("private")
- *                 .region("us-east-1")
- *                 .build())
- *             .build());
- * 
- *         // Create a new rancher2 Global DNS using project IDs
- *         var fooGlobalDns = new GlobalDns("fooGlobalDns", GlobalDnsArgs.builder()
- *             .name("foo")
- *             .fqdn("foo.example.com")
- *             .providerId(foo.id())
- *             .projectIds(            
- *                 "project1",
- *                 "project2")
- *             .build());
- * 
- *     }
- * }
- * }
- * 
- * <!--End PulumiCodeChooser --> - * - * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.rancher2.GlobalDnsProvider;
- * import com.pulumi.rancher2.GlobalDnsProviderArgs;
- * import com.pulumi.rancher2.inputs.GlobalDnsProviderRoute53ConfigArgs;
- * import com.pulumi.rancher2.GlobalDns;
- * import com.pulumi.rancher2.GlobalDnsArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         // Create a new rancher2 Global DNS Provider
- *         var foo = new GlobalDnsProvider("foo", GlobalDnsProviderArgs.builder()
- *             .name("foo")
- *             .rootDomain("example.com")
- *             .route53Config(GlobalDnsProviderRoute53ConfigArgs.builder()
- *                 .accessKey("YYYYYYYYYYYYYYYYYYYY")
- *                 .secretKey("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
- *                 .zoneType("private")
- *                 .region("us-east-1")
- *                 .build())
- *             .build());
- * 
- *         // Create a new rancher2 Global DNS using MultiClusterApp ID
- *         var fooGlobalDns = new GlobalDns("fooGlobalDns", GlobalDnsArgs.builder()
- *             .name("foo")
- *             .fqdn("foo.example.com")
- *             .providerId(foo.id())
- *             .multiClusterAppId("")
- *             .build());
- * 
- *     }
- * }
- * }
- * 
- * <!--End PulumiCodeChooser --> - * - * ## Import - * - * Global DNS Entry can be imported using the Rancher Global DNS ID - * - * ```sh - * $ pulumi import rancher2:index/globalDns:GlobalDns foo <global_dns_id> - * ``` - * - */ -@ResourceType(type="rancher2:index/globalDns:GlobalDns") -public class GlobalDns extends com.pulumi.resources.CustomResource { - /** - * Annotations for Global DNS (map) - * - */ - @Export(name="annotations", refs={Map.class,String.class}, tree="[0,1,1]") - private Output> annotations; - - /** - * @return Annotations for Global DNS (map) - * - */ - public Output> annotations() { - return this.annotations; - } - /** - * The Global DNS record (string) - * - */ - @Export(name="fqdn", refs={String.class}, tree="[0]") - private Output fqdn; - - /** - * @return The Global DNS record (string) - * - */ - public Output fqdn() { - return this.fqdn; - } - /** - * Labels for Global DNS (map) - * - */ - @Export(name="labels", refs={Map.class,String.class}, tree="[0,1,1]") - private Output> labels; - - /** - * @return Labels for Global DNS (map) - * - */ - public Output> labels() { - return this.labels; - } - /** - * The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - * - */ - @Export(name="multiClusterAppId", refs={String.class}, tree="[0]") - private Output multiClusterAppId; - - /** - * @return The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - * - */ - public Output> multiClusterAppId() { - return Codegen.optional(this.multiClusterAppId); - } - /** - * The name of the Global DNS (string) - * - */ - @Export(name="name", refs={String.class}, tree="[0]") - private Output name; - - /** - * @return The name of the Global DNS (string) - * - */ - public Output name() { - return this.name; - } - /** - * A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - * - */ - @Export(name="projectIds", refs={List.class,String.class}, tree="[0,1]") - private Output> projectIds; - - /** - * @return A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - * - */ - public Output>> projectIds() { - return Codegen.optional(this.projectIds); - } - /** - * The Global DNS provider ID to use (string) - * - */ - @Export(name="providerId", refs={String.class}, tree="[0]") - private Output providerId; - - /** - * @return The Global DNS provider ID to use (string) - * - */ - public Output providerId() { - return this.providerId; - } - /** - * TTL in seconds for DNS record. Default: `300` (int) - * - */ - @Export(name="ttl", refs={Integer.class}, tree="[0]") - private Output ttl; - - /** - * @return TTL in seconds for DNS record. Default: `300` (int) - * - */ - public Output> ttl() { - return Codegen.optional(this.ttl); - } - - /** - * - * @param name The _unique_ name of the resulting resource. - */ - public GlobalDns(java.lang.String name) { - this(name, GlobalDnsArgs.Empty); - } - /** - * - * @param name The _unique_ name of the resulting resource. - * @param args The arguments to use to populate this resource's properties. - */ - public GlobalDns(java.lang.String name, GlobalDnsArgs args) { - this(name, args, null); - } - /** - * - * @param name The _unique_ name of the resulting resource. - * @param args The arguments to use to populate this resource's properties. - * @param options A bag of options that control this resource's behavior. - */ - public GlobalDns(java.lang.String name, GlobalDnsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/globalDns:GlobalDns", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); - } - - private GlobalDns(java.lang.String name, Output id, @Nullable GlobalDnsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/globalDns:GlobalDns", name, state, makeResourceOptions(options, id), false); - } - - private static GlobalDnsArgs makeArgs(GlobalDnsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - if (options != null && options.getUrn().isPresent()) { - return null; - } - return args == null ? GlobalDnsArgs.Empty : args; - } - - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { - var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() - .version(Utilities.getVersion()) - .build(); - return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); - } - - /** - * Get an existing Host resource's state with the given name, ID, and optional extra - * properties used to qualify the lookup. - * - * @param name The _unique_ name of the resulting resource. - * @param id The _unique_ provider ID of the resource to lookup. - * @param state - * @param options Optional settings to control the behavior of the CustomResource. - */ - public static GlobalDns get(java.lang.String name, Output id, @Nullable GlobalDnsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - return new GlobalDns(name, id, state, options); - } -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDnsArgs.java b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDnsArgs.java deleted file mode 100644 index 1c75b022a..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDnsArgs.java +++ /dev/null @@ -1,362 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; -import java.lang.String; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - - -public final class GlobalDnsArgs extends com.pulumi.resources.ResourceArgs { - - public static final GlobalDnsArgs Empty = new GlobalDnsArgs(); - - /** - * Annotations for Global DNS (map) - * - */ - @Import(name="annotations") - private @Nullable Output> annotations; - - /** - * @return Annotations for Global DNS (map) - * - */ - public Optional>> annotations() { - return Optional.ofNullable(this.annotations); - } - - /** - * The Global DNS record (string) - * - */ - @Import(name="fqdn", required=true) - private Output fqdn; - - /** - * @return The Global DNS record (string) - * - */ - public Output fqdn() { - return this.fqdn; - } - - /** - * Labels for Global DNS (map) - * - */ - @Import(name="labels") - private @Nullable Output> labels; - - /** - * @return Labels for Global DNS (map) - * - */ - public Optional>> labels() { - return Optional.ofNullable(this.labels); - } - - /** - * The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - * - */ - @Import(name="multiClusterAppId") - private @Nullable Output multiClusterAppId; - - /** - * @return The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - * - */ - public Optional> multiClusterAppId() { - return Optional.ofNullable(this.multiClusterAppId); - } - - /** - * The name of the Global DNS (string) - * - */ - @Import(name="name") - private @Nullable Output name; - - /** - * @return The name of the Global DNS (string) - * - */ - public Optional> name() { - return Optional.ofNullable(this.name); - } - - /** - * A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - * - */ - @Import(name="projectIds") - private @Nullable Output> projectIds; - - /** - * @return A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - * - */ - public Optional>> projectIds() { - return Optional.ofNullable(this.projectIds); - } - - /** - * The Global DNS provider ID to use (string) - * - */ - @Import(name="providerId", required=true) - private Output providerId; - - /** - * @return The Global DNS provider ID to use (string) - * - */ - public Output providerId() { - return this.providerId; - } - - /** - * TTL in seconds for DNS record. Default: `300` (int) - * - */ - @Import(name="ttl") - private @Nullable Output ttl; - - /** - * @return TTL in seconds for DNS record. Default: `300` (int) - * - */ - public Optional> ttl() { - return Optional.ofNullable(this.ttl); - } - - private GlobalDnsArgs() {} - - private GlobalDnsArgs(GlobalDnsArgs $) { - this.annotations = $.annotations; - this.fqdn = $.fqdn; - this.labels = $.labels; - this.multiClusterAppId = $.multiClusterAppId; - this.name = $.name; - this.projectIds = $.projectIds; - this.providerId = $.providerId; - this.ttl = $.ttl; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GlobalDnsArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GlobalDnsArgs $; - - public Builder() { - $ = new GlobalDnsArgs(); - } - - public Builder(GlobalDnsArgs defaults) { - $ = new GlobalDnsArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param annotations Annotations for Global DNS (map) - * - * @return builder - * - */ - public Builder annotations(@Nullable Output> annotations) { - $.annotations = annotations; - return this; - } - - /** - * @param annotations Annotations for Global DNS (map) - * - * @return builder - * - */ - public Builder annotations(Map annotations) { - return annotations(Output.of(annotations)); - } - - /** - * @param fqdn The Global DNS record (string) - * - * @return builder - * - */ - public Builder fqdn(Output fqdn) { - $.fqdn = fqdn; - return this; - } - - /** - * @param fqdn The Global DNS record (string) - * - * @return builder - * - */ - public Builder fqdn(String fqdn) { - return fqdn(Output.of(fqdn)); - } - - /** - * @param labels Labels for Global DNS (map) - * - * @return builder - * - */ - public Builder labels(@Nullable Output> labels) { - $.labels = labels; - return this; - } - - /** - * @param labels Labels for Global DNS (map) - * - * @return builder - * - */ - public Builder labels(Map labels) { - return labels(Output.of(labels)); - } - - /** - * @param multiClusterAppId The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - * - * @return builder - * - */ - public Builder multiClusterAppId(@Nullable Output multiClusterAppId) { - $.multiClusterAppId = multiClusterAppId; - return this; - } - - /** - * @param multiClusterAppId The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - * - * @return builder - * - */ - public Builder multiClusterAppId(String multiClusterAppId) { - return multiClusterAppId(Output.of(multiClusterAppId)); - } - - /** - * @param name The name of the Global DNS (string) - * - * @return builder - * - */ - public Builder name(@Nullable Output name) { - $.name = name; - return this; - } - - /** - * @param name The name of the Global DNS (string) - * - * @return builder - * - */ - public Builder name(String name) { - return name(Output.of(name)); - } - - /** - * @param projectIds A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - * - * @return builder - * - */ - public Builder projectIds(@Nullable Output> projectIds) { - $.projectIds = projectIds; - return this; - } - - /** - * @param projectIds A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - * - * @return builder - * - */ - public Builder projectIds(List projectIds) { - return projectIds(Output.of(projectIds)); - } - - /** - * @param projectIds A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - * - * @return builder - * - */ - public Builder projectIds(String... projectIds) { - return projectIds(List.of(projectIds)); - } - - /** - * @param providerId The Global DNS provider ID to use (string) - * - * @return builder - * - */ - public Builder providerId(Output providerId) { - $.providerId = providerId; - return this; - } - - /** - * @param providerId The Global DNS provider ID to use (string) - * - * @return builder - * - */ - public Builder providerId(String providerId) { - return providerId(Output.of(providerId)); - } - - /** - * @param ttl TTL in seconds for DNS record. Default: `300` (int) - * - * @return builder - * - */ - public Builder ttl(@Nullable Output ttl) { - $.ttl = ttl; - return this; - } - - /** - * @param ttl TTL in seconds for DNS record. Default: `300` (int) - * - * @return builder - * - */ - public Builder ttl(Integer ttl) { - return ttl(Output.of(ttl)); - } - - public GlobalDnsArgs build() { - if ($.fqdn == null) { - throw new MissingRequiredPropertyException("GlobalDnsArgs", "fqdn"); - } - if ($.providerId == null) { - throw new MissingRequiredPropertyException("GlobalDnsArgs", "providerId"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDnsProvider.java b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDnsProvider.java deleted file mode 100644 index 09e6f7a70..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDnsProvider.java +++ /dev/null @@ -1,304 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Export; -import com.pulumi.core.annotations.ResourceType; -import com.pulumi.core.internal.Codegen; -import com.pulumi.rancher2.GlobalDnsProviderArgs; -import com.pulumi.rancher2.Utilities; -import com.pulumi.rancher2.inputs.GlobalDnsProviderState; -import com.pulumi.rancher2.outputs.GlobalDnsProviderAlidnsConfig; -import com.pulumi.rancher2.outputs.GlobalDnsProviderCloudflareConfig; -import com.pulumi.rancher2.outputs.GlobalDnsProviderRoute53Config; -import java.lang.String; -import java.util.Map; -import java.util.Optional; -import javax.annotation.Nullable; - -/** - * Provides a Rancher V2 Global DNS Provider resource. This can be used to create Global DNS Providers for Rancher V2. Supported Global DNS Providers: `alidns, cloudflare, route53` - * - * ## Example Usage - * - * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.rancher2.GlobalDnsProvider;
- * import com.pulumi.rancher2.GlobalDnsProviderArgs;
- * import com.pulumi.rancher2.inputs.GlobalDnsProviderAlidnsConfigArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         // Create a new rancher2 Global DNS Provider - alidns
- *         var foo = new GlobalDnsProvider("foo", GlobalDnsProviderArgs.builder()
- *             .name("foo")
- *             .rootDomain("example.com")
- *             .alidnsConfig(GlobalDnsProviderAlidnsConfigArgs.builder()
- *                 .accessKey("YYYYYYYYYYYYYYYYYYYY")
- *                 .secretKey("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
- *                 .build())
- *             .build());
- * 
- *     }
- * }
- * }
- * 
- * <!--End PulumiCodeChooser --> - * - * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.rancher2.GlobalDnsProvider;
- * import com.pulumi.rancher2.GlobalDnsProviderArgs;
- * import com.pulumi.rancher2.inputs.GlobalDnsProviderCloudflareConfigArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App }{{@code
- *     public static void main(String[] args) }{{@code
- *         Pulumi.run(App::stack);
- *     }}{@code
- * 
- *     public static void stack(Context ctx) }{{@code
- *         // Create a new rancher2 Global DNS Provider - cloudflare
- *         var foo = new GlobalDnsProvider("foo", GlobalDnsProviderArgs.builder()
- *             .name("foo")
- *             .rootDomain("example.com")
- *             .cloudflareConfig(GlobalDnsProviderCloudflareConfigArgs.builder()
- *                 .apiEmail("test}{@literal @}{@code test.local")
- *                 .apiKey("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
- *                 .proxySetting(true)
- *                 .build())
- *             .build());
- * 
- *     }}{@code
- * }}{@code
- * }
- * 
- * <!--End PulumiCodeChooser --> - * - * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.rancher2.GlobalDnsProvider;
- * import com.pulumi.rancher2.GlobalDnsProviderArgs;
- * import com.pulumi.rancher2.inputs.GlobalDnsProviderRoute53ConfigArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         // Create a new rancher2 Global DNS Provider - route53
- *         var foo = new GlobalDnsProvider("foo", GlobalDnsProviderArgs.builder()
- *             .name("foo")
- *             .rootDomain("example.com")
- *             .route53Config(GlobalDnsProviderRoute53ConfigArgs.builder()
- *                 .accessKey("YYYYYYYYYYYYYYYYYYYY")
- *                 .secretKey("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
- *                 .zoneType("private")
- *                 .region("us-east-1")
- *                 .build())
- *             .build());
- * 
- *     }
- * }
- * }
- * 
- * <!--End PulumiCodeChooser --> - * - * ## Import - * - * Global DNS Providers can be imported using the Rancher Global DNS Provider ID - * - * ```sh - * $ pulumi import rancher2:index/globalDnsProvider:GlobalDnsProvider foo <global_dns_provider_id> - * ``` - * - */ -@ResourceType(type="rancher2:index/globalDnsProvider:GlobalDnsProvider") -public class GlobalDnsProvider extends com.pulumi.resources.CustomResource { - @Export(name="alidnsConfig", refs={GlobalDnsProviderAlidnsConfig.class}, tree="[0]") - private Output alidnsConfig; - - public Output> alidnsConfig() { - return Codegen.optional(this.alidnsConfig); - } - /** - * Annotations for Global DNS Provider (map) - * - */ - @Export(name="annotations", refs={Map.class,String.class}, tree="[0,1,1]") - private Output> annotations; - - /** - * @return Annotations for Global DNS Provider (map) - * - */ - public Output> annotations() { - return this.annotations; - } - @Export(name="cloudflareConfig", refs={GlobalDnsProviderCloudflareConfig.class}, tree="[0]") - private Output cloudflareConfig; - - public Output> cloudflareConfig() { - return Codegen.optional(this.cloudflareConfig); - } - /** - * (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - * - */ - @Export(name="dnsProvider", refs={String.class}, tree="[0]") - private Output dnsProvider; - - /** - * @return (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - * - */ - public Output dnsProvider() { - return this.dnsProvider; - } - /** - * Labels for Global DNS Provider (map) - * - */ - @Export(name="labels", refs={Map.class,String.class}, tree="[0,1,1]") - private Output> labels; - - /** - * @return Labels for Global DNS Provider (map) - * - */ - public Output> labels() { - return this.labels; - } - /** - * The name of the Global DNS Provider (string) - * - */ - @Export(name="name", refs={String.class}, tree="[0]") - private Output name; - - /** - * @return The name of the Global DNS Provider (string) - * - */ - public Output name() { - return this.name; - } - /** - * The user ID to assign Global DNS Provider (string) - * - */ - @Export(name="rootDomain", refs={String.class}, tree="[0]") - private Output rootDomain; - - /** - * @return The user ID to assign Global DNS Provider (string) - * - */ - public Output rootDomain() { - return this.rootDomain; - } - @Export(name="route53Config", refs={GlobalDnsProviderRoute53Config.class}, tree="[0]") - private Output route53Config; - - public Output> route53Config() { - return Codegen.optional(this.route53Config); - } - - /** - * - * @param name The _unique_ name of the resulting resource. - */ - public GlobalDnsProvider(java.lang.String name) { - this(name, GlobalDnsProviderArgs.Empty); - } - /** - * - * @param name The _unique_ name of the resulting resource. - * @param args The arguments to use to populate this resource's properties. - */ - public GlobalDnsProvider(java.lang.String name, GlobalDnsProviderArgs args) { - this(name, args, null); - } - /** - * - * @param name The _unique_ name of the resulting resource. - * @param args The arguments to use to populate this resource's properties. - * @param options A bag of options that control this resource's behavior. - */ - public GlobalDnsProvider(java.lang.String name, GlobalDnsProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/globalDnsProvider:GlobalDnsProvider", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); - } - - private GlobalDnsProvider(java.lang.String name, Output id, @Nullable GlobalDnsProviderState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/globalDnsProvider:GlobalDnsProvider", name, state, makeResourceOptions(options, id), false); - } - - private static GlobalDnsProviderArgs makeArgs(GlobalDnsProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - if (options != null && options.getUrn().isPresent()) { - return null; - } - return args == null ? GlobalDnsProviderArgs.Empty : args; - } - - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { - var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() - .version(Utilities.getVersion()) - .build(); - return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); - } - - /** - * Get an existing Host resource's state with the given name, ID, and optional extra - * properties used to qualify the lookup. - * - * @param name The _unique_ name of the resulting resource. - * @param id The _unique_ provider ID of the resource to lookup. - * @param state - * @param options Optional settings to control the behavior of the CustomResource. - */ - public static GlobalDnsProvider get(java.lang.String name, Output id, @Nullable GlobalDnsProviderState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - return new GlobalDnsProvider(name, id, state, options); - } -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDnsProviderArgs.java b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDnsProviderArgs.java deleted file mode 100644 index 0358ab1f5..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDnsProviderArgs.java +++ /dev/null @@ -1,253 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import com.pulumi.rancher2.inputs.GlobalDnsProviderAlidnsConfigArgs; -import com.pulumi.rancher2.inputs.GlobalDnsProviderCloudflareConfigArgs; -import com.pulumi.rancher2.inputs.GlobalDnsProviderRoute53ConfigArgs; -import java.lang.String; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - - -public final class GlobalDnsProviderArgs extends com.pulumi.resources.ResourceArgs { - - public static final GlobalDnsProviderArgs Empty = new GlobalDnsProviderArgs(); - - @Import(name="alidnsConfig") - private @Nullable Output alidnsConfig; - - public Optional> alidnsConfig() { - return Optional.ofNullable(this.alidnsConfig); - } - - /** - * Annotations for Global DNS Provider (map) - * - */ - @Import(name="annotations") - private @Nullable Output> annotations; - - /** - * @return Annotations for Global DNS Provider (map) - * - */ - public Optional>> annotations() { - return Optional.ofNullable(this.annotations); - } - - @Import(name="cloudflareConfig") - private @Nullable Output cloudflareConfig; - - public Optional> cloudflareConfig() { - return Optional.ofNullable(this.cloudflareConfig); - } - - /** - * Labels for Global DNS Provider (map) - * - */ - @Import(name="labels") - private @Nullable Output> labels; - - /** - * @return Labels for Global DNS Provider (map) - * - */ - public Optional>> labels() { - return Optional.ofNullable(this.labels); - } - - /** - * The name of the Global DNS Provider (string) - * - */ - @Import(name="name") - private @Nullable Output name; - - /** - * @return The name of the Global DNS Provider (string) - * - */ - public Optional> name() { - return Optional.ofNullable(this.name); - } - - /** - * The user ID to assign Global DNS Provider (string) - * - */ - @Import(name="rootDomain", required=true) - private Output rootDomain; - - /** - * @return The user ID to assign Global DNS Provider (string) - * - */ - public Output rootDomain() { - return this.rootDomain; - } - - @Import(name="route53Config") - private @Nullable Output route53Config; - - public Optional> route53Config() { - return Optional.ofNullable(this.route53Config); - } - - private GlobalDnsProviderArgs() {} - - private GlobalDnsProviderArgs(GlobalDnsProviderArgs $) { - this.alidnsConfig = $.alidnsConfig; - this.annotations = $.annotations; - this.cloudflareConfig = $.cloudflareConfig; - this.labels = $.labels; - this.name = $.name; - this.rootDomain = $.rootDomain; - this.route53Config = $.route53Config; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GlobalDnsProviderArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GlobalDnsProviderArgs $; - - public Builder() { - $ = new GlobalDnsProviderArgs(); - } - - public Builder(GlobalDnsProviderArgs defaults) { - $ = new GlobalDnsProviderArgs(Objects.requireNonNull(defaults)); - } - - public Builder alidnsConfig(@Nullable Output alidnsConfig) { - $.alidnsConfig = alidnsConfig; - return this; - } - - public Builder alidnsConfig(GlobalDnsProviderAlidnsConfigArgs alidnsConfig) { - return alidnsConfig(Output.of(alidnsConfig)); - } - - /** - * @param annotations Annotations for Global DNS Provider (map) - * - * @return builder - * - */ - public Builder annotations(@Nullable Output> annotations) { - $.annotations = annotations; - return this; - } - - /** - * @param annotations Annotations for Global DNS Provider (map) - * - * @return builder - * - */ - public Builder annotations(Map annotations) { - return annotations(Output.of(annotations)); - } - - public Builder cloudflareConfig(@Nullable Output cloudflareConfig) { - $.cloudflareConfig = cloudflareConfig; - return this; - } - - public Builder cloudflareConfig(GlobalDnsProviderCloudflareConfigArgs cloudflareConfig) { - return cloudflareConfig(Output.of(cloudflareConfig)); - } - - /** - * @param labels Labels for Global DNS Provider (map) - * - * @return builder - * - */ - public Builder labels(@Nullable Output> labels) { - $.labels = labels; - return this; - } - - /** - * @param labels Labels for Global DNS Provider (map) - * - * @return builder - * - */ - public Builder labels(Map labels) { - return labels(Output.of(labels)); - } - - /** - * @param name The name of the Global DNS Provider (string) - * - * @return builder - * - */ - public Builder name(@Nullable Output name) { - $.name = name; - return this; - } - - /** - * @param name The name of the Global DNS Provider (string) - * - * @return builder - * - */ - public Builder name(String name) { - return name(Output.of(name)); - } - - /** - * @param rootDomain The user ID to assign Global DNS Provider (string) - * - * @return builder - * - */ - public Builder rootDomain(Output rootDomain) { - $.rootDomain = rootDomain; - return this; - } - - /** - * @param rootDomain The user ID to assign Global DNS Provider (string) - * - * @return builder - * - */ - public Builder rootDomain(String rootDomain) { - return rootDomain(Output.of(rootDomain)); - } - - public Builder route53Config(@Nullable Output route53Config) { - $.route53Config = route53Config; - return this; - } - - public Builder route53Config(GlobalDnsProviderRoute53ConfigArgs route53Config) { - return route53Config(Output.of(route53Config)); - } - - public GlobalDnsProviderArgs build() { - if ($.rootDomain == null) { - throw new MissingRequiredPropertyException("GlobalDnsProviderArgs", "rootDomain"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/NodeTemplate.java b/sdk/java/src/main/java/com/pulumi/rancher2/NodeTemplate.java index 5c12b1e19..7f83affe7 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/NodeTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/NodeTemplate.java @@ -293,6 +293,14 @@ * * Due to [this feature](https://github.com/rancher/rancher/pull/23718) included on Rancher v2.3.3, `rancher2.NodeTemplate` are now global scoped objects with RBAC around them, instead of user scoped objects as they were. This means that existing node templates `id` field is changing on upgrade. Provider implements `fixNodeTemplateID()` that will update tfstate with proper id. * + * ## Import + * + * Node Template can be imported using the Rancher Node Template ID + * + * ```sh + * $ pulumi import rancher2:index/nodeTemplate:NodeTemplate foo &lt;node_template_id&gt; + * ``` + * */ @ResourceType(type="rancher2:index/nodeTemplate:NodeTemplate") public class NodeTemplate extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Rancher2Functions.java b/sdk/java/src/main/java/com/pulumi/rancher2/Rancher2Functions.java index d97c3afcc..76d9993f5 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Rancher2Functions.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Rancher2Functions.java @@ -32,8 +32,6 @@ import com.pulumi.rancher2.inputs.GetConfigMapV2PlainArgs; import com.pulumi.rancher2.inputs.GetEtcdBackupArgs; import com.pulumi.rancher2.inputs.GetEtcdBackupPlainArgs; -import com.pulumi.rancher2.inputs.GetGlobalDnsProviderArgs; -import com.pulumi.rancher2.inputs.GetGlobalDnsProviderPlainArgs; import com.pulumi.rancher2.inputs.GetGlobalRoleArgs; import com.pulumi.rancher2.inputs.GetGlobalRoleBindingArgs; import com.pulumi.rancher2.inputs.GetGlobalRoleBindingPlainArgs; @@ -82,7 +80,6 @@ import com.pulumi.rancher2.outputs.GetClusterV2Result; import com.pulumi.rancher2.outputs.GetConfigMapV2Result; import com.pulumi.rancher2.outputs.GetEtcdBackupResult; -import com.pulumi.rancher2.outputs.GetGlobalDnsProviderResult; import com.pulumi.rancher2.outputs.GetGlobalRoleBindingResult; import com.pulumi.rancher2.outputs.GetGlobalRoleResult; import com.pulumi.rancher2.outputs.GetMultiClusterAppResult; @@ -2036,174 +2033,6 @@ public static Output getEtcdBackup(GetEtcdBackupArgs args, public static CompletableFuture getEtcdBackupPlain(GetEtcdBackupPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("rancher2:index/getEtcdBackup:getEtcdBackup", TypeShape.of(GetEtcdBackupResult.class), args, Utilities.withVersion(options)); } - /** - * Provides a Rancher V2 Global DNS Provider data source. Use this data source to retrieve information about a Rancher v2 global DNS provider - * - * ## Example Usage - * - * <!--Start PulumiCodeChooser --> - *
-     * {@code
-     * package generated_program;
-     * 
-     * import com.pulumi.Context;
-     * import com.pulumi.Pulumi;
-     * import com.pulumi.core.Output;
-     * import com.pulumi.rancher2.Rancher2Functions;
-     * import com.pulumi.rancher2.inputs.GetGlobalDnsProviderArgs;
-     * import java.util.List;
-     * import java.util.ArrayList;
-     * import java.util.Map;
-     * import java.io.File;
-     * import java.nio.file.Files;
-     * import java.nio.file.Paths;
-     * 
-     * public class App {
-     *     public static void main(String[] args) {
-     *         Pulumi.run(App::stack);
-     *     }
-     * 
-     *     public static void stack(Context ctx) {
-     *         final var foo = Rancher2Functions.getGlobalDnsProvider(GetGlobalDnsProviderArgs.builder()
-     *             .name("foo")
-     *             .build());
-     * 
-     *     }
-     * }
-     * }
-     * 
- * <!--End PulumiCodeChooser --> - * - */ - public static Output getGlobalDnsProvider(GetGlobalDnsProviderArgs args) { - return getGlobalDnsProvider(args, InvokeOptions.Empty); - } - /** - * Provides a Rancher V2 Global DNS Provider data source. Use this data source to retrieve information about a Rancher v2 global DNS provider - * - * ## Example Usage - * - * <!--Start PulumiCodeChooser --> - *
-     * {@code
-     * package generated_program;
-     * 
-     * import com.pulumi.Context;
-     * import com.pulumi.Pulumi;
-     * import com.pulumi.core.Output;
-     * import com.pulumi.rancher2.Rancher2Functions;
-     * import com.pulumi.rancher2.inputs.GetGlobalDnsProviderArgs;
-     * import java.util.List;
-     * import java.util.ArrayList;
-     * import java.util.Map;
-     * import java.io.File;
-     * import java.nio.file.Files;
-     * import java.nio.file.Paths;
-     * 
-     * public class App {
-     *     public static void main(String[] args) {
-     *         Pulumi.run(App::stack);
-     *     }
-     * 
-     *     public static void stack(Context ctx) {
-     *         final var foo = Rancher2Functions.getGlobalDnsProvider(GetGlobalDnsProviderArgs.builder()
-     *             .name("foo")
-     *             .build());
-     * 
-     *     }
-     * }
-     * }
-     * 
- * <!--End PulumiCodeChooser --> - * - */ - public static CompletableFuture getGlobalDnsProviderPlain(GetGlobalDnsProviderPlainArgs args) { - return getGlobalDnsProviderPlain(args, InvokeOptions.Empty); - } - /** - * Provides a Rancher V2 Global DNS Provider data source. Use this data source to retrieve information about a Rancher v2 global DNS provider - * - * ## Example Usage - * - * <!--Start PulumiCodeChooser --> - *
-     * {@code
-     * package generated_program;
-     * 
-     * import com.pulumi.Context;
-     * import com.pulumi.Pulumi;
-     * import com.pulumi.core.Output;
-     * import com.pulumi.rancher2.Rancher2Functions;
-     * import com.pulumi.rancher2.inputs.GetGlobalDnsProviderArgs;
-     * import java.util.List;
-     * import java.util.ArrayList;
-     * import java.util.Map;
-     * import java.io.File;
-     * import java.nio.file.Files;
-     * import java.nio.file.Paths;
-     * 
-     * public class App {
-     *     public static void main(String[] args) {
-     *         Pulumi.run(App::stack);
-     *     }
-     * 
-     *     public static void stack(Context ctx) {
-     *         final var foo = Rancher2Functions.getGlobalDnsProvider(GetGlobalDnsProviderArgs.builder()
-     *             .name("foo")
-     *             .build());
-     * 
-     *     }
-     * }
-     * }
-     * 
- * <!--End PulumiCodeChooser --> - * - */ - public static Output getGlobalDnsProvider(GetGlobalDnsProviderArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("rancher2:index/getGlobalDnsProvider:getGlobalDnsProvider", TypeShape.of(GetGlobalDnsProviderResult.class), args, Utilities.withVersion(options)); - } - /** - * Provides a Rancher V2 Global DNS Provider data source. Use this data source to retrieve information about a Rancher v2 global DNS provider - * - * ## Example Usage - * - * <!--Start PulumiCodeChooser --> - *
-     * {@code
-     * package generated_program;
-     * 
-     * import com.pulumi.Context;
-     * import com.pulumi.Pulumi;
-     * import com.pulumi.core.Output;
-     * import com.pulumi.rancher2.Rancher2Functions;
-     * import com.pulumi.rancher2.inputs.GetGlobalDnsProviderArgs;
-     * import java.util.List;
-     * import java.util.ArrayList;
-     * import java.util.Map;
-     * import java.io.File;
-     * import java.nio.file.Files;
-     * import java.nio.file.Paths;
-     * 
-     * public class App {
-     *     public static void main(String[] args) {
-     *         Pulumi.run(App::stack);
-     *     }
-     * 
-     *     public static void stack(Context ctx) {
-     *         final var foo = Rancher2Functions.getGlobalDnsProvider(GetGlobalDnsProviderArgs.builder()
-     *             .name("foo")
-     *             .build());
-     * 
-     *     }
-     * }
-     * }
-     * 
- * <!--End PulumiCodeChooser --> - * - */ - public static CompletableFuture getGlobalDnsProviderPlain(GetGlobalDnsProviderPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("rancher2:index/getGlobalDnsProvider:getGlobalDnsProvider", TypeShape.of(GetGlobalDnsProviderResult.class), args, Utilities.withVersion(options)); - } /** * Use this data source to retrieve information about a Rancher v2 global role resource. * diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/User.java b/sdk/java/src/main/java/com/pulumi/rancher2/User.java index c64e66457..1a3966da0 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/User.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/User.java @@ -55,6 +55,7 @@ * .username("foo") * .password("changeme") * .enabled(true) + * .mustChangePassword(true) * .build()); * * // Create a new rancher2 global_role_binding for User @@ -115,6 +116,20 @@ public Output> enabled() { public Output> labels() { return this.labels; } + /** + * The user must change password at first login (bool) + * + */ + @Export(name="mustChangePassword", refs={Boolean.class}, tree="[0]") + private Output mustChangePassword; + + /** + * @return The user must change password at first login (bool) + * + */ + public Output> mustChangePassword() { + return Codegen.optional(this.mustChangePassword); + } /** * The user full name (string) * diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/UserArgs.java b/sdk/java/src/main/java/com/pulumi/rancher2/UserArgs.java index 3462f60a0..52d051006 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/UserArgs.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/UserArgs.java @@ -55,6 +55,21 @@ public Optional>> labels() { return Optional.ofNullable(this.labels); } + /** + * The user must change password at first login (bool) + * + */ + @Import(name="mustChangePassword") + private @Nullable Output mustChangePassword; + + /** + * @return The user must change password at first login (bool) + * + */ + public Optional> mustChangePassword() { + return Optional.ofNullable(this.mustChangePassword); + } + /** * The user full name (string) * @@ -106,6 +121,7 @@ private UserArgs(UserArgs $) { this.annotations = $.annotations; this.enabled = $.enabled; this.labels = $.labels; + this.mustChangePassword = $.mustChangePassword; this.name = $.name; this.password = $.password; this.username = $.username; @@ -180,6 +196,27 @@ public Builder labels(Map labels) { return labels(Output.of(labels)); } + /** + * @param mustChangePassword The user must change password at first login (bool) + * + * @return builder + * + */ + public Builder mustChangePassword(@Nullable Output mustChangePassword) { + $.mustChangePassword = mustChangePassword; + return this; + } + + /** + * @param mustChangePassword The user must change password at first login (bool) + * + * @return builder + * + */ + public Builder mustChangePassword(Boolean mustChangePassword) { + return mustChangePassword(Output.of(mustChangePassword)); + } + /** * @param name The user full name (string) * diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/ClusterAksConfigV2Args.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/ClusterAksConfigV2Args.java index 7d11367b3..d8683996e 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/ClusterAksConfigV2Args.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/ClusterAksConfigV2Args.java @@ -365,6 +365,21 @@ public Optional> nodeResourceGroup() { return Optional.ofNullable(this.nodeResourceGroup); } + /** + * The AKS outbound type for the egress traffic + * + */ + @Import(name="outboundType") + private @Nullable Output outboundType; + + /** + * @return The AKS outbound type for the egress traffic + * + */ + public Optional> outboundType() { + return Optional.ofNullable(this.outboundType); + } + /** * Is AKS cluster private? * @@ -496,6 +511,7 @@ private ClusterAksConfigV2Args(ClusterAksConfigV2Args $) { this.networkServiceCidr = $.networkServiceCidr; this.nodePools = $.nodePools; this.nodeResourceGroup = $.nodeResourceGroup; + this.outboundType = $.outboundType; this.privateCluster = $.privateCluster; this.resourceGroup = $.resourceGroup; this.resourceLocation = $.resourceLocation; @@ -1026,6 +1042,27 @@ public Builder nodeResourceGroup(String nodeResourceGroup) { return nodeResourceGroup(Output.of(nodeResourceGroup)); } + /** + * @param outboundType The AKS outbound type for the egress traffic + * + * @return builder + * + */ + public Builder outboundType(@Nullable Output outboundType) { + $.outboundType = outboundType; + return this; + } + + /** + * @param outboundType The AKS outbound type for the egress traffic + * + * @return builder + * + */ + public Builder outboundType(String outboundType) { + return outboundType(Output.of(outboundType)); + } + /** * @param privateCluster Is AKS cluster private? * diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetGlobalDnsProviderArgs.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetGlobalDnsProviderArgs.java deleted file mode 100644 index 379b9996f..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetGlobalDnsProviderArgs.java +++ /dev/null @@ -1,85 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2.inputs; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.String; -import java.util.Objects; - - -public final class GetGlobalDnsProviderArgs extends com.pulumi.resources.InvokeArgs { - - public static final GetGlobalDnsProviderArgs Empty = new GetGlobalDnsProviderArgs(); - - /** - * The name of the global DNS provider (string) - * - */ - @Import(name="name", required=true) - private Output name; - - /** - * @return The name of the global DNS provider (string) - * - */ - public Output name() { - return this.name; - } - - private GetGlobalDnsProviderArgs() {} - - private GetGlobalDnsProviderArgs(GetGlobalDnsProviderArgs $) { - this.name = $.name; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetGlobalDnsProviderArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetGlobalDnsProviderArgs $; - - public Builder() { - $ = new GetGlobalDnsProviderArgs(); - } - - public Builder(GetGlobalDnsProviderArgs defaults) { - $ = new GetGlobalDnsProviderArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param name The name of the global DNS provider (string) - * - * @return builder - * - */ - public Builder name(Output name) { - $.name = name; - return this; - } - - /** - * @param name The name of the global DNS provider (string) - * - * @return builder - * - */ - public Builder name(String name) { - return name(Output.of(name)); - } - - public GetGlobalDnsProviderArgs build() { - if ($.name == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderArgs", "name"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetGlobalDnsProviderPlainArgs.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetGlobalDnsProviderPlainArgs.java deleted file mode 100644 index cf24fa85f..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetGlobalDnsProviderPlainArgs.java +++ /dev/null @@ -1,74 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2.inputs; - -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.String; -import java.util.Objects; - - -public final class GetGlobalDnsProviderPlainArgs extends com.pulumi.resources.InvokeArgs { - - public static final GetGlobalDnsProviderPlainArgs Empty = new GetGlobalDnsProviderPlainArgs(); - - /** - * The name of the global DNS provider (string) - * - */ - @Import(name="name", required=true) - private String name; - - /** - * @return The name of the global DNS provider (string) - * - */ - public String name() { - return this.name; - } - - private GetGlobalDnsProviderPlainArgs() {} - - private GetGlobalDnsProviderPlainArgs(GetGlobalDnsProviderPlainArgs $) { - this.name = $.name; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetGlobalDnsProviderPlainArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetGlobalDnsProviderPlainArgs $; - - public Builder() { - $ = new GetGlobalDnsProviderPlainArgs(); - } - - public Builder(GetGlobalDnsProviderPlainArgs defaults) { - $ = new GetGlobalDnsProviderPlainArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param name The name of the global DNS provider (string) - * - * @return builder - * - */ - public Builder name(String name) { - $.name = name; - return this; - } - - public GetGlobalDnsProviderPlainArgs build() { - if ($.name == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderPlainArgs", "name"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalDnsProviderAlidnsConfigArgs.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalDnsProviderAlidnsConfigArgs.java deleted file mode 100644 index 351ffc5cd..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalDnsProviderAlidnsConfigArgs.java +++ /dev/null @@ -1,125 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2.inputs; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.String; -import java.util.Objects; - - -public final class GlobalDnsProviderAlidnsConfigArgs extends com.pulumi.resources.ResourceArgs { - - public static final GlobalDnsProviderAlidnsConfigArgs Empty = new GlobalDnsProviderAlidnsConfigArgs(); - - /** - * The AWS Access key (string) - * - */ - @Import(name="accessKey", required=true) - private Output accessKey; - - /** - * @return The AWS Access key (string) - * - */ - public Output accessKey() { - return this.accessKey; - } - - /** - * The AWS Secret key (string) - * - */ - @Import(name="secretKey", required=true) - private Output secretKey; - - /** - * @return The AWS Secret key (string) - * - */ - public Output secretKey() { - return this.secretKey; - } - - private GlobalDnsProviderAlidnsConfigArgs() {} - - private GlobalDnsProviderAlidnsConfigArgs(GlobalDnsProviderAlidnsConfigArgs $) { - this.accessKey = $.accessKey; - this.secretKey = $.secretKey; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GlobalDnsProviderAlidnsConfigArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GlobalDnsProviderAlidnsConfigArgs $; - - public Builder() { - $ = new GlobalDnsProviderAlidnsConfigArgs(); - } - - public Builder(GlobalDnsProviderAlidnsConfigArgs defaults) { - $ = new GlobalDnsProviderAlidnsConfigArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param accessKey The AWS Access key (string) - * - * @return builder - * - */ - public Builder accessKey(Output accessKey) { - $.accessKey = accessKey; - return this; - } - - /** - * @param accessKey The AWS Access key (string) - * - * @return builder - * - */ - public Builder accessKey(String accessKey) { - return accessKey(Output.of(accessKey)); - } - - /** - * @param secretKey The AWS Secret key (string) - * - * @return builder - * - */ - public Builder secretKey(Output secretKey) { - $.secretKey = secretKey; - return this; - } - - /** - * @param secretKey The AWS Secret key (string) - * - * @return builder - * - */ - public Builder secretKey(String secretKey) { - return secretKey(Output.of(secretKey)); - } - - public GlobalDnsProviderAlidnsConfigArgs build() { - if ($.accessKey == null) { - throw new MissingRequiredPropertyException("GlobalDnsProviderAlidnsConfigArgs", "accessKey"); - } - if ($.secretKey == null) { - throw new MissingRequiredPropertyException("GlobalDnsProviderAlidnsConfigArgs", "secretKey"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalDnsProviderCloudflareConfigArgs.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalDnsProviderCloudflareConfigArgs.java deleted file mode 100644 index 3c7611f8a..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalDnsProviderCloudflareConfigArgs.java +++ /dev/null @@ -1,165 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2.inputs; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Boolean; -import java.lang.String; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - - -public final class GlobalDnsProviderCloudflareConfigArgs extends com.pulumi.resources.ResourceArgs { - - public static final GlobalDnsProviderCloudflareConfigArgs Empty = new GlobalDnsProviderCloudflareConfigArgs(); - - /** - * The CloudFlare API Email (string) - * - */ - @Import(name="apiEmail", required=true) - private Output apiEmail; - - /** - * @return The CloudFlare API Email (string) - * - */ - public Output apiEmail() { - return this.apiEmail; - } - - /** - * The CloudFlare API Key (string) - * - */ - @Import(name="apiKey", required=true) - private Output apiKey; - - /** - * @return The CloudFlare API Key (string) - * - */ - public Output apiKey() { - return this.apiKey; - } - - /** - * CloudFlare Proxy Setting. Default: `false` (bool) - * - */ - @Import(name="proxySetting") - private @Nullable Output proxySetting; - - /** - * @return CloudFlare Proxy Setting. Default: `false` (bool) - * - */ - public Optional> proxySetting() { - return Optional.ofNullable(this.proxySetting); - } - - private GlobalDnsProviderCloudflareConfigArgs() {} - - private GlobalDnsProviderCloudflareConfigArgs(GlobalDnsProviderCloudflareConfigArgs $) { - this.apiEmail = $.apiEmail; - this.apiKey = $.apiKey; - this.proxySetting = $.proxySetting; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GlobalDnsProviderCloudflareConfigArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GlobalDnsProviderCloudflareConfigArgs $; - - public Builder() { - $ = new GlobalDnsProviderCloudflareConfigArgs(); - } - - public Builder(GlobalDnsProviderCloudflareConfigArgs defaults) { - $ = new GlobalDnsProviderCloudflareConfigArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param apiEmail The CloudFlare API Email (string) - * - * @return builder - * - */ - public Builder apiEmail(Output apiEmail) { - $.apiEmail = apiEmail; - return this; - } - - /** - * @param apiEmail The CloudFlare API Email (string) - * - * @return builder - * - */ - public Builder apiEmail(String apiEmail) { - return apiEmail(Output.of(apiEmail)); - } - - /** - * @param apiKey The CloudFlare API Key (string) - * - * @return builder - * - */ - public Builder apiKey(Output apiKey) { - $.apiKey = apiKey; - return this; - } - - /** - * @param apiKey The CloudFlare API Key (string) - * - * @return builder - * - */ - public Builder apiKey(String apiKey) { - return apiKey(Output.of(apiKey)); - } - - /** - * @param proxySetting CloudFlare Proxy Setting. Default: `false` (bool) - * - * @return builder - * - */ - public Builder proxySetting(@Nullable Output proxySetting) { - $.proxySetting = proxySetting; - return this; - } - - /** - * @param proxySetting CloudFlare Proxy Setting. Default: `false` (bool) - * - * @return builder - * - */ - public Builder proxySetting(Boolean proxySetting) { - return proxySetting(Output.of(proxySetting)); - } - - public GlobalDnsProviderCloudflareConfigArgs build() { - if ($.apiEmail == null) { - throw new MissingRequiredPropertyException("GlobalDnsProviderCloudflareConfigArgs", "apiEmail"); - } - if ($.apiKey == null) { - throw new MissingRequiredPropertyException("GlobalDnsProviderCloudflareConfigArgs", "apiKey"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalDnsProviderRoute53ConfigArgs.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalDnsProviderRoute53ConfigArgs.java deleted file mode 100644 index a6f333538..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalDnsProviderRoute53ConfigArgs.java +++ /dev/null @@ -1,275 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2.inputs; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.String; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - - -public final class GlobalDnsProviderRoute53ConfigArgs extends com.pulumi.resources.ResourceArgs { - - public static final GlobalDnsProviderRoute53ConfigArgs Empty = new GlobalDnsProviderRoute53ConfigArgs(); - - /** - * The AWS Access key (string) - * - */ - @Import(name="accessKey", required=true) - private Output accessKey; - - /** - * @return The AWS Access key (string) - * - */ - public Output accessKey() { - return this.accessKey; - } - - /** - * The AWS credentials path. Default: `"/.aws"` (string) - * - */ - @Import(name="credentialsPath") - private @Nullable Output credentialsPath; - - /** - * @return The AWS credentials path. Default: `"/.aws"` (string) - * - */ - public Optional> credentialsPath() { - return Optional.ofNullable(this.credentialsPath); - } - - /** - * The AWS Region. Default: `"us-west-2"` (string) - * - */ - @Import(name="region") - private @Nullable Output region; - - /** - * @return The AWS Region. Default: `"us-west-2"` (string) - * - */ - public Optional> region() { - return Optional.ofNullable(this.region); - } - - /** - * The AWS Role ARN (string) - * - */ - @Import(name="roleArn") - private @Nullable Output roleArn; - - /** - * @return The AWS Role ARN (string) - * - */ - public Optional> roleArn() { - return Optional.ofNullable(this.roleArn); - } - - /** - * The AWS Secret key (string) - * - */ - @Import(name="secretKey", required=true) - private Output secretKey; - - /** - * @return The AWS Secret key (string) - * - */ - public Output secretKey() { - return this.secretKey; - } - - /** - * The Route53 zone type `public, private`. Default: `"public"` (string) - * - */ - @Import(name="zoneType") - private @Nullable Output zoneType; - - /** - * @return The Route53 zone type `public, private`. Default: `"public"` (string) - * - */ - public Optional> zoneType() { - return Optional.ofNullable(this.zoneType); - } - - private GlobalDnsProviderRoute53ConfigArgs() {} - - private GlobalDnsProviderRoute53ConfigArgs(GlobalDnsProviderRoute53ConfigArgs $) { - this.accessKey = $.accessKey; - this.credentialsPath = $.credentialsPath; - this.region = $.region; - this.roleArn = $.roleArn; - this.secretKey = $.secretKey; - this.zoneType = $.zoneType; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GlobalDnsProviderRoute53ConfigArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GlobalDnsProviderRoute53ConfigArgs $; - - public Builder() { - $ = new GlobalDnsProviderRoute53ConfigArgs(); - } - - public Builder(GlobalDnsProviderRoute53ConfigArgs defaults) { - $ = new GlobalDnsProviderRoute53ConfigArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param accessKey The AWS Access key (string) - * - * @return builder - * - */ - public Builder accessKey(Output accessKey) { - $.accessKey = accessKey; - return this; - } - - /** - * @param accessKey The AWS Access key (string) - * - * @return builder - * - */ - public Builder accessKey(String accessKey) { - return accessKey(Output.of(accessKey)); - } - - /** - * @param credentialsPath The AWS credentials path. Default: `"/.aws"` (string) - * - * @return builder - * - */ - public Builder credentialsPath(@Nullable Output credentialsPath) { - $.credentialsPath = credentialsPath; - return this; - } - - /** - * @param credentialsPath The AWS credentials path. Default: `"/.aws"` (string) - * - * @return builder - * - */ - public Builder credentialsPath(String credentialsPath) { - return credentialsPath(Output.of(credentialsPath)); - } - - /** - * @param region The AWS Region. Default: `"us-west-2"` (string) - * - * @return builder - * - */ - public Builder region(@Nullable Output region) { - $.region = region; - return this; - } - - /** - * @param region The AWS Region. Default: `"us-west-2"` (string) - * - * @return builder - * - */ - public Builder region(String region) { - return region(Output.of(region)); - } - - /** - * @param roleArn The AWS Role ARN (string) - * - * @return builder - * - */ - public Builder roleArn(@Nullable Output roleArn) { - $.roleArn = roleArn; - return this; - } - - /** - * @param roleArn The AWS Role ARN (string) - * - * @return builder - * - */ - public Builder roleArn(String roleArn) { - return roleArn(Output.of(roleArn)); - } - - /** - * @param secretKey The AWS Secret key (string) - * - * @return builder - * - */ - public Builder secretKey(Output secretKey) { - $.secretKey = secretKey; - return this; - } - - /** - * @param secretKey The AWS Secret key (string) - * - * @return builder - * - */ - public Builder secretKey(String secretKey) { - return secretKey(Output.of(secretKey)); - } - - /** - * @param zoneType The Route53 zone type `public, private`. Default: `"public"` (string) - * - * @return builder - * - */ - public Builder zoneType(@Nullable Output zoneType) { - $.zoneType = zoneType; - return this; - } - - /** - * @param zoneType The Route53 zone type `public, private`. Default: `"public"` (string) - * - * @return builder - * - */ - public Builder zoneType(String zoneType) { - return zoneType(Output.of(zoneType)); - } - - public GlobalDnsProviderRoute53ConfigArgs build() { - if ($.accessKey == null) { - throw new MissingRequiredPropertyException("GlobalDnsProviderRoute53ConfigArgs", "accessKey"); - } - if ($.secretKey == null) { - throw new MissingRequiredPropertyException("GlobalDnsProviderRoute53ConfigArgs", "secretKey"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalDnsProviderState.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalDnsProviderState.java deleted file mode 100644 index 048bb293f..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalDnsProviderState.java +++ /dev/null @@ -1,286 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2.inputs; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import com.pulumi.rancher2.inputs.GlobalDnsProviderAlidnsConfigArgs; -import com.pulumi.rancher2.inputs.GlobalDnsProviderCloudflareConfigArgs; -import com.pulumi.rancher2.inputs.GlobalDnsProviderRoute53ConfigArgs; -import java.lang.String; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - - -public final class GlobalDnsProviderState extends com.pulumi.resources.ResourceArgs { - - public static final GlobalDnsProviderState Empty = new GlobalDnsProviderState(); - - @Import(name="alidnsConfig") - private @Nullable Output alidnsConfig; - - public Optional> alidnsConfig() { - return Optional.ofNullable(this.alidnsConfig); - } - - /** - * Annotations for Global DNS Provider (map) - * - */ - @Import(name="annotations") - private @Nullable Output> annotations; - - /** - * @return Annotations for Global DNS Provider (map) - * - */ - public Optional>> annotations() { - return Optional.ofNullable(this.annotations); - } - - @Import(name="cloudflareConfig") - private @Nullable Output cloudflareConfig; - - public Optional> cloudflareConfig() { - return Optional.ofNullable(this.cloudflareConfig); - } - - /** - * (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - * - */ - @Import(name="dnsProvider") - private @Nullable Output dnsProvider; - - /** - * @return (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - * - */ - public Optional> dnsProvider() { - return Optional.ofNullable(this.dnsProvider); - } - - /** - * Labels for Global DNS Provider (map) - * - */ - @Import(name="labels") - private @Nullable Output> labels; - - /** - * @return Labels for Global DNS Provider (map) - * - */ - public Optional>> labels() { - return Optional.ofNullable(this.labels); - } - - /** - * The name of the Global DNS Provider (string) - * - */ - @Import(name="name") - private @Nullable Output name; - - /** - * @return The name of the Global DNS Provider (string) - * - */ - public Optional> name() { - return Optional.ofNullable(this.name); - } - - /** - * The user ID to assign Global DNS Provider (string) - * - */ - @Import(name="rootDomain") - private @Nullable Output rootDomain; - - /** - * @return The user ID to assign Global DNS Provider (string) - * - */ - public Optional> rootDomain() { - return Optional.ofNullable(this.rootDomain); - } - - @Import(name="route53Config") - private @Nullable Output route53Config; - - public Optional> route53Config() { - return Optional.ofNullable(this.route53Config); - } - - private GlobalDnsProviderState() {} - - private GlobalDnsProviderState(GlobalDnsProviderState $) { - this.alidnsConfig = $.alidnsConfig; - this.annotations = $.annotations; - this.cloudflareConfig = $.cloudflareConfig; - this.dnsProvider = $.dnsProvider; - this.labels = $.labels; - this.name = $.name; - this.rootDomain = $.rootDomain; - this.route53Config = $.route53Config; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GlobalDnsProviderState defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GlobalDnsProviderState $; - - public Builder() { - $ = new GlobalDnsProviderState(); - } - - public Builder(GlobalDnsProviderState defaults) { - $ = new GlobalDnsProviderState(Objects.requireNonNull(defaults)); - } - - public Builder alidnsConfig(@Nullable Output alidnsConfig) { - $.alidnsConfig = alidnsConfig; - return this; - } - - public Builder alidnsConfig(GlobalDnsProviderAlidnsConfigArgs alidnsConfig) { - return alidnsConfig(Output.of(alidnsConfig)); - } - - /** - * @param annotations Annotations for Global DNS Provider (map) - * - * @return builder - * - */ - public Builder annotations(@Nullable Output> annotations) { - $.annotations = annotations; - return this; - } - - /** - * @param annotations Annotations for Global DNS Provider (map) - * - * @return builder - * - */ - public Builder annotations(Map annotations) { - return annotations(Output.of(annotations)); - } - - public Builder cloudflareConfig(@Nullable Output cloudflareConfig) { - $.cloudflareConfig = cloudflareConfig; - return this; - } - - public Builder cloudflareConfig(GlobalDnsProviderCloudflareConfigArgs cloudflareConfig) { - return cloudflareConfig(Output.of(cloudflareConfig)); - } - - /** - * @param dnsProvider (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - * - * @return builder - * - */ - public Builder dnsProvider(@Nullable Output dnsProvider) { - $.dnsProvider = dnsProvider; - return this; - } - - /** - * @param dnsProvider (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - * - * @return builder - * - */ - public Builder dnsProvider(String dnsProvider) { - return dnsProvider(Output.of(dnsProvider)); - } - - /** - * @param labels Labels for Global DNS Provider (map) - * - * @return builder - * - */ - public Builder labels(@Nullable Output> labels) { - $.labels = labels; - return this; - } - - /** - * @param labels Labels for Global DNS Provider (map) - * - * @return builder - * - */ - public Builder labels(Map labels) { - return labels(Output.of(labels)); - } - - /** - * @param name The name of the Global DNS Provider (string) - * - * @return builder - * - */ - public Builder name(@Nullable Output name) { - $.name = name; - return this; - } - - /** - * @param name The name of the Global DNS Provider (string) - * - * @return builder - * - */ - public Builder name(String name) { - return name(Output.of(name)); - } - - /** - * @param rootDomain The user ID to assign Global DNS Provider (string) - * - * @return builder - * - */ - public Builder rootDomain(@Nullable Output rootDomain) { - $.rootDomain = rootDomain; - return this; - } - - /** - * @param rootDomain The user ID to assign Global DNS Provider (string) - * - * @return builder - * - */ - public Builder rootDomain(String rootDomain) { - return rootDomain(Output.of(rootDomain)); - } - - public Builder route53Config(@Nullable Output route53Config) { - $.route53Config = route53Config; - return this; - } - - public Builder route53Config(GlobalDnsProviderRoute53ConfigArgs route53Config) { - return route53Config(Output.of(route53Config)); - } - - public GlobalDnsProviderState build() { - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalDnsState.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalDnsState.java deleted file mode 100644 index c61961333..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalDnsState.java +++ /dev/null @@ -1,355 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2.inputs; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import java.lang.Integer; -import java.lang.String; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - - -public final class GlobalDnsState extends com.pulumi.resources.ResourceArgs { - - public static final GlobalDnsState Empty = new GlobalDnsState(); - - /** - * Annotations for Global DNS (map) - * - */ - @Import(name="annotations") - private @Nullable Output> annotations; - - /** - * @return Annotations for Global DNS (map) - * - */ - public Optional>> annotations() { - return Optional.ofNullable(this.annotations); - } - - /** - * The Global DNS record (string) - * - */ - @Import(name="fqdn") - private @Nullable Output fqdn; - - /** - * @return The Global DNS record (string) - * - */ - public Optional> fqdn() { - return Optional.ofNullable(this.fqdn); - } - - /** - * Labels for Global DNS (map) - * - */ - @Import(name="labels") - private @Nullable Output> labels; - - /** - * @return Labels for Global DNS (map) - * - */ - public Optional>> labels() { - return Optional.ofNullable(this.labels); - } - - /** - * The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - * - */ - @Import(name="multiClusterAppId") - private @Nullable Output multiClusterAppId; - - /** - * @return The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - * - */ - public Optional> multiClusterAppId() { - return Optional.ofNullable(this.multiClusterAppId); - } - - /** - * The name of the Global DNS (string) - * - */ - @Import(name="name") - private @Nullable Output name; - - /** - * @return The name of the Global DNS (string) - * - */ - public Optional> name() { - return Optional.ofNullable(this.name); - } - - /** - * A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - * - */ - @Import(name="projectIds") - private @Nullable Output> projectIds; - - /** - * @return A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - * - */ - public Optional>> projectIds() { - return Optional.ofNullable(this.projectIds); - } - - /** - * The Global DNS provider ID to use (string) - * - */ - @Import(name="providerId") - private @Nullable Output providerId; - - /** - * @return The Global DNS provider ID to use (string) - * - */ - public Optional> providerId() { - return Optional.ofNullable(this.providerId); - } - - /** - * TTL in seconds for DNS record. Default: `300` (int) - * - */ - @Import(name="ttl") - private @Nullable Output ttl; - - /** - * @return TTL in seconds for DNS record. Default: `300` (int) - * - */ - public Optional> ttl() { - return Optional.ofNullable(this.ttl); - } - - private GlobalDnsState() {} - - private GlobalDnsState(GlobalDnsState $) { - this.annotations = $.annotations; - this.fqdn = $.fqdn; - this.labels = $.labels; - this.multiClusterAppId = $.multiClusterAppId; - this.name = $.name; - this.projectIds = $.projectIds; - this.providerId = $.providerId; - this.ttl = $.ttl; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GlobalDnsState defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GlobalDnsState $; - - public Builder() { - $ = new GlobalDnsState(); - } - - public Builder(GlobalDnsState defaults) { - $ = new GlobalDnsState(Objects.requireNonNull(defaults)); - } - - /** - * @param annotations Annotations for Global DNS (map) - * - * @return builder - * - */ - public Builder annotations(@Nullable Output> annotations) { - $.annotations = annotations; - return this; - } - - /** - * @param annotations Annotations for Global DNS (map) - * - * @return builder - * - */ - public Builder annotations(Map annotations) { - return annotations(Output.of(annotations)); - } - - /** - * @param fqdn The Global DNS record (string) - * - * @return builder - * - */ - public Builder fqdn(@Nullable Output fqdn) { - $.fqdn = fqdn; - return this; - } - - /** - * @param fqdn The Global DNS record (string) - * - * @return builder - * - */ - public Builder fqdn(String fqdn) { - return fqdn(Output.of(fqdn)); - } - - /** - * @param labels Labels for Global DNS (map) - * - * @return builder - * - */ - public Builder labels(@Nullable Output> labels) { - $.labels = labels; - return this; - } - - /** - * @param labels Labels for Global DNS (map) - * - * @return builder - * - */ - public Builder labels(Map labels) { - return labels(Output.of(labels)); - } - - /** - * @param multiClusterAppId The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - * - * @return builder - * - */ - public Builder multiClusterAppId(@Nullable Output multiClusterAppId) { - $.multiClusterAppId = multiClusterAppId; - return this; - } - - /** - * @param multiClusterAppId The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - * - * @return builder - * - */ - public Builder multiClusterAppId(String multiClusterAppId) { - return multiClusterAppId(Output.of(multiClusterAppId)); - } - - /** - * @param name The name of the Global DNS (string) - * - * @return builder - * - */ - public Builder name(@Nullable Output name) { - $.name = name; - return this; - } - - /** - * @param name The name of the Global DNS (string) - * - * @return builder - * - */ - public Builder name(String name) { - return name(Output.of(name)); - } - - /** - * @param projectIds A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - * - * @return builder - * - */ - public Builder projectIds(@Nullable Output> projectIds) { - $.projectIds = projectIds; - return this; - } - - /** - * @param projectIds A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - * - * @return builder - * - */ - public Builder projectIds(List projectIds) { - return projectIds(Output.of(projectIds)); - } - - /** - * @param projectIds A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - * - * @return builder - * - */ - public Builder projectIds(String... projectIds) { - return projectIds(List.of(projectIds)); - } - - /** - * @param providerId The Global DNS provider ID to use (string) - * - * @return builder - * - */ - public Builder providerId(@Nullable Output providerId) { - $.providerId = providerId; - return this; - } - - /** - * @param providerId The Global DNS provider ID to use (string) - * - * @return builder - * - */ - public Builder providerId(String providerId) { - return providerId(Output.of(providerId)); - } - - /** - * @param ttl TTL in seconds for DNS record. Default: `300` (int) - * - * @return builder - * - */ - public Builder ttl(@Nullable Output ttl) { - $.ttl = ttl; - return this; - } - - /** - * @param ttl TTL in seconds for DNS record. Default: `300` (int) - * - * @return builder - * - */ - public Builder ttl(Integer ttl) { - return ttl(Output.of(ttl)); - } - - public GlobalDnsState build() { - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/UserState.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/UserState.java index 15077faa6..f8128b5b7 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/UserState.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/UserState.java @@ -55,6 +55,21 @@ public Optional>> labels() { return Optional.ofNullable(this.labels); } + /** + * The user must change password at first login (bool) + * + */ + @Import(name="mustChangePassword") + private @Nullable Output mustChangePassword; + + /** + * @return The user must change password at first login (bool) + * + */ + public Optional> mustChangePassword() { + return Optional.ofNullable(this.mustChangePassword); + } + /** * The user full name (string) * @@ -121,6 +136,7 @@ private UserState(UserState $) { this.annotations = $.annotations; this.enabled = $.enabled; this.labels = $.labels; + this.mustChangePassword = $.mustChangePassword; this.name = $.name; this.password = $.password; this.principalIds = $.principalIds; @@ -196,6 +212,27 @@ public Builder labels(Map labels) { return labels(Output.of(labels)); } + /** + * @param mustChangePassword The user must change password at first login (bool) + * + * @return builder + * + */ + public Builder mustChangePassword(@Nullable Output mustChangePassword) { + $.mustChangePassword = mustChangePassword; + return this; + } + + /** + * @param mustChangePassword The user must change password at first login (bool) + * + * @return builder + * + */ + public Builder mustChangePassword(Boolean mustChangePassword) { + return mustChangePassword(Output.of(mustChangePassword)); + } + /** * @param name The user full name (string) * diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/ClusterAksConfigV2.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/ClusterAksConfigV2.java index 56beb4949..8d6bd72ef 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/ClusterAksConfigV2.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/ClusterAksConfigV2.java @@ -131,6 +131,11 @@ public final class ClusterAksConfigV2 { * */ private @Nullable String nodeResourceGroup; + /** + * @return The AKS outbound type for the egress traffic + * + */ + private @Nullable String outboundType; /** * @return Is AKS cluster private? * @@ -329,6 +334,13 @@ public List nodePools() { public Optional nodeResourceGroup() { return Optional.ofNullable(this.nodeResourceGroup); } + /** + * @return The AKS outbound type for the egress traffic + * + */ + public Optional outboundType() { + return Optional.ofNullable(this.outboundType); + } /** * @return Is AKS cluster private? * @@ -411,6 +423,7 @@ public static final class Builder { private @Nullable String networkServiceCidr; private @Nullable List nodePools; private @Nullable String nodeResourceGroup; + private @Nullable String outboundType; private @Nullable Boolean privateCluster; private String resourceGroup; private String resourceLocation; @@ -444,6 +457,7 @@ public Builder(ClusterAksConfigV2 defaults) { this.networkServiceCidr = defaults.networkServiceCidr; this.nodePools = defaults.nodePools; this.nodeResourceGroup = defaults.nodeResourceGroup; + this.outboundType = defaults.outboundType; this.privateCluster = defaults.privateCluster; this.resourceGroup = defaults.resourceGroup; this.resourceLocation = defaults.resourceLocation; @@ -600,6 +614,12 @@ public Builder nodeResourceGroup(@Nullable String nodeResourceGroup) { return this; } @CustomType.Setter + public Builder outboundType(@Nullable String outboundType) { + + this.outboundType = outboundType; + return this; + } + @CustomType.Setter public Builder privateCluster(@Nullable Boolean privateCluster) { this.privateCluster = privateCluster; @@ -670,6 +690,7 @@ public ClusterAksConfigV2 build() { _resultValue.networkServiceCidr = networkServiceCidr; _resultValue.nodePools = nodePools; _resultValue.nodeResourceGroup = nodeResourceGroup; + _resultValue.outboundType = outboundType; _resultValue.privateCluster = privateCluster; _resultValue.resourceGroup = resourceGroup; _resultValue.resourceLocation = resourceLocation; diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetClusterAksConfigV2.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetClusterAksConfigV2.java index 1bda98c0c..3c469be16 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetClusterAksConfigV2.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetClusterAksConfigV2.java @@ -131,6 +131,11 @@ public final class GetClusterAksConfigV2 { * */ private String nodeResourceGroup; + /** + * @return The AKS outbound type for the egress traffic + * + */ + private @Nullable String outboundType; /** * @return Is AKS cluster private? * @@ -329,6 +334,13 @@ public List nodePools() { public String nodeResourceGroup() { return this.nodeResourceGroup; } + /** + * @return The AKS outbound type for the egress traffic + * + */ + public Optional outboundType() { + return Optional.ofNullable(this.outboundType); + } /** * @return Is AKS cluster private? * @@ -411,6 +423,7 @@ public static final class Builder { private String networkServiceCidr; private @Nullable List nodePools; private String nodeResourceGroup; + private @Nullable String outboundType; private Boolean privateCluster; private String resourceGroup; private String resourceLocation; @@ -444,6 +457,7 @@ public Builder(GetClusterAksConfigV2 defaults) { this.networkServiceCidr = defaults.networkServiceCidr; this.nodePools = defaults.nodePools; this.nodeResourceGroup = defaults.nodeResourceGroup; + this.outboundType = defaults.outboundType; this.privateCluster = defaults.privateCluster; this.resourceGroup = defaults.resourceGroup; this.resourceLocation = defaults.resourceLocation; @@ -628,6 +642,12 @@ public Builder nodeResourceGroup(String nodeResourceGroup) { return this; } @CustomType.Setter + public Builder outboundType(@Nullable String outboundType) { + + this.outboundType = outboundType; + return this; + } + @CustomType.Setter public Builder privateCluster(Boolean privateCluster) { if (privateCluster == null) { throw new MissingRequiredPropertyException("GetClusterAksConfigV2", "privateCluster"); @@ -708,6 +728,7 @@ public GetClusterAksConfigV2 build() { _resultValue.networkServiceCidr = networkServiceCidr; _resultValue.nodePools = nodePools; _resultValue.nodeResourceGroup = nodeResourceGroup; + _resultValue.outboundType = outboundType; _resultValue.privateCluster = privateCluster; _resultValue.resourceGroup = resourceGroup; _resultValue.resourceLocation = resourceLocation; diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetGlobalDnsProviderAlidnsConfig.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetGlobalDnsProviderAlidnsConfig.java deleted file mode 100644 index 4e57fe998..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetGlobalDnsProviderAlidnsConfig.java +++ /dev/null @@ -1,65 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2.outputs; - -import com.pulumi.core.annotations.CustomType; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.String; -import java.util.Objects; - -@CustomType -public final class GetGlobalDnsProviderAlidnsConfig { - private String accessKey; - private String secretKey; - - private GetGlobalDnsProviderAlidnsConfig() {} - public String accessKey() { - return this.accessKey; - } - public String secretKey() { - return this.secretKey; - } - - public static Builder builder() { - return new Builder(); - } - - public static Builder builder(GetGlobalDnsProviderAlidnsConfig defaults) { - return new Builder(defaults); - } - @CustomType.Builder - public static final class Builder { - private String accessKey; - private String secretKey; - public Builder() {} - public Builder(GetGlobalDnsProviderAlidnsConfig defaults) { - Objects.requireNonNull(defaults); - this.accessKey = defaults.accessKey; - this.secretKey = defaults.secretKey; - } - - @CustomType.Setter - public Builder accessKey(String accessKey) { - if (accessKey == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderAlidnsConfig", "accessKey"); - } - this.accessKey = accessKey; - return this; - } - @CustomType.Setter - public Builder secretKey(String secretKey) { - if (secretKey == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderAlidnsConfig", "secretKey"); - } - this.secretKey = secretKey; - return this; - } - public GetGlobalDnsProviderAlidnsConfig build() { - final var _resultValue = new GetGlobalDnsProviderAlidnsConfig(); - _resultValue.accessKey = accessKey; - _resultValue.secretKey = secretKey; - return _resultValue; - } - } -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetGlobalDnsProviderCloudflareConfig.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetGlobalDnsProviderCloudflareConfig.java deleted file mode 100644 index 23bacd375..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetGlobalDnsProviderCloudflareConfig.java +++ /dev/null @@ -1,81 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2.outputs; - -import com.pulumi.core.annotations.CustomType; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Boolean; -import java.lang.String; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - -@CustomType -public final class GetGlobalDnsProviderCloudflareConfig { - private String apiEmail; - private String apiKey; - private @Nullable Boolean proxySetting; - - private GetGlobalDnsProviderCloudflareConfig() {} - public String apiEmail() { - return this.apiEmail; - } - public String apiKey() { - return this.apiKey; - } - public Optional proxySetting() { - return Optional.ofNullable(this.proxySetting); - } - - public static Builder builder() { - return new Builder(); - } - - public static Builder builder(GetGlobalDnsProviderCloudflareConfig defaults) { - return new Builder(defaults); - } - @CustomType.Builder - public static final class Builder { - private String apiEmail; - private String apiKey; - private @Nullable Boolean proxySetting; - public Builder() {} - public Builder(GetGlobalDnsProviderCloudflareConfig defaults) { - Objects.requireNonNull(defaults); - this.apiEmail = defaults.apiEmail; - this.apiKey = defaults.apiKey; - this.proxySetting = defaults.proxySetting; - } - - @CustomType.Setter - public Builder apiEmail(String apiEmail) { - if (apiEmail == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderCloudflareConfig", "apiEmail"); - } - this.apiEmail = apiEmail; - return this; - } - @CustomType.Setter - public Builder apiKey(String apiKey) { - if (apiKey == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderCloudflareConfig", "apiKey"); - } - this.apiKey = apiKey; - return this; - } - @CustomType.Setter - public Builder proxySetting(@Nullable Boolean proxySetting) { - - this.proxySetting = proxySetting; - return this; - } - public GetGlobalDnsProviderCloudflareConfig build() { - final var _resultValue = new GetGlobalDnsProviderCloudflareConfig(); - _resultValue.apiEmail = apiEmail; - _resultValue.apiKey = apiKey; - _resultValue.proxySetting = proxySetting; - return _resultValue; - } - } -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetGlobalDnsProviderResult.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetGlobalDnsProviderResult.java deleted file mode 100644 index fbb17235c..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetGlobalDnsProviderResult.java +++ /dev/null @@ -1,206 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2.outputs; - -import com.pulumi.core.annotations.CustomType; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import com.pulumi.rancher2.outputs.GetGlobalDnsProviderAlidnsConfig; -import com.pulumi.rancher2.outputs.GetGlobalDnsProviderCloudflareConfig; -import com.pulumi.rancher2.outputs.GetGlobalDnsProviderRoute53Config; -import java.lang.String; -import java.util.Map; -import java.util.Objects; - -@CustomType -public final class GetGlobalDnsProviderResult { - private GetGlobalDnsProviderAlidnsConfig alidnsConfig; - /** - * @return (Computed) Annotations of the resource (map) - * - */ - private Map annotations; - private GetGlobalDnsProviderCloudflareConfig cloudflareConfig; - private String dnsProvider; - /** - * @return The provider-assigned unique ID for this managed resource. - * - */ - private String id; - /** - * @return (Computed) Labels of the resource (map) - * - */ - private Map labels; - /** - * @return (Computed) The name of the global DNS provider (string) - * - */ - private String name; - private String rootDomain; - private GetGlobalDnsProviderRoute53Config route53Config; - - private GetGlobalDnsProviderResult() {} - public GetGlobalDnsProviderAlidnsConfig alidnsConfig() { - return this.alidnsConfig; - } - /** - * @return (Computed) Annotations of the resource (map) - * - */ - public Map annotations() { - return this.annotations; - } - public GetGlobalDnsProviderCloudflareConfig cloudflareConfig() { - return this.cloudflareConfig; - } - public String dnsProvider() { - return this.dnsProvider; - } - /** - * @return The provider-assigned unique ID for this managed resource. - * - */ - public String id() { - return this.id; - } - /** - * @return (Computed) Labels of the resource (map) - * - */ - public Map labels() { - return this.labels; - } - /** - * @return (Computed) The name of the global DNS provider (string) - * - */ - public String name() { - return this.name; - } - public String rootDomain() { - return this.rootDomain; - } - public GetGlobalDnsProviderRoute53Config route53Config() { - return this.route53Config; - } - - public static Builder builder() { - return new Builder(); - } - - public static Builder builder(GetGlobalDnsProviderResult defaults) { - return new Builder(defaults); - } - @CustomType.Builder - public static final class Builder { - private GetGlobalDnsProviderAlidnsConfig alidnsConfig; - private Map annotations; - private GetGlobalDnsProviderCloudflareConfig cloudflareConfig; - private String dnsProvider; - private String id; - private Map labels; - private String name; - private String rootDomain; - private GetGlobalDnsProviderRoute53Config route53Config; - public Builder() {} - public Builder(GetGlobalDnsProviderResult defaults) { - Objects.requireNonNull(defaults); - this.alidnsConfig = defaults.alidnsConfig; - this.annotations = defaults.annotations; - this.cloudflareConfig = defaults.cloudflareConfig; - this.dnsProvider = defaults.dnsProvider; - this.id = defaults.id; - this.labels = defaults.labels; - this.name = defaults.name; - this.rootDomain = defaults.rootDomain; - this.route53Config = defaults.route53Config; - } - - @CustomType.Setter - public Builder alidnsConfig(GetGlobalDnsProviderAlidnsConfig alidnsConfig) { - if (alidnsConfig == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderResult", "alidnsConfig"); - } - this.alidnsConfig = alidnsConfig; - return this; - } - @CustomType.Setter - public Builder annotations(Map annotations) { - if (annotations == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderResult", "annotations"); - } - this.annotations = annotations; - return this; - } - @CustomType.Setter - public Builder cloudflareConfig(GetGlobalDnsProviderCloudflareConfig cloudflareConfig) { - if (cloudflareConfig == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderResult", "cloudflareConfig"); - } - this.cloudflareConfig = cloudflareConfig; - return this; - } - @CustomType.Setter - public Builder dnsProvider(String dnsProvider) { - if (dnsProvider == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderResult", "dnsProvider"); - } - this.dnsProvider = dnsProvider; - return this; - } - @CustomType.Setter - public Builder id(String id) { - if (id == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderResult", "id"); - } - this.id = id; - return this; - } - @CustomType.Setter - public Builder labels(Map labels) { - if (labels == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderResult", "labels"); - } - this.labels = labels; - return this; - } - @CustomType.Setter - public Builder name(String name) { - if (name == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderResult", "name"); - } - this.name = name; - return this; - } - @CustomType.Setter - public Builder rootDomain(String rootDomain) { - if (rootDomain == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderResult", "rootDomain"); - } - this.rootDomain = rootDomain; - return this; - } - @CustomType.Setter - public Builder route53Config(GetGlobalDnsProviderRoute53Config route53Config) { - if (route53Config == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderResult", "route53Config"); - } - this.route53Config = route53Config; - return this; - } - public GetGlobalDnsProviderResult build() { - final var _resultValue = new GetGlobalDnsProviderResult(); - _resultValue.alidnsConfig = alidnsConfig; - _resultValue.annotations = annotations; - _resultValue.cloudflareConfig = cloudflareConfig; - _resultValue.dnsProvider = dnsProvider; - _resultValue.id = id; - _resultValue.labels = labels; - _resultValue.name = name; - _resultValue.rootDomain = rootDomain; - _resultValue.route53Config = route53Config; - return _resultValue; - } - } -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetGlobalDnsProviderRoute53Config.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetGlobalDnsProviderRoute53Config.java deleted file mode 100644 index 88e41be97..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetGlobalDnsProviderRoute53Config.java +++ /dev/null @@ -1,119 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2.outputs; - -import com.pulumi.core.annotations.CustomType; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.String; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - -@CustomType -public final class GetGlobalDnsProviderRoute53Config { - private String accessKey; - private @Nullable String credentialsPath; - private @Nullable String region; - private @Nullable String roleArn; - private String secretKey; - private @Nullable String zoneType; - - private GetGlobalDnsProviderRoute53Config() {} - public String accessKey() { - return this.accessKey; - } - public Optional credentialsPath() { - return Optional.ofNullable(this.credentialsPath); - } - public Optional region() { - return Optional.ofNullable(this.region); - } - public Optional roleArn() { - return Optional.ofNullable(this.roleArn); - } - public String secretKey() { - return this.secretKey; - } - public Optional zoneType() { - return Optional.ofNullable(this.zoneType); - } - - public static Builder builder() { - return new Builder(); - } - - public static Builder builder(GetGlobalDnsProviderRoute53Config defaults) { - return new Builder(defaults); - } - @CustomType.Builder - public static final class Builder { - private String accessKey; - private @Nullable String credentialsPath; - private @Nullable String region; - private @Nullable String roleArn; - private String secretKey; - private @Nullable String zoneType; - public Builder() {} - public Builder(GetGlobalDnsProviderRoute53Config defaults) { - Objects.requireNonNull(defaults); - this.accessKey = defaults.accessKey; - this.credentialsPath = defaults.credentialsPath; - this.region = defaults.region; - this.roleArn = defaults.roleArn; - this.secretKey = defaults.secretKey; - this.zoneType = defaults.zoneType; - } - - @CustomType.Setter - public Builder accessKey(String accessKey) { - if (accessKey == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderRoute53Config", "accessKey"); - } - this.accessKey = accessKey; - return this; - } - @CustomType.Setter - public Builder credentialsPath(@Nullable String credentialsPath) { - - this.credentialsPath = credentialsPath; - return this; - } - @CustomType.Setter - public Builder region(@Nullable String region) { - - this.region = region; - return this; - } - @CustomType.Setter - public Builder roleArn(@Nullable String roleArn) { - - this.roleArn = roleArn; - return this; - } - @CustomType.Setter - public Builder secretKey(String secretKey) { - if (secretKey == null) { - throw new MissingRequiredPropertyException("GetGlobalDnsProviderRoute53Config", "secretKey"); - } - this.secretKey = secretKey; - return this; - } - @CustomType.Setter - public Builder zoneType(@Nullable String zoneType) { - - this.zoneType = zoneType; - return this; - } - public GetGlobalDnsProviderRoute53Config build() { - final var _resultValue = new GetGlobalDnsProviderRoute53Config(); - _resultValue.accessKey = accessKey; - _resultValue.credentialsPath = credentialsPath; - _resultValue.region = region; - _resultValue.roleArn = roleArn; - _resultValue.secretKey = secretKey; - _resultValue.zoneType = zoneType; - return _resultValue; - } - } -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetUserResult.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetUserResult.java index 0c4db44f8..3580f9072 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetUserResult.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetUserResult.java @@ -36,6 +36,11 @@ public final class GetUserResult { * */ private Map labels; + /** + * @return (Computed) The user must change password at first login (bool) + * + */ + private Boolean mustChangePassword; /** * @return (Computed) The user common name (string) * @@ -80,6 +85,13 @@ public Optional isExternal() { public Map labels() { return this.labels; } + /** + * @return (Computed) The user must change password at first login (bool) + * + */ + public Boolean mustChangePassword() { + return this.mustChangePassword; + } /** * @return (Computed) The user common name (string) * @@ -112,6 +124,7 @@ public static final class Builder { private String id; private @Nullable Boolean isExternal; private Map labels; + private Boolean mustChangePassword; private String name; private List principalIds; private String username; @@ -123,6 +136,7 @@ public Builder(GetUserResult defaults) { this.id = defaults.id; this.isExternal = defaults.isExternal; this.labels = defaults.labels; + this.mustChangePassword = defaults.mustChangePassword; this.name = defaults.name; this.principalIds = defaults.principalIds; this.username = defaults.username; @@ -167,6 +181,14 @@ public Builder labels(Map labels) { return this; } @CustomType.Setter + public Builder mustChangePassword(Boolean mustChangePassword) { + if (mustChangePassword == null) { + throw new MissingRequiredPropertyException("GetUserResult", "mustChangePassword"); + } + this.mustChangePassword = mustChangePassword; + return this; + } + @CustomType.Setter public Builder name(String name) { if (name == null) { throw new MissingRequiredPropertyException("GetUserResult", "name"); @@ -200,6 +222,7 @@ public GetUserResult build() { _resultValue.id = id; _resultValue.isExternal = isExternal; _resultValue.labels = labels; + _resultValue.mustChangePassword = mustChangePassword; _resultValue.name = name; _resultValue.principalIds = principalIds; _resultValue.username = username; diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GlobalDnsProviderAlidnsConfig.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GlobalDnsProviderAlidnsConfig.java deleted file mode 100644 index 4251998ac..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GlobalDnsProviderAlidnsConfig.java +++ /dev/null @@ -1,81 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2.outputs; - -import com.pulumi.core.annotations.CustomType; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.String; -import java.util.Objects; - -@CustomType -public final class GlobalDnsProviderAlidnsConfig { - /** - * @return The AWS Access key (string) - * - */ - private String accessKey; - /** - * @return The AWS Secret key (string) - * - */ - private String secretKey; - - private GlobalDnsProviderAlidnsConfig() {} - /** - * @return The AWS Access key (string) - * - */ - public String accessKey() { - return this.accessKey; - } - /** - * @return The AWS Secret key (string) - * - */ - public String secretKey() { - return this.secretKey; - } - - public static Builder builder() { - return new Builder(); - } - - public static Builder builder(GlobalDnsProviderAlidnsConfig defaults) { - return new Builder(defaults); - } - @CustomType.Builder - public static final class Builder { - private String accessKey; - private String secretKey; - public Builder() {} - public Builder(GlobalDnsProviderAlidnsConfig defaults) { - Objects.requireNonNull(defaults); - this.accessKey = defaults.accessKey; - this.secretKey = defaults.secretKey; - } - - @CustomType.Setter - public Builder accessKey(String accessKey) { - if (accessKey == null) { - throw new MissingRequiredPropertyException("GlobalDnsProviderAlidnsConfig", "accessKey"); - } - this.accessKey = accessKey; - return this; - } - @CustomType.Setter - public Builder secretKey(String secretKey) { - if (secretKey == null) { - throw new MissingRequiredPropertyException("GlobalDnsProviderAlidnsConfig", "secretKey"); - } - this.secretKey = secretKey; - return this; - } - public GlobalDnsProviderAlidnsConfig build() { - final var _resultValue = new GlobalDnsProviderAlidnsConfig(); - _resultValue.accessKey = accessKey; - _resultValue.secretKey = secretKey; - return _resultValue; - } - } -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GlobalDnsProviderCloudflareConfig.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GlobalDnsProviderCloudflareConfig.java deleted file mode 100644 index cdcb0d168..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GlobalDnsProviderCloudflareConfig.java +++ /dev/null @@ -1,105 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2.outputs; - -import com.pulumi.core.annotations.CustomType; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Boolean; -import java.lang.String; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - -@CustomType -public final class GlobalDnsProviderCloudflareConfig { - /** - * @return The CloudFlare API Email (string) - * - */ - private String apiEmail; - /** - * @return The CloudFlare API Key (string) - * - */ - private String apiKey; - /** - * @return CloudFlare Proxy Setting. Default: `false` (bool) - * - */ - private @Nullable Boolean proxySetting; - - private GlobalDnsProviderCloudflareConfig() {} - /** - * @return The CloudFlare API Email (string) - * - */ - public String apiEmail() { - return this.apiEmail; - } - /** - * @return The CloudFlare API Key (string) - * - */ - public String apiKey() { - return this.apiKey; - } - /** - * @return CloudFlare Proxy Setting. Default: `false` (bool) - * - */ - public Optional proxySetting() { - return Optional.ofNullable(this.proxySetting); - } - - public static Builder builder() { - return new Builder(); - } - - public static Builder builder(GlobalDnsProviderCloudflareConfig defaults) { - return new Builder(defaults); - } - @CustomType.Builder - public static final class Builder { - private String apiEmail; - private String apiKey; - private @Nullable Boolean proxySetting; - public Builder() {} - public Builder(GlobalDnsProviderCloudflareConfig defaults) { - Objects.requireNonNull(defaults); - this.apiEmail = defaults.apiEmail; - this.apiKey = defaults.apiKey; - this.proxySetting = defaults.proxySetting; - } - - @CustomType.Setter - public Builder apiEmail(String apiEmail) { - if (apiEmail == null) { - throw new MissingRequiredPropertyException("GlobalDnsProviderCloudflareConfig", "apiEmail"); - } - this.apiEmail = apiEmail; - return this; - } - @CustomType.Setter - public Builder apiKey(String apiKey) { - if (apiKey == null) { - throw new MissingRequiredPropertyException("GlobalDnsProviderCloudflareConfig", "apiKey"); - } - this.apiKey = apiKey; - return this; - } - @CustomType.Setter - public Builder proxySetting(@Nullable Boolean proxySetting) { - - this.proxySetting = proxySetting; - return this; - } - public GlobalDnsProviderCloudflareConfig build() { - final var _resultValue = new GlobalDnsProviderCloudflareConfig(); - _resultValue.apiEmail = apiEmail; - _resultValue.apiKey = apiKey; - _resultValue.proxySetting = proxySetting; - return _resultValue; - } - } -} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GlobalDnsProviderRoute53Config.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GlobalDnsProviderRoute53Config.java deleted file mode 100644 index 0c44e77d4..000000000 --- a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GlobalDnsProviderRoute53Config.java +++ /dev/null @@ -1,167 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.rancher2.outputs; - -import com.pulumi.core.annotations.CustomType; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.String; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - -@CustomType -public final class GlobalDnsProviderRoute53Config { - /** - * @return The AWS Access key (string) - * - */ - private String accessKey; - /** - * @return The AWS credentials path. Default: `"/.aws"` (string) - * - */ - private @Nullable String credentialsPath; - /** - * @return The AWS Region. Default: `"us-west-2"` (string) - * - */ - private @Nullable String region; - /** - * @return The AWS Role ARN (string) - * - */ - private @Nullable String roleArn; - /** - * @return The AWS Secret key (string) - * - */ - private String secretKey; - /** - * @return The Route53 zone type `public, private`. Default: `"public"` (string) - * - */ - private @Nullable String zoneType; - - private GlobalDnsProviderRoute53Config() {} - /** - * @return The AWS Access key (string) - * - */ - public String accessKey() { - return this.accessKey; - } - /** - * @return The AWS credentials path. Default: `"/.aws"` (string) - * - */ - public Optional credentialsPath() { - return Optional.ofNullable(this.credentialsPath); - } - /** - * @return The AWS Region. Default: `"us-west-2"` (string) - * - */ - public Optional region() { - return Optional.ofNullable(this.region); - } - /** - * @return The AWS Role ARN (string) - * - */ - public Optional roleArn() { - return Optional.ofNullable(this.roleArn); - } - /** - * @return The AWS Secret key (string) - * - */ - public String secretKey() { - return this.secretKey; - } - /** - * @return The Route53 zone type `public, private`. Default: `"public"` (string) - * - */ - public Optional zoneType() { - return Optional.ofNullable(this.zoneType); - } - - public static Builder builder() { - return new Builder(); - } - - public static Builder builder(GlobalDnsProviderRoute53Config defaults) { - return new Builder(defaults); - } - @CustomType.Builder - public static final class Builder { - private String accessKey; - private @Nullable String credentialsPath; - private @Nullable String region; - private @Nullable String roleArn; - private String secretKey; - private @Nullable String zoneType; - public Builder() {} - public Builder(GlobalDnsProviderRoute53Config defaults) { - Objects.requireNonNull(defaults); - this.accessKey = defaults.accessKey; - this.credentialsPath = defaults.credentialsPath; - this.region = defaults.region; - this.roleArn = defaults.roleArn; - this.secretKey = defaults.secretKey; - this.zoneType = defaults.zoneType; - } - - @CustomType.Setter - public Builder accessKey(String accessKey) { - if (accessKey == null) { - throw new MissingRequiredPropertyException("GlobalDnsProviderRoute53Config", "accessKey"); - } - this.accessKey = accessKey; - return this; - } - @CustomType.Setter - public Builder credentialsPath(@Nullable String credentialsPath) { - - this.credentialsPath = credentialsPath; - return this; - } - @CustomType.Setter - public Builder region(@Nullable String region) { - - this.region = region; - return this; - } - @CustomType.Setter - public Builder roleArn(@Nullable String roleArn) { - - this.roleArn = roleArn; - return this; - } - @CustomType.Setter - public Builder secretKey(String secretKey) { - if (secretKey == null) { - throw new MissingRequiredPropertyException("GlobalDnsProviderRoute53Config", "secretKey"); - } - this.secretKey = secretKey; - return this; - } - @CustomType.Setter - public Builder zoneType(@Nullable String zoneType) { - - this.zoneType = zoneType; - return this; - } - public GlobalDnsProviderRoute53Config build() { - final var _resultValue = new GlobalDnsProviderRoute53Config(); - _resultValue.accessKey = accessKey; - _resultValue.credentialsPath = credentialsPath; - _resultValue.region = region; - _resultValue.roleArn = roleArn; - _resultValue.secretKey = secretKey; - _resultValue.zoneType = zoneType; - return _resultValue; - } - } -} diff --git a/sdk/nodejs/cluster.ts b/sdk/nodejs/cluster.ts index 82503807d..796c07123 100644 --- a/sdk/nodejs/cluster.ts +++ b/sdk/nodejs/cluster.ts @@ -484,6 +484,7 @@ import * as utilities from "./utilities"; * virtualNetworkResourceGroup: "", * subnet: "", * nodeResourceGroup: "", + * outboundType: "loadBalancer", * nodePools: [ * { * availabilityZones: [ diff --git a/sdk/nodejs/getGlobalDnsProvider.ts b/sdk/nodejs/getGlobalDnsProvider.ts deleted file mode 100644 index 92db552bb..000000000 --- a/sdk/nodejs/getGlobalDnsProvider.ts +++ /dev/null @@ -1,95 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "./types/input"; -import * as outputs from "./types/output"; -import * as utilities from "./utilities"; - -/** - * Provides a Rancher V2 Global DNS Provider data source. Use this data source to retrieve information about a Rancher v2 global DNS provider - * - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as rancher2 from "@pulumi/rancher2"; - * - * const foo = rancher2.getGlobalDnsProvider({ - * name: "foo", - * }); - * ``` - */ -export function getGlobalDnsProvider(args: GetGlobalDnsProviderArgs, opts?: pulumi.InvokeOptions): Promise { - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("rancher2:index/getGlobalDnsProvider:getGlobalDnsProvider", { - "name": args.name, - }, opts); -} - -/** - * A collection of arguments for invoking getGlobalDnsProvider. - */ -export interface GetGlobalDnsProviderArgs { - /** - * The name of the global DNS provider (string) - */ - name: string; -} - -/** - * A collection of values returned by getGlobalDnsProvider. - */ -export interface GetGlobalDnsProviderResult { - readonly alidnsConfig: outputs.GetGlobalDnsProviderAlidnsConfig; - /** - * (Computed) Annotations of the resource (map) - */ - readonly annotations: {[key: string]: string}; - readonly cloudflareConfig: outputs.GetGlobalDnsProviderCloudflareConfig; - readonly dnsProvider: string; - /** - * The provider-assigned unique ID for this managed resource. - */ - readonly id: string; - /** - * (Computed) Labels of the resource (map) - */ - readonly labels: {[key: string]: string}; - /** - * (Computed) The name of the global DNS provider (string) - */ - readonly name: string; - readonly rootDomain: string; - readonly route53Config: outputs.GetGlobalDnsProviderRoute53Config; -} -/** - * Provides a Rancher V2 Global DNS Provider data source. Use this data source to retrieve information about a Rancher v2 global DNS provider - * - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as rancher2 from "@pulumi/rancher2"; - * - * const foo = rancher2.getGlobalDnsProvider({ - * name: "foo", - * }); - * ``` - */ -export function getGlobalDnsProviderOutput(args: GetGlobalDnsProviderOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invokeOutput("rancher2:index/getGlobalDnsProvider:getGlobalDnsProvider", { - "name": args.name, - }, opts); -} - -/** - * A collection of arguments for invoking getGlobalDnsProvider. - */ -export interface GetGlobalDnsProviderOutputArgs { - /** - * The name of the global DNS provider (string) - */ - name: pulumi.Input; -} diff --git a/sdk/nodejs/getUser.ts b/sdk/nodejs/getUser.ts index 8dfd7f8bd..cbb799551 100644 --- a/sdk/nodejs/getUser.ts +++ b/sdk/nodejs/getUser.ts @@ -67,6 +67,10 @@ export interface GetUserResult { * (Computed) Labels of the resource (map) */ readonly labels: {[key: string]: string}; + /** + * (Computed) The user must change password at first login (bool) + */ + readonly mustChangePassword: boolean; /** * (Computed) The user common name (string) */ diff --git a/sdk/nodejs/globalDns.ts b/sdk/nodejs/globalDns.ts deleted file mode 100644 index f0b2e7fbe..000000000 --- a/sdk/nodejs/globalDns.ts +++ /dev/null @@ -1,249 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as utilities from "./utilities"; - -/** - * Provides a Rancher V2 Global DNS resource. This can be used to create Global DNS records for Rancher V2. - * - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as rancher2 from "@pulumi/rancher2"; - * - * // Create a new rancher2 Global DNS Provider - * const foo = new rancher2.GlobalDnsProvider("foo", { - * name: "foo", - * rootDomain: "example.com", - * route53Config: { - * accessKey: "YYYYYYYYYYYYYYYYYYYY", - * secretKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - * zoneType: "private", - * region: "us-east-1", - * }, - * }); - * // Create a new rancher2 Global DNS using project IDs - * const fooGlobalDns = new rancher2.GlobalDns("foo", { - * name: "foo", - * fqdn: "foo.example.com", - * providerId: foo.id, - * projectIds: [ - * "project1", - * "project2", - * ], - * }); - * ``` - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as rancher2 from "@pulumi/rancher2"; - * - * // Create a new rancher2 Global DNS Provider - * const foo = new rancher2.GlobalDnsProvider("foo", { - * name: "foo", - * rootDomain: "example.com", - * route53Config: { - * accessKey: "YYYYYYYYYYYYYYYYYYYY", - * secretKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - * zoneType: "private", - * region: "us-east-1", - * }, - * }); - * // Create a new rancher2 Global DNS using MultiClusterApp ID - * const fooGlobalDns = new rancher2.GlobalDns("foo", { - * name: "foo", - * fqdn: "foo.example.com", - * providerId: foo.id, - * multiClusterAppId: "", - * }); - * ``` - * - * ## Import - * - * Global DNS Entry can be imported using the Rancher Global DNS ID - * - * ```sh - * $ pulumi import rancher2:index/globalDns:GlobalDns foo - * ``` - */ -export class GlobalDns extends pulumi.CustomResource { - /** - * Get an existing GlobalDns resource's state with the given name, ID, and optional extra - * properties used to qualify the lookup. - * - * @param name The _unique_ name of the resulting resource. - * @param id The _unique_ provider ID of the resource to lookup. - * @param state Any extra arguments used during the lookup. - * @param opts Optional settings to control the behavior of the CustomResource. - */ - public static get(name: string, id: pulumi.Input, state?: GlobalDnsState, opts?: pulumi.CustomResourceOptions): GlobalDns { - return new GlobalDns(name, state, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'rancher2:index/globalDns:GlobalDns'; - - /** - * Returns true if the given object is an instance of GlobalDns. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is GlobalDns { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === GlobalDns.__pulumiType; - } - - /** - * Annotations for Global DNS (map) - */ - public readonly annotations!: pulumi.Output<{[key: string]: string}>; - /** - * The Global DNS record (string) - */ - public readonly fqdn!: pulumi.Output; - /** - * Labels for Global DNS (map) - */ - public readonly labels!: pulumi.Output<{[key: string]: string}>; - /** - * The MultiCluster App ID to assign to the Global DNS. Conflicts with `projectIds` (string) - */ - public readonly multiClusterAppId!: pulumi.Output; - /** - * The name of the Global DNS (string) - */ - public readonly name!: pulumi.Output; - /** - * A list of projectIds to assign to the Global DNS. Conflicts with `multiClusterAppId` (list(string)) - */ - public readonly projectIds!: pulumi.Output; - /** - * The Global DNS provider ID to use (string) - */ - public readonly providerId!: pulumi.Output; - /** - * TTL in seconds for DNS record. Default: `300` (int) - */ - public readonly ttl!: pulumi.Output; - - /** - * Create a GlobalDns resource with the given unique name, arguments, and options. - * - * @param name The _unique_ name of the resource. - * @param args The arguments to use to populate this resource's properties. - * @param opts A bag of options that control this resource's behavior. - */ - constructor(name: string, args: GlobalDnsArgs, opts?: pulumi.CustomResourceOptions) - constructor(name: string, argsOrState?: GlobalDnsArgs | GlobalDnsState, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (opts.id) { - const state = argsOrState as GlobalDnsState | undefined; - resourceInputs["annotations"] = state ? state.annotations : undefined; - resourceInputs["fqdn"] = state ? state.fqdn : undefined; - resourceInputs["labels"] = state ? state.labels : undefined; - resourceInputs["multiClusterAppId"] = state ? state.multiClusterAppId : undefined; - resourceInputs["name"] = state ? state.name : undefined; - resourceInputs["projectIds"] = state ? state.projectIds : undefined; - resourceInputs["providerId"] = state ? state.providerId : undefined; - resourceInputs["ttl"] = state ? state.ttl : undefined; - } else { - const args = argsOrState as GlobalDnsArgs | undefined; - if ((!args || args.fqdn === undefined) && !opts.urn) { - throw new Error("Missing required property 'fqdn'"); - } - if ((!args || args.providerId === undefined) && !opts.urn) { - throw new Error("Missing required property 'providerId'"); - } - resourceInputs["annotations"] = args ? args.annotations : undefined; - resourceInputs["fqdn"] = args ? args.fqdn : undefined; - resourceInputs["labels"] = args ? args.labels : undefined; - resourceInputs["multiClusterAppId"] = args ? args.multiClusterAppId : undefined; - resourceInputs["name"] = args ? args.name : undefined; - resourceInputs["projectIds"] = args ? args.projectIds : undefined; - resourceInputs["providerId"] = args ? args.providerId : undefined; - resourceInputs["ttl"] = args ? args.ttl : undefined; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - super(GlobalDns.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * Input properties used for looking up and filtering GlobalDns resources. - */ -export interface GlobalDnsState { - /** - * Annotations for Global DNS (map) - */ - annotations?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * The Global DNS record (string) - */ - fqdn?: pulumi.Input; - /** - * Labels for Global DNS (map) - */ - labels?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * The MultiCluster App ID to assign to the Global DNS. Conflicts with `projectIds` (string) - */ - multiClusterAppId?: pulumi.Input; - /** - * The name of the Global DNS (string) - */ - name?: pulumi.Input; - /** - * A list of projectIds to assign to the Global DNS. Conflicts with `multiClusterAppId` (list(string)) - */ - projectIds?: pulumi.Input[]>; - /** - * The Global DNS provider ID to use (string) - */ - providerId?: pulumi.Input; - /** - * TTL in seconds for DNS record. Default: `300` (int) - */ - ttl?: pulumi.Input; -} - -/** - * The set of arguments for constructing a GlobalDns resource. - */ -export interface GlobalDnsArgs { - /** - * Annotations for Global DNS (map) - */ - annotations?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * The Global DNS record (string) - */ - fqdn: pulumi.Input; - /** - * Labels for Global DNS (map) - */ - labels?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * The MultiCluster App ID to assign to the Global DNS. Conflicts with `projectIds` (string) - */ - multiClusterAppId?: pulumi.Input; - /** - * The name of the Global DNS (string) - */ - name?: pulumi.Input; - /** - * A list of projectIds to assign to the Global DNS. Conflicts with `multiClusterAppId` (list(string)) - */ - projectIds?: pulumi.Input[]>; - /** - * The Global DNS provider ID to use (string) - */ - providerId: pulumi.Input; - /** - * TTL in seconds for DNS record. Default: `300` (int) - */ - ttl?: pulumi.Input; -} diff --git a/sdk/nodejs/globalDnsProvider.ts b/sdk/nodejs/globalDnsProvider.ts deleted file mode 100644 index cef872453..000000000 --- a/sdk/nodejs/globalDnsProvider.ts +++ /dev/null @@ -1,214 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "./types/input"; -import * as outputs from "./types/output"; -import * as utilities from "./utilities"; - -/** - * Provides a Rancher V2 Global DNS Provider resource. This can be used to create Global DNS Providers for Rancher V2. Supported Global DNS Providers: `alidns, cloudflare, route53` - * - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as rancher2 from "@pulumi/rancher2"; - * - * // Create a new rancher2 Global DNS Provider - alidns - * const foo = new rancher2.GlobalDnsProvider("foo", { - * name: "foo", - * rootDomain: "example.com", - * alidnsConfig: { - * accessKey: "YYYYYYYYYYYYYYYYYYYY", - * secretKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - * }, - * }); - * ``` - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as rancher2 from "@pulumi/rancher2"; - * - * // Create a new rancher2 Global DNS Provider - cloudflare - * const foo = new rancher2.GlobalDnsProvider("foo", { - * name: "foo", - * rootDomain: "example.com", - * cloudflareConfig: { - * apiEmail: "test@test.local", - * apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - * proxySetting: true, - * }, - * }); - * ``` - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as rancher2 from "@pulumi/rancher2"; - * - * // Create a new rancher2 Global DNS Provider - route53 - * const foo = new rancher2.GlobalDnsProvider("foo", { - * name: "foo", - * rootDomain: "example.com", - * route53Config: { - * accessKey: "YYYYYYYYYYYYYYYYYYYY", - * secretKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - * zoneType: "private", - * region: "us-east-1", - * }, - * }); - * ``` - * - * ## Import - * - * Global DNS Providers can be imported using the Rancher Global DNS Provider ID - * - * ```sh - * $ pulumi import rancher2:index/globalDnsProvider:GlobalDnsProvider foo - * ``` - */ -export class GlobalDnsProvider extends pulumi.CustomResource { - /** - * Get an existing GlobalDnsProvider resource's state with the given name, ID, and optional extra - * properties used to qualify the lookup. - * - * @param name The _unique_ name of the resulting resource. - * @param id The _unique_ provider ID of the resource to lookup. - * @param state Any extra arguments used during the lookup. - * @param opts Optional settings to control the behavior of the CustomResource. - */ - public static get(name: string, id: pulumi.Input, state?: GlobalDnsProviderState, opts?: pulumi.CustomResourceOptions): GlobalDnsProvider { - return new GlobalDnsProvider(name, state, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'rancher2:index/globalDnsProvider:GlobalDnsProvider'; - - /** - * Returns true if the given object is an instance of GlobalDnsProvider. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is GlobalDnsProvider { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === GlobalDnsProvider.__pulumiType; - } - - public readonly alidnsConfig!: pulumi.Output; - /** - * Annotations for Global DNS Provider (map) - */ - public readonly annotations!: pulumi.Output<{[key: string]: string}>; - public readonly cloudflareConfig!: pulumi.Output; - /** - * (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - */ - public /*out*/ readonly dnsProvider!: pulumi.Output; - /** - * Labels for Global DNS Provider (map) - */ - public readonly labels!: pulumi.Output<{[key: string]: string}>; - /** - * The name of the Global DNS Provider (string) - */ - public readonly name!: pulumi.Output; - /** - * The user ID to assign Global DNS Provider (string) - */ - public readonly rootDomain!: pulumi.Output; - public readonly route53Config!: pulumi.Output; - - /** - * Create a GlobalDnsProvider resource with the given unique name, arguments, and options. - * - * @param name The _unique_ name of the resource. - * @param args The arguments to use to populate this resource's properties. - * @param opts A bag of options that control this resource's behavior. - */ - constructor(name: string, args: GlobalDnsProviderArgs, opts?: pulumi.CustomResourceOptions) - constructor(name: string, argsOrState?: GlobalDnsProviderArgs | GlobalDnsProviderState, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (opts.id) { - const state = argsOrState as GlobalDnsProviderState | undefined; - resourceInputs["alidnsConfig"] = state ? state.alidnsConfig : undefined; - resourceInputs["annotations"] = state ? state.annotations : undefined; - resourceInputs["cloudflareConfig"] = state ? state.cloudflareConfig : undefined; - resourceInputs["dnsProvider"] = state ? state.dnsProvider : undefined; - resourceInputs["labels"] = state ? state.labels : undefined; - resourceInputs["name"] = state ? state.name : undefined; - resourceInputs["rootDomain"] = state ? state.rootDomain : undefined; - resourceInputs["route53Config"] = state ? state.route53Config : undefined; - } else { - const args = argsOrState as GlobalDnsProviderArgs | undefined; - if ((!args || args.rootDomain === undefined) && !opts.urn) { - throw new Error("Missing required property 'rootDomain'"); - } - resourceInputs["alidnsConfig"] = args ? args.alidnsConfig : undefined; - resourceInputs["annotations"] = args ? args.annotations : undefined; - resourceInputs["cloudflareConfig"] = args ? args.cloudflareConfig : undefined; - resourceInputs["labels"] = args ? args.labels : undefined; - resourceInputs["name"] = args ? args.name : undefined; - resourceInputs["rootDomain"] = args ? args.rootDomain : undefined; - resourceInputs["route53Config"] = args ? args.route53Config : undefined; - resourceInputs["dnsProvider"] = undefined /*out*/; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - super(GlobalDnsProvider.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * Input properties used for looking up and filtering GlobalDnsProvider resources. - */ -export interface GlobalDnsProviderState { - alidnsConfig?: pulumi.Input; - /** - * Annotations for Global DNS Provider (map) - */ - annotations?: pulumi.Input<{[key: string]: pulumi.Input}>; - cloudflareConfig?: pulumi.Input; - /** - * (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - */ - dnsProvider?: pulumi.Input; - /** - * Labels for Global DNS Provider (map) - */ - labels?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * The name of the Global DNS Provider (string) - */ - name?: pulumi.Input; - /** - * The user ID to assign Global DNS Provider (string) - */ - rootDomain?: pulumi.Input; - route53Config?: pulumi.Input; -} - -/** - * The set of arguments for constructing a GlobalDnsProvider resource. - */ -export interface GlobalDnsProviderArgs { - alidnsConfig?: pulumi.Input; - /** - * Annotations for Global DNS Provider (map) - */ - annotations?: pulumi.Input<{[key: string]: pulumi.Input}>; - cloudflareConfig?: pulumi.Input; - /** - * Labels for Global DNS Provider (map) - */ - labels?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * The name of the Global DNS Provider (string) - */ - name?: pulumi.Input; - /** - * The user ID to assign Global DNS Provider (string) - */ - rootDomain: pulumi.Input; - route53Config?: pulumi.Input; -} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index edf007e56..092738a19 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -195,11 +195,6 @@ export const getEtcdBackup: typeof import("./getEtcdBackup").getEtcdBackup = nul export const getEtcdBackupOutput: typeof import("./getEtcdBackup").getEtcdBackupOutput = null as any; utilities.lazyLoad(exports, ["getEtcdBackup","getEtcdBackupOutput"], () => require("./getEtcdBackup")); -export { GetGlobalDnsProviderArgs, GetGlobalDnsProviderResult, GetGlobalDnsProviderOutputArgs } from "./getGlobalDnsProvider"; -export const getGlobalDnsProvider: typeof import("./getGlobalDnsProvider").getGlobalDnsProvider = null as any; -export const getGlobalDnsProviderOutput: typeof import("./getGlobalDnsProvider").getGlobalDnsProviderOutput = null as any; -utilities.lazyLoad(exports, ["getGlobalDnsProvider","getGlobalDnsProviderOutput"], () => require("./getGlobalDnsProvider")); - export { GetGlobalRoleArgs, GetGlobalRoleResult, GetGlobalRoleOutputArgs } from "./getGlobalRole"; export const getGlobalRole: typeof import("./getGlobalRole").getGlobalRole = null as any; export const getGlobalRoleOutput: typeof import("./getGlobalRole").getGlobalRoleOutput = null as any; @@ -290,16 +285,6 @@ export const getUser: typeof import("./getUser").getUser = null as any; export const getUserOutput: typeof import("./getUser").getUserOutput = null as any; utilities.lazyLoad(exports, ["getUser","getUserOutput"], () => require("./getUser")); -export { GlobalDnsArgs, GlobalDnsState } from "./globalDns"; -export type GlobalDns = import("./globalDns").GlobalDns; -export const GlobalDns: typeof import("./globalDns").GlobalDns = null as any; -utilities.lazyLoad(exports, ["GlobalDns"], () => require("./globalDns")); - -export { GlobalDnsProviderArgs, GlobalDnsProviderState } from "./globalDnsProvider"; -export type GlobalDnsProvider = import("./globalDnsProvider").GlobalDnsProvider; -export const GlobalDnsProvider: typeof import("./globalDnsProvider").GlobalDnsProvider = null as any; -utilities.lazyLoad(exports, ["GlobalDnsProvider"], () => require("./globalDnsProvider")); - export { GlobalRoleArgs, GlobalRoleState } from "./globalRole"; export type GlobalRole = import("./globalRole").GlobalRole; export const GlobalRole: typeof import("./globalRole").GlobalRole = null as any; @@ -466,10 +451,6 @@ const _module = { return new EtcdBackup(name, undefined, { urn }) case "rancher2:index/feature:Feature": return new Feature(name, undefined, { urn }) - case "rancher2:index/globalDns:GlobalDns": - return new GlobalDns(name, undefined, { urn }) - case "rancher2:index/globalDnsProvider:GlobalDnsProvider": - return new GlobalDnsProvider(name, undefined, { urn }) case "rancher2:index/globalRole:GlobalRole": return new GlobalRole(name, undefined, { urn }) case "rancher2:index/globalRoleBinding:GlobalRoleBinding": @@ -539,8 +520,6 @@ pulumi.runtime.registerResourceModule("rancher2", "index/configMapV2", _module) pulumi.runtime.registerResourceModule("rancher2", "index/customUserToken", _module) pulumi.runtime.registerResourceModule("rancher2", "index/etcdBackup", _module) pulumi.runtime.registerResourceModule("rancher2", "index/feature", _module) -pulumi.runtime.registerResourceModule("rancher2", "index/globalDns", _module) -pulumi.runtime.registerResourceModule("rancher2", "index/globalDnsProvider", _module) pulumi.runtime.registerResourceModule("rancher2", "index/globalRole", _module) pulumi.runtime.registerResourceModule("rancher2", "index/globalRoleBinding", _module) pulumi.runtime.registerResourceModule("rancher2", "index/machineConfigV2", _module) diff --git a/sdk/nodejs/nodeTemplate.ts b/sdk/nodejs/nodeTemplate.ts index d775ee2be..8976f3b32 100644 --- a/sdk/nodejs/nodeTemplate.ts +++ b/sdk/nodejs/nodeTemplate.ts @@ -153,6 +153,14 @@ import * as utilities from "./utilities"; * **Important** This process could update `rancher2.NodeTemplate` data on tfstate file. Be sure to save a copy of tfstate file before proceed * * Due to [this feature](https://github.com/rancher/rancher/pull/23718) included on Rancher v2.3.3, `rancher2.NodeTemplate` are now global scoped objects with RBAC around them, instead of user scoped objects as they were. This means that existing node templates `id` field is changing on upgrade. Provider implements `fixNodeTemplateID()` that will update tfstate with proper id. + * + * ## Import + * + * Node Template can be imported using the Rancher Node Template ID + * + * ```sh + * $ pulumi import rancher2:index/nodeTemplate:NodeTemplate foo <node_template_id> + * ``` */ export class NodeTemplate extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json index ee53ef450..83d7e3a0a 100644 --- a/sdk/nodejs/package.json +++ b/sdk/nodejs/package.json @@ -1,6 +1,6 @@ { "name": "@pulumi/rancher2", - "version": "7.0.0-alpha.0+dev", + "version": "8.0.0-alpha.0+dev", "description": "A Pulumi package for creating and managing rancher2 resources.", "keywords": [ "pulumi", @@ -23,6 +23,6 @@ "pulumi": { "resource": true, "name": "rancher2", - "version": "7.0.0-alpha.0+dev" + "version": "8.0.0-alpha.0+dev" } } diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index f4a154275..a6b89f353 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -53,7 +53,6 @@ "getClusterV2.ts", "getConfigMapV2.ts", "getEtcdBackup.ts", - "getGlobalDnsProvider.ts", "getGlobalRole.ts", "getGlobalRoleBinding.ts", "getMultiClusterApp.ts", @@ -72,8 +71,6 @@ "getSetting.ts", "getStorageClassV2.ts", "getUser.ts", - "globalDns.ts", - "globalDnsProvider.ts", "globalRole.ts", "globalRoleBinding.ts", "index.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index c09616e98..39a635226 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -405,6 +405,10 @@ export interface ClusterAksConfigV2 { * The AKS node resource group name */ nodeResourceGroup?: pulumi.Input; + /** + * The AKS outbound type for the egress traffic + */ + outboundType?: pulumi.Input; /** * Is AKS cluster private? */ @@ -5371,59 +5375,6 @@ export interface GetRoleTemplateExternalRuleArgs { verbs?: pulumi.Input[]>; } -export interface GlobalDnsProviderAlidnsConfig { - /** - * The AWS Access key (string) - */ - accessKey: pulumi.Input; - /** - * The AWS Secret key (string) - */ - secretKey: pulumi.Input; -} - -export interface GlobalDnsProviderCloudflareConfig { - /** - * The CloudFlare API Email (string) - */ - apiEmail: pulumi.Input; - /** - * The CloudFlare API Key (string) - */ - apiKey: pulumi.Input; - /** - * CloudFlare Proxy Setting. Default: `false` (bool) - */ - proxySetting?: pulumi.Input; -} - -export interface GlobalDnsProviderRoute53Config { - /** - * The AWS Access key (string) - */ - accessKey: pulumi.Input; - /** - * The AWS credentials path. Default: `"/.aws"` (string) - */ - credentialsPath?: pulumi.Input; - /** - * The AWS Region. Default: `"us-west-2"` (string) - */ - region?: pulumi.Input; - /** - * The AWS Role ARN (string) - */ - roleArn?: pulumi.Input; - /** - * The AWS Secret key (string) - */ - secretKey: pulumi.Input; - /** - * The Route53 zone type `public, private`. Default: `"public"` (string) - */ - zoneType?: pulumi.Input; -} - export interface GlobalRoleRule { /** * Policy rule api groups diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 7942e4521..781c2b4b4 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -405,6 +405,10 @@ export interface ClusterAksConfigV2 { * The AKS node resource group name */ nodeResourceGroup: string; + /** + * The AKS outbound type for the egress traffic + */ + outboundType?: string; /** * Is AKS cluster private? */ @@ -5579,6 +5583,10 @@ export interface GetClusterAksConfigV2 { * The AKS node resource group name */ nodeResourceGroup: string; + /** + * The AKS outbound type for the egress traffic + */ + outboundType?: string; /** * Is AKS cluster private? */ @@ -8947,26 +8955,6 @@ export interface GetEtcdBackupBackupConfigS3BackupConfig { secretKey?: string; } -export interface GetGlobalDnsProviderAlidnsConfig { - accessKey: string; - secretKey: string; -} - -export interface GetGlobalDnsProviderCloudflareConfig { - apiEmail: string; - apiKey: string; - proxySetting?: boolean; -} - -export interface GetGlobalDnsProviderRoute53Config { - accessKey: string; - credentialsPath?: string; - region?: string; - roleArn?: string; - secretKey: string; - zoneType?: string; -} - export interface GetGlobalRoleRule { /** * Policy rule api groups @@ -9236,59 +9224,6 @@ export interface GetRoleTemplateRule { verbs?: string[]; } -export interface GlobalDnsProviderAlidnsConfig { - /** - * The AWS Access key (string) - */ - accessKey: string; - /** - * The AWS Secret key (string) - */ - secretKey: string; -} - -export interface GlobalDnsProviderCloudflareConfig { - /** - * The CloudFlare API Email (string) - */ - apiEmail: string; - /** - * The CloudFlare API Key (string) - */ - apiKey: string; - /** - * CloudFlare Proxy Setting. Default: `false` (bool) - */ - proxySetting?: boolean; -} - -export interface GlobalDnsProviderRoute53Config { - /** - * The AWS Access key (string) - */ - accessKey: string; - /** - * The AWS credentials path. Default: `"/.aws"` (string) - */ - credentialsPath?: string; - /** - * The AWS Region. Default: `"us-west-2"` (string) - */ - region?: string; - /** - * The AWS Role ARN (string) - */ - roleArn?: string; - /** - * The AWS Secret key (string) - */ - secretKey: string; - /** - * The Route53 zone type `public, private`. Default: `"public"` (string) - */ - zoneType?: string; -} - export interface GlobalRoleRule { /** * Policy rule api groups diff --git a/sdk/nodejs/user.ts b/sdk/nodejs/user.ts index 250a3fe1f..bbf6c2c0f 100644 --- a/sdk/nodejs/user.ts +++ b/sdk/nodejs/user.ts @@ -21,6 +21,7 @@ import * as utilities from "./utilities"; * username: "foo", * password: "changeme", * enabled: true, + * mustChangePassword: true, * }); * // Create a new rancher2 global_role_binding for User * const fooGlobalRoleBinding = new rancher2.GlobalRoleBinding("foo", { @@ -75,6 +76,10 @@ export class User extends pulumi.CustomResource { * Labels for global role binding (map) */ public readonly labels!: pulumi.Output<{[key: string]: string}>; + /** + * The user must change password at first login (bool) + */ + public readonly mustChangePassword!: pulumi.Output; /** * The user full name (string) */ @@ -108,6 +113,7 @@ export class User extends pulumi.CustomResource { resourceInputs["annotations"] = state ? state.annotations : undefined; resourceInputs["enabled"] = state ? state.enabled : undefined; resourceInputs["labels"] = state ? state.labels : undefined; + resourceInputs["mustChangePassword"] = state ? state.mustChangePassword : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["password"] = state ? state.password : undefined; resourceInputs["principalIds"] = state ? state.principalIds : undefined; @@ -123,6 +129,7 @@ export class User extends pulumi.CustomResource { resourceInputs["annotations"] = args ? args.annotations : undefined; resourceInputs["enabled"] = args ? args.enabled : undefined; resourceInputs["labels"] = args ? args.labels : undefined; + resourceInputs["mustChangePassword"] = args ? args.mustChangePassword : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; resourceInputs["username"] = args ? args.username : undefined; @@ -148,6 +155,10 @@ export interface UserState { * Labels for global role binding (map) */ labels?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The user must change password at first login (bool) + */ + mustChangePassword?: pulumi.Input; /** * The user full name (string) */ @@ -179,6 +190,10 @@ export interface UserArgs { * Labels for global role binding (map) */ labels?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The user must change password at first login (bool) + */ + mustChangePassword?: pulumi.Input; /** * The user full name (string) */ diff --git a/sdk/python/pulumi_rancher2/__init__.py b/sdk/python/pulumi_rancher2/__init__.py index 65246cf35..7f0449eed 100644 --- a/sdk/python/pulumi_rancher2/__init__.py +++ b/sdk/python/pulumi_rancher2/__init__.py @@ -43,7 +43,6 @@ from .get_cluster_v2 import * from .get_config_map_v2 import * from .get_etcd_backup import * -from .get_global_dns_provider import * from .get_global_role import * from .get_global_role_binding import * from .get_multi_cluster_app import * @@ -62,8 +61,6 @@ from .get_setting import * from .get_storage_class_v2 import * from .get_user import * -from .global_dns import * -from .global_dns_provider import * from .global_role import * from .global_role_binding import * from .machine_config_v2 import * @@ -305,22 +302,6 @@ "rancher2:index/feature:Feature": "Feature" } }, - { - "pkg": "rancher2", - "mod": "index/globalDns", - "fqn": "pulumi_rancher2", - "classes": { - "rancher2:index/globalDns:GlobalDns": "GlobalDns" - } - }, - { - "pkg": "rancher2", - "mod": "index/globalDnsProvider", - "fqn": "pulumi_rancher2", - "classes": { - "rancher2:index/globalDnsProvider:GlobalDnsProvider": "GlobalDnsProvider" - } - }, { "pkg": "rancher2", "mod": "index/globalRole", diff --git a/sdk/python/pulumi_rancher2/_inputs.py b/sdk/python/pulumi_rancher2/_inputs.py index dbaba6863..11d85b29a 100644 --- a/sdk/python/pulumi_rancher2/_inputs.py +++ b/sdk/python/pulumi_rancher2/_inputs.py @@ -443,12 +443,6 @@ 'EtcdBackupBackupConfigArgsDict', 'EtcdBackupBackupConfigS3BackupConfigArgs', 'EtcdBackupBackupConfigS3BackupConfigArgsDict', - 'GlobalDnsProviderAlidnsConfigArgs', - 'GlobalDnsProviderAlidnsConfigArgsDict', - 'GlobalDnsProviderCloudflareConfigArgs', - 'GlobalDnsProviderCloudflareConfigArgsDict', - 'GlobalDnsProviderRoute53ConfigArgs', - 'GlobalDnsProviderRoute53ConfigArgsDict', 'GlobalRoleRuleArgs', 'GlobalRoleRuleArgsDict', 'MachineConfigV2Amazonec2ConfigArgs', @@ -2097,6 +2091,10 @@ class ClusterAksConfigV2ArgsDict(TypedDict): """ The AKS node resource group name """ + outbound_type: NotRequired[pulumi.Input[str]] + """ + The AKS outbound type for the egress traffic + """ private_cluster: NotRequired[pulumi.Input[bool]] """ Is AKS cluster private? @@ -2148,6 +2146,7 @@ def __init__(__self__, *, network_service_cidr: Optional[pulumi.Input[str]] = None, node_pools: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterAksConfigV2NodePoolArgs']]]] = None, node_resource_group: Optional[pulumi.Input[str]] = None, + outbound_type: Optional[pulumi.Input[str]] = None, private_cluster: Optional[pulumi.Input[bool]] = None, subnet: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -2179,6 +2178,7 @@ def __init__(__self__, *, :param pulumi.Input[str] network_service_cidr: The AKS network service cidr :param pulumi.Input[Sequence[pulumi.Input['ClusterAksConfigV2NodePoolArgs']]] node_pools: The AKS node pools to use. Required if `import=false` :param pulumi.Input[str] node_resource_group: The AKS node resource group name + :param pulumi.Input[str] outbound_type: The AKS outbound type for the egress traffic :param pulumi.Input[bool] private_cluster: Is AKS cluster private? :param pulumi.Input[str] subnet: The AKS subnet :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: The AKS cluster tags @@ -2232,6 +2232,8 @@ def __init__(__self__, *, pulumi.set(__self__, "node_pools", node_pools) if node_resource_group is not None: pulumi.set(__self__, "node_resource_group", node_resource_group) + if outbound_type is not None: + pulumi.set(__self__, "outbound_type", outbound_type) if private_cluster is not None: pulumi.set(__self__, "private_cluster", private_cluster) if subnet is not None: @@ -2543,6 +2545,18 @@ def node_resource_group(self) -> Optional[pulumi.Input[str]]: def node_resource_group(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "node_resource_group", value) + @property + @pulumi.getter(name="outboundType") + def outbound_type(self) -> Optional[pulumi.Input[str]]: + """ + The AKS outbound type for the egress traffic + """ + return pulumi.get(self, "outbound_type") + + @outbound_type.setter + def outbound_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "outbound_type", value) + @property @pulumi.getter(name="privateCluster") def private_cluster(self) -> Optional[pulumi.Input[bool]]: @@ -28949,256 +28963,6 @@ def secret_key(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "secret_key", value) -if not MYPY: - class GlobalDnsProviderAlidnsConfigArgsDict(TypedDict): - access_key: pulumi.Input[str] - """ - The AWS Access key (string) - """ - secret_key: pulumi.Input[str] - """ - The AWS Secret key (string) - """ -elif False: - GlobalDnsProviderAlidnsConfigArgsDict: TypeAlias = Mapping[str, Any] - -@pulumi.input_type -class GlobalDnsProviderAlidnsConfigArgs: - def __init__(__self__, *, - access_key: pulumi.Input[str], - secret_key: pulumi.Input[str]): - """ - :param pulumi.Input[str] access_key: The AWS Access key (string) - :param pulumi.Input[str] secret_key: The AWS Secret key (string) - """ - pulumi.set(__self__, "access_key", access_key) - pulumi.set(__self__, "secret_key", secret_key) - - @property - @pulumi.getter(name="accessKey") - def access_key(self) -> pulumi.Input[str]: - """ - The AWS Access key (string) - """ - return pulumi.get(self, "access_key") - - @access_key.setter - def access_key(self, value: pulumi.Input[str]): - pulumi.set(self, "access_key", value) - - @property - @pulumi.getter(name="secretKey") - def secret_key(self) -> pulumi.Input[str]: - """ - The AWS Secret key (string) - """ - return pulumi.get(self, "secret_key") - - @secret_key.setter - def secret_key(self, value: pulumi.Input[str]): - pulumi.set(self, "secret_key", value) - - -if not MYPY: - class GlobalDnsProviderCloudflareConfigArgsDict(TypedDict): - api_email: pulumi.Input[str] - """ - The CloudFlare API Email (string) - """ - api_key: pulumi.Input[str] - """ - The CloudFlare API Key (string) - """ - proxy_setting: NotRequired[pulumi.Input[bool]] - """ - CloudFlare Proxy Setting. Default: `false` (bool) - """ -elif False: - GlobalDnsProviderCloudflareConfigArgsDict: TypeAlias = Mapping[str, Any] - -@pulumi.input_type -class GlobalDnsProviderCloudflareConfigArgs: - def __init__(__self__, *, - api_email: pulumi.Input[str], - api_key: pulumi.Input[str], - proxy_setting: Optional[pulumi.Input[bool]] = None): - """ - :param pulumi.Input[str] api_email: The CloudFlare API Email (string) - :param pulumi.Input[str] api_key: The CloudFlare API Key (string) - :param pulumi.Input[bool] proxy_setting: CloudFlare Proxy Setting. Default: `false` (bool) - """ - pulumi.set(__self__, "api_email", api_email) - pulumi.set(__self__, "api_key", api_key) - if proxy_setting is not None: - pulumi.set(__self__, "proxy_setting", proxy_setting) - - @property - @pulumi.getter(name="apiEmail") - def api_email(self) -> pulumi.Input[str]: - """ - The CloudFlare API Email (string) - """ - return pulumi.get(self, "api_email") - - @api_email.setter - def api_email(self, value: pulumi.Input[str]): - pulumi.set(self, "api_email", value) - - @property - @pulumi.getter(name="apiKey") - def api_key(self) -> pulumi.Input[str]: - """ - The CloudFlare API Key (string) - """ - return pulumi.get(self, "api_key") - - @api_key.setter - def api_key(self, value: pulumi.Input[str]): - pulumi.set(self, "api_key", value) - - @property - @pulumi.getter(name="proxySetting") - def proxy_setting(self) -> Optional[pulumi.Input[bool]]: - """ - CloudFlare Proxy Setting. Default: `false` (bool) - """ - return pulumi.get(self, "proxy_setting") - - @proxy_setting.setter - def proxy_setting(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "proxy_setting", value) - - -if not MYPY: - class GlobalDnsProviderRoute53ConfigArgsDict(TypedDict): - access_key: pulumi.Input[str] - """ - The AWS Access key (string) - """ - secret_key: pulumi.Input[str] - """ - The AWS Secret key (string) - """ - credentials_path: NotRequired[pulumi.Input[str]] - """ - The AWS credentials path. Default: `"/.aws"` (string) - """ - region: NotRequired[pulumi.Input[str]] - """ - The AWS Region. Default: `"us-west-2"` (string) - """ - role_arn: NotRequired[pulumi.Input[str]] - """ - The AWS Role ARN (string) - """ - zone_type: NotRequired[pulumi.Input[str]] - """ - The Route53 zone type `public, private`. Default: `"public"` (string) - """ -elif False: - GlobalDnsProviderRoute53ConfigArgsDict: TypeAlias = Mapping[str, Any] - -@pulumi.input_type -class GlobalDnsProviderRoute53ConfigArgs: - def __init__(__self__, *, - access_key: pulumi.Input[str], - secret_key: pulumi.Input[str], - credentials_path: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - role_arn: Optional[pulumi.Input[str]] = None, - zone_type: Optional[pulumi.Input[str]] = None): - """ - :param pulumi.Input[str] access_key: The AWS Access key (string) - :param pulumi.Input[str] secret_key: The AWS Secret key (string) - :param pulumi.Input[str] credentials_path: The AWS credentials path. Default: `"/.aws"` (string) - :param pulumi.Input[str] region: The AWS Region. Default: `"us-west-2"` (string) - :param pulumi.Input[str] role_arn: The AWS Role ARN (string) - :param pulumi.Input[str] zone_type: The Route53 zone type `public, private`. Default: `"public"` (string) - """ - pulumi.set(__self__, "access_key", access_key) - pulumi.set(__self__, "secret_key", secret_key) - if credentials_path is not None: - pulumi.set(__self__, "credentials_path", credentials_path) - if region is not None: - pulumi.set(__self__, "region", region) - if role_arn is not None: - pulumi.set(__self__, "role_arn", role_arn) - if zone_type is not None: - pulumi.set(__self__, "zone_type", zone_type) - - @property - @pulumi.getter(name="accessKey") - def access_key(self) -> pulumi.Input[str]: - """ - The AWS Access key (string) - """ - return pulumi.get(self, "access_key") - - @access_key.setter - def access_key(self, value: pulumi.Input[str]): - pulumi.set(self, "access_key", value) - - @property - @pulumi.getter(name="secretKey") - def secret_key(self) -> pulumi.Input[str]: - """ - The AWS Secret key (string) - """ - return pulumi.get(self, "secret_key") - - @secret_key.setter - def secret_key(self, value: pulumi.Input[str]): - pulumi.set(self, "secret_key", value) - - @property - @pulumi.getter(name="credentialsPath") - def credentials_path(self) -> Optional[pulumi.Input[str]]: - """ - The AWS credentials path. Default: `"/.aws"` (string) - """ - return pulumi.get(self, "credentials_path") - - @credentials_path.setter - def credentials_path(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "credentials_path", value) - - @property - @pulumi.getter - def region(self) -> Optional[pulumi.Input[str]]: - """ - The AWS Region. Default: `"us-west-2"` (string) - """ - return pulumi.get(self, "region") - - @region.setter - def region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "region", value) - - @property - @pulumi.getter(name="roleArn") - def role_arn(self) -> Optional[pulumi.Input[str]]: - """ - The AWS Role ARN (string) - """ - return pulumi.get(self, "role_arn") - - @role_arn.setter - def role_arn(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "role_arn", value) - - @property - @pulumi.getter(name="zoneType") - def zone_type(self) -> Optional[pulumi.Input[str]]: - """ - The Route53 zone type `public, private`. Default: `"public"` (string) - """ - return pulumi.get(self, "zone_type") - - @zone_type.setter - def zone_type(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "zone_type", value) - - if not MYPY: class GlobalRoleRuleArgsDict(TypedDict): api_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] diff --git a/sdk/python/pulumi_rancher2/cluster.py b/sdk/python/pulumi_rancher2/cluster.py index 1976a791d..14064e9ae 100644 --- a/sdk/python/pulumi_rancher2/cluster.py +++ b/sdk/python/pulumi_rancher2/cluster.py @@ -1603,6 +1603,7 @@ def __init__(__self__, "virtual_network_resource_group": "", "subnet": "", "node_resource_group": "", + "outbound_type": "loadBalancer", "node_pools": [ { "availability_zones": [ @@ -2144,6 +2145,7 @@ def __init__(__self__, "virtual_network_resource_group": "", "subnet": "", "node_resource_group": "", + "outbound_type": "loadBalancer", "node_pools": [ { "availability_zones": [ diff --git a/sdk/python/pulumi_rancher2/get_global_dns_provider.py b/sdk/python/pulumi_rancher2/get_global_dns_provider.py deleted file mode 100644 index e5f23529f..000000000 --- a/sdk/python/pulumi_rancher2/get_global_dns_provider.py +++ /dev/null @@ -1,196 +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 copy -import warnings -import sys -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -if sys.version_info >= (3, 11): - from typing import NotRequired, TypedDict, TypeAlias -else: - from typing_extensions import NotRequired, TypedDict, TypeAlias -from . import _utilities -from . import outputs - -__all__ = [ - 'GetGlobalDnsProviderResult', - 'AwaitableGetGlobalDnsProviderResult', - 'get_global_dns_provider', - 'get_global_dns_provider_output', -] - -@pulumi.output_type -class GetGlobalDnsProviderResult: - """ - A collection of values returned by getGlobalDnsProvider. - """ - def __init__(__self__, alidns_config=None, annotations=None, cloudflare_config=None, dns_provider=None, id=None, labels=None, name=None, root_domain=None, route53_config=None): - if alidns_config and not isinstance(alidns_config, dict): - raise TypeError("Expected argument 'alidns_config' to be a dict") - pulumi.set(__self__, "alidns_config", alidns_config) - if annotations and not isinstance(annotations, dict): - raise TypeError("Expected argument 'annotations' to be a dict") - pulumi.set(__self__, "annotations", annotations) - if cloudflare_config and not isinstance(cloudflare_config, dict): - raise TypeError("Expected argument 'cloudflare_config' to be a dict") - pulumi.set(__self__, "cloudflare_config", cloudflare_config) - if dns_provider and not isinstance(dns_provider, str): - raise TypeError("Expected argument 'dns_provider' to be a str") - pulumi.set(__self__, "dns_provider", dns_provider) - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) - if labels and not isinstance(labels, dict): - raise TypeError("Expected argument 'labels' to be a dict") - pulumi.set(__self__, "labels", labels) - if name and not isinstance(name, str): - raise TypeError("Expected argument 'name' to be a str") - pulumi.set(__self__, "name", name) - if root_domain and not isinstance(root_domain, str): - raise TypeError("Expected argument 'root_domain' to be a str") - pulumi.set(__self__, "root_domain", root_domain) - if route53_config and not isinstance(route53_config, dict): - raise TypeError("Expected argument 'route53_config' to be a dict") - pulumi.set(__self__, "route53_config", route53_config) - - @property - @pulumi.getter(name="alidnsConfig") - def alidns_config(self) -> 'outputs.GetGlobalDnsProviderAlidnsConfigResult': - return pulumi.get(self, "alidns_config") - - @property - @pulumi.getter - def annotations(self) -> Mapping[str, str]: - """ - (Computed) Annotations of the resource (map) - """ - return pulumi.get(self, "annotations") - - @property - @pulumi.getter(name="cloudflareConfig") - def cloudflare_config(self) -> 'outputs.GetGlobalDnsProviderCloudflareConfigResult': - return pulumi.get(self, "cloudflare_config") - - @property - @pulumi.getter(name="dnsProvider") - def dns_provider(self) -> str: - return pulumi.get(self, "dns_provider") - - @property - @pulumi.getter - def id(self) -> str: - """ - The provider-assigned unique ID for this managed resource. - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter - def labels(self) -> Mapping[str, str]: - """ - (Computed) Labels of the resource (map) - """ - return pulumi.get(self, "labels") - - @property - @pulumi.getter - def name(self) -> str: - """ - (Computed) The name of the global DNS provider (string) - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="rootDomain") - def root_domain(self) -> str: - return pulumi.get(self, "root_domain") - - @property - @pulumi.getter(name="route53Config") - def route53_config(self) -> 'outputs.GetGlobalDnsProviderRoute53ConfigResult': - return pulumi.get(self, "route53_config") - - -class AwaitableGetGlobalDnsProviderResult(GetGlobalDnsProviderResult): - # pylint: disable=using-constant-test - def __await__(self): - if False: - yield self - return GetGlobalDnsProviderResult( - alidns_config=self.alidns_config, - annotations=self.annotations, - cloudflare_config=self.cloudflare_config, - dns_provider=self.dns_provider, - id=self.id, - labels=self.labels, - name=self.name, - root_domain=self.root_domain, - route53_config=self.route53_config) - - -def get_global_dns_provider(name: Optional[str] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetGlobalDnsProviderResult: - """ - Provides a Rancher V2 Global DNS Provider data source. Use this data source to retrieve information about a Rancher v2 global DNS provider - - ## Example Usage - - ```python - import pulumi - import pulumi_rancher2 as rancher2 - - foo = rancher2.get_global_dns_provider(name="foo") - ``` - - - :param str name: The name of the global DNS provider (string) - """ - __args__ = dict() - __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke('rancher2:index/getGlobalDnsProvider:getGlobalDnsProvider', __args__, opts=opts, typ=GetGlobalDnsProviderResult).value - - return AwaitableGetGlobalDnsProviderResult( - alidns_config=pulumi.get(__ret__, 'alidns_config'), - annotations=pulumi.get(__ret__, 'annotations'), - cloudflare_config=pulumi.get(__ret__, 'cloudflare_config'), - dns_provider=pulumi.get(__ret__, 'dns_provider'), - id=pulumi.get(__ret__, 'id'), - labels=pulumi.get(__ret__, 'labels'), - name=pulumi.get(__ret__, 'name'), - root_domain=pulumi.get(__ret__, 'root_domain'), - route53_config=pulumi.get(__ret__, 'route53_config')) -def get_global_dns_provider_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGlobalDnsProviderResult]: - """ - Provides a Rancher V2 Global DNS Provider data source. Use this data source to retrieve information about a Rancher v2 global DNS provider - - ## Example Usage - - ```python - import pulumi - import pulumi_rancher2 as rancher2 - - foo = rancher2.get_global_dns_provider(name="foo") - ``` - - - :param str name: The name of the global DNS provider (string) - """ - __args__ = dict() - __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke_output('rancher2:index/getGlobalDnsProvider:getGlobalDnsProvider', __args__, opts=opts, typ=GetGlobalDnsProviderResult) - return __ret__.apply(lambda __response__: GetGlobalDnsProviderResult( - alidns_config=pulumi.get(__response__, 'alidns_config'), - annotations=pulumi.get(__response__, 'annotations'), - cloudflare_config=pulumi.get(__response__, 'cloudflare_config'), - dns_provider=pulumi.get(__response__, 'dns_provider'), - id=pulumi.get(__response__, 'id'), - labels=pulumi.get(__response__, 'labels'), - name=pulumi.get(__response__, 'name'), - root_domain=pulumi.get(__response__, 'root_domain'), - route53_config=pulumi.get(__response__, 'route53_config'))) diff --git a/sdk/python/pulumi_rancher2/get_user.py b/sdk/python/pulumi_rancher2/get_user.py index b4517486b..2536632f0 100644 --- a/sdk/python/pulumi_rancher2/get_user.py +++ b/sdk/python/pulumi_rancher2/get_user.py @@ -26,7 +26,7 @@ class GetUserResult: """ A collection of values returned by getUser. """ - def __init__(__self__, annotations=None, enabled=None, id=None, is_external=None, labels=None, name=None, principal_ids=None, username=None): + def __init__(__self__, annotations=None, enabled=None, id=None, is_external=None, labels=None, must_change_password=None, name=None, principal_ids=None, username=None): if annotations and not isinstance(annotations, dict): raise TypeError("Expected argument 'annotations' to be a dict") pulumi.set(__self__, "annotations", annotations) @@ -42,6 +42,9 @@ def __init__(__self__, annotations=None, enabled=None, id=None, is_external=None if labels and not isinstance(labels, dict): raise TypeError("Expected argument 'labels' to be a dict") pulumi.set(__self__, "labels", labels) + if must_change_password and not isinstance(must_change_password, bool): + raise TypeError("Expected argument 'must_change_password' to be a bool") + pulumi.set(__self__, "must_change_password", must_change_password) if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) @@ -89,6 +92,14 @@ def labels(self) -> Mapping[str, str]: """ return pulumi.get(self, "labels") + @property + @pulumi.getter(name="mustChangePassword") + def must_change_password(self) -> bool: + """ + (Computed) The user must change password at first login (bool) + """ + return pulumi.get(self, "must_change_password") + @property @pulumi.getter def name(self) -> str: @@ -122,6 +133,7 @@ def __await__(self): id=self.id, is_external=self.is_external, labels=self.labels, + must_change_password=self.must_change_password, name=self.name, principal_ids=self.principal_ids, username=self.username) @@ -161,6 +173,7 @@ def get_user(is_external: Optional[bool] = None, id=pulumi.get(__ret__, 'id'), is_external=pulumi.get(__ret__, 'is_external'), labels=pulumi.get(__ret__, 'labels'), + must_change_password=pulumi.get(__ret__, 'must_change_password'), name=pulumi.get(__ret__, 'name'), principal_ids=pulumi.get(__ret__, 'principal_ids'), username=pulumi.get(__ret__, 'username')) @@ -197,6 +210,7 @@ def get_user_output(is_external: Optional[pulumi.Input[Optional[bool]]] = None, id=pulumi.get(__response__, 'id'), is_external=pulumi.get(__response__, 'is_external'), labels=pulumi.get(__response__, 'labels'), + must_change_password=pulumi.get(__response__, 'must_change_password'), name=pulumi.get(__response__, 'name'), principal_ids=pulumi.get(__response__, 'principal_ids'), username=pulumi.get(__response__, 'username'))) diff --git a/sdk/python/pulumi_rancher2/global_dns.py b/sdk/python/pulumi_rancher2/global_dns.py deleted file mode 100644 index f9bd17af3..000000000 --- a/sdk/python/pulumi_rancher2/global_dns.py +++ /dev/null @@ -1,595 +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 copy -import warnings -import sys -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -if sys.version_info >= (3, 11): - from typing import NotRequired, TypedDict, TypeAlias -else: - from typing_extensions import NotRequired, TypedDict, TypeAlias -from . import _utilities - -__all__ = ['GlobalDnsArgs', 'GlobalDns'] - -@pulumi.input_type -class GlobalDnsArgs: - def __init__(__self__, *, - fqdn: pulumi.Input[str], - provider_id: pulumi.Input[str], - annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - multi_cluster_app_id: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None, - project_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - ttl: Optional[pulumi.Input[int]] = None): - """ - The set of arguments for constructing a GlobalDns resource. - :param pulumi.Input[str] fqdn: The Global DNS record (string) - :param pulumi.Input[str] provider_id: The Global DNS provider ID to use (string) - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations for Global DNS (map) - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for Global DNS (map) - :param pulumi.Input[str] multi_cluster_app_id: The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - :param pulumi.Input[str] name: The name of the Global DNS (string) - :param pulumi.Input[Sequence[pulumi.Input[str]]] project_ids: A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - :param pulumi.Input[int] ttl: TTL in seconds for DNS record. Default: `300` (int) - """ - pulumi.set(__self__, "fqdn", fqdn) - pulumi.set(__self__, "provider_id", provider_id) - if annotations is not None: - pulumi.set(__self__, "annotations", annotations) - if labels is not None: - pulumi.set(__self__, "labels", labels) - if multi_cluster_app_id is not None: - pulumi.set(__self__, "multi_cluster_app_id", multi_cluster_app_id) - if name is not None: - pulumi.set(__self__, "name", name) - if project_ids is not None: - pulumi.set(__self__, "project_ids", project_ids) - if ttl is not None: - pulumi.set(__self__, "ttl", ttl) - - @property - @pulumi.getter - def fqdn(self) -> pulumi.Input[str]: - """ - The Global DNS record (string) - """ - return pulumi.get(self, "fqdn") - - @fqdn.setter - def fqdn(self, value: pulumi.Input[str]): - pulumi.set(self, "fqdn", value) - - @property - @pulumi.getter(name="providerId") - def provider_id(self) -> pulumi.Input[str]: - """ - The Global DNS provider ID to use (string) - """ - return pulumi.get(self, "provider_id") - - @provider_id.setter - def provider_id(self, value: pulumi.Input[str]): - pulumi.set(self, "provider_id", value) - - @property - @pulumi.getter - def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - Annotations for Global DNS (map) - """ - return pulumi.get(self, "annotations") - - @annotations.setter - def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "annotations", value) - - @property - @pulumi.getter - def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - Labels for Global DNS (map) - """ - return pulumi.get(self, "labels") - - @labels.setter - def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "labels", value) - - @property - @pulumi.getter(name="multiClusterAppId") - def multi_cluster_app_id(self) -> Optional[pulumi.Input[str]]: - """ - The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - """ - return pulumi.get(self, "multi_cluster_app_id") - - @multi_cluster_app_id.setter - def multi_cluster_app_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "multi_cluster_app_id", value) - - @property - @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - """ - The name of the Global DNS (string) - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter(name="projectIds") - def project_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - """ - A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - """ - return pulumi.get(self, "project_ids") - - @project_ids.setter - def project_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "project_ids", value) - - @property - @pulumi.getter - def ttl(self) -> Optional[pulumi.Input[int]]: - """ - TTL in seconds for DNS record. Default: `300` (int) - """ - return pulumi.get(self, "ttl") - - @ttl.setter - def ttl(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "ttl", value) - - -@pulumi.input_type -class _GlobalDnsState: - def __init__(__self__, *, - annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - fqdn: Optional[pulumi.Input[str]] = None, - labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - multi_cluster_app_id: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None, - project_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - provider_id: Optional[pulumi.Input[str]] = None, - ttl: Optional[pulumi.Input[int]] = None): - """ - Input properties used for looking up and filtering GlobalDns resources. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations for Global DNS (map) - :param pulumi.Input[str] fqdn: The Global DNS record (string) - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for Global DNS (map) - :param pulumi.Input[str] multi_cluster_app_id: The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - :param pulumi.Input[str] name: The name of the Global DNS (string) - :param pulumi.Input[Sequence[pulumi.Input[str]]] project_ids: A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - :param pulumi.Input[str] provider_id: The Global DNS provider ID to use (string) - :param pulumi.Input[int] ttl: TTL in seconds for DNS record. Default: `300` (int) - """ - if annotations is not None: - pulumi.set(__self__, "annotations", annotations) - if fqdn is not None: - pulumi.set(__self__, "fqdn", fqdn) - if labels is not None: - pulumi.set(__self__, "labels", labels) - if multi_cluster_app_id is not None: - pulumi.set(__self__, "multi_cluster_app_id", multi_cluster_app_id) - if name is not None: - pulumi.set(__self__, "name", name) - if project_ids is not None: - pulumi.set(__self__, "project_ids", project_ids) - if provider_id is not None: - pulumi.set(__self__, "provider_id", provider_id) - if ttl is not None: - pulumi.set(__self__, "ttl", ttl) - - @property - @pulumi.getter - def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - Annotations for Global DNS (map) - """ - return pulumi.get(self, "annotations") - - @annotations.setter - def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "annotations", value) - - @property - @pulumi.getter - def fqdn(self) -> Optional[pulumi.Input[str]]: - """ - The Global DNS record (string) - """ - return pulumi.get(self, "fqdn") - - @fqdn.setter - def fqdn(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "fqdn", value) - - @property - @pulumi.getter - def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - Labels for Global DNS (map) - """ - return pulumi.get(self, "labels") - - @labels.setter - def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "labels", value) - - @property - @pulumi.getter(name="multiClusterAppId") - def multi_cluster_app_id(self) -> Optional[pulumi.Input[str]]: - """ - The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - """ - return pulumi.get(self, "multi_cluster_app_id") - - @multi_cluster_app_id.setter - def multi_cluster_app_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "multi_cluster_app_id", value) - - @property - @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - """ - The name of the Global DNS (string) - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter(name="projectIds") - def project_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - """ - A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - """ - return pulumi.get(self, "project_ids") - - @project_ids.setter - def project_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "project_ids", value) - - @property - @pulumi.getter(name="providerId") - def provider_id(self) -> Optional[pulumi.Input[str]]: - """ - The Global DNS provider ID to use (string) - """ - return pulumi.get(self, "provider_id") - - @provider_id.setter - def provider_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "provider_id", value) - - @property - @pulumi.getter - def ttl(self) -> Optional[pulumi.Input[int]]: - """ - TTL in seconds for DNS record. Default: `300` (int) - """ - return pulumi.get(self, "ttl") - - @ttl.setter - def ttl(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "ttl", value) - - -class GlobalDns(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - fqdn: Optional[pulumi.Input[str]] = None, - labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - multi_cluster_app_id: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None, - project_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - provider_id: Optional[pulumi.Input[str]] = None, - ttl: Optional[pulumi.Input[int]] = None, - __props__=None): - """ - Provides a Rancher V2 Global DNS resource. This can be used to create Global DNS records for Rancher V2. - - ## Example Usage - - ```python - import pulumi - import pulumi_rancher2 as rancher2 - - # Create a new rancher2 Global DNS Provider - foo = rancher2.GlobalDnsProvider("foo", - name="foo", - root_domain="example.com", - route53_config={ - "access_key": "YYYYYYYYYYYYYYYYYYYY", - "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "zone_type": "private", - "region": "us-east-1", - }) - # Create a new rancher2 Global DNS using project IDs - foo_global_dns = rancher2.GlobalDns("foo", - name="foo", - fqdn="foo.example.com", - provider_id=foo.id, - project_ids=[ - "project1", - "project2", - ]) - ``` - - ```python - import pulumi - import pulumi_rancher2 as rancher2 - - # Create a new rancher2 Global DNS Provider - foo = rancher2.GlobalDnsProvider("foo", - name="foo", - root_domain="example.com", - route53_config={ - "access_key": "YYYYYYYYYYYYYYYYYYYY", - "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "zone_type": "private", - "region": "us-east-1", - }) - # Create a new rancher2 Global DNS using MultiClusterApp ID - foo_global_dns = rancher2.GlobalDns("foo", - name="foo", - fqdn="foo.example.com", - provider_id=foo.id, - multi_cluster_app_id="") - ``` - - ## Import - - Global DNS Entry can be imported using the Rancher Global DNS ID - - ```sh - $ pulumi import rancher2:index/globalDns:GlobalDns foo - ``` - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations for Global DNS (map) - :param pulumi.Input[str] fqdn: The Global DNS record (string) - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for Global DNS (map) - :param pulumi.Input[str] multi_cluster_app_id: The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - :param pulumi.Input[str] name: The name of the Global DNS (string) - :param pulumi.Input[Sequence[pulumi.Input[str]]] project_ids: A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - :param pulumi.Input[str] provider_id: The Global DNS provider ID to use (string) - :param pulumi.Input[int] ttl: TTL in seconds for DNS record. Default: `300` (int) - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: GlobalDnsArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Provides a Rancher V2 Global DNS resource. This can be used to create Global DNS records for Rancher V2. - - ## Example Usage - - ```python - import pulumi - import pulumi_rancher2 as rancher2 - - # Create a new rancher2 Global DNS Provider - foo = rancher2.GlobalDnsProvider("foo", - name="foo", - root_domain="example.com", - route53_config={ - "access_key": "YYYYYYYYYYYYYYYYYYYY", - "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "zone_type": "private", - "region": "us-east-1", - }) - # Create a new rancher2 Global DNS using project IDs - foo_global_dns = rancher2.GlobalDns("foo", - name="foo", - fqdn="foo.example.com", - provider_id=foo.id, - project_ids=[ - "project1", - "project2", - ]) - ``` - - ```python - import pulumi - import pulumi_rancher2 as rancher2 - - # Create a new rancher2 Global DNS Provider - foo = rancher2.GlobalDnsProvider("foo", - name="foo", - root_domain="example.com", - route53_config={ - "access_key": "YYYYYYYYYYYYYYYYYYYY", - "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "zone_type": "private", - "region": "us-east-1", - }) - # Create a new rancher2 Global DNS using MultiClusterApp ID - foo_global_dns = rancher2.GlobalDns("foo", - name="foo", - fqdn="foo.example.com", - provider_id=foo.id, - multi_cluster_app_id="") - ``` - - ## Import - - Global DNS Entry can be imported using the Rancher Global DNS ID - - ```sh - $ pulumi import rancher2:index/globalDns:GlobalDns foo - ``` - - :param str resource_name: The name of the resource. - :param GlobalDnsArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(GlobalDnsArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - fqdn: Optional[pulumi.Input[str]] = None, - labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - multi_cluster_app_id: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None, - project_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - provider_id: Optional[pulumi.Input[str]] = None, - ttl: Optional[pulumi.Input[int]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = GlobalDnsArgs.__new__(GlobalDnsArgs) - - __props__.__dict__["annotations"] = annotations - if fqdn is None and not opts.urn: - raise TypeError("Missing required property 'fqdn'") - __props__.__dict__["fqdn"] = fqdn - __props__.__dict__["labels"] = labels - __props__.__dict__["multi_cluster_app_id"] = multi_cluster_app_id - __props__.__dict__["name"] = name - __props__.__dict__["project_ids"] = project_ids - if provider_id is None and not opts.urn: - raise TypeError("Missing required property 'provider_id'") - __props__.__dict__["provider_id"] = provider_id - __props__.__dict__["ttl"] = ttl - super(GlobalDns, __self__).__init__( - 'rancher2:index/globalDns:GlobalDns', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None, - annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - fqdn: Optional[pulumi.Input[str]] = None, - labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - multi_cluster_app_id: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None, - project_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - provider_id: Optional[pulumi.Input[str]] = None, - ttl: Optional[pulumi.Input[int]] = None) -> 'GlobalDns': - """ - Get an existing GlobalDns resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations for Global DNS (map) - :param pulumi.Input[str] fqdn: The Global DNS record (string) - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for Global DNS (map) - :param pulumi.Input[str] multi_cluster_app_id: The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - :param pulumi.Input[str] name: The name of the Global DNS (string) - :param pulumi.Input[Sequence[pulumi.Input[str]]] project_ids: A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - :param pulumi.Input[str] provider_id: The Global DNS provider ID to use (string) - :param pulumi.Input[int] ttl: TTL in seconds for DNS record. Default: `300` (int) - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = _GlobalDnsState.__new__(_GlobalDnsState) - - __props__.__dict__["annotations"] = annotations - __props__.__dict__["fqdn"] = fqdn - __props__.__dict__["labels"] = labels - __props__.__dict__["multi_cluster_app_id"] = multi_cluster_app_id - __props__.__dict__["name"] = name - __props__.__dict__["project_ids"] = project_ids - __props__.__dict__["provider_id"] = provider_id - __props__.__dict__["ttl"] = ttl - return GlobalDns(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter - def annotations(self) -> pulumi.Output[Mapping[str, str]]: - """ - Annotations for Global DNS (map) - """ - return pulumi.get(self, "annotations") - - @property - @pulumi.getter - def fqdn(self) -> pulumi.Output[str]: - """ - The Global DNS record (string) - """ - return pulumi.get(self, "fqdn") - - @property - @pulumi.getter - def labels(self) -> pulumi.Output[Mapping[str, str]]: - """ - Labels for Global DNS (map) - """ - return pulumi.get(self, "labels") - - @property - @pulumi.getter(name="multiClusterAppId") - def multi_cluster_app_id(self) -> pulumi.Output[Optional[str]]: - """ - The MultiCluster App ID to assign to the Global DNS. Conflicts with `project_ids` (string) - """ - return pulumi.get(self, "multi_cluster_app_id") - - @property - @pulumi.getter - def name(self) -> pulumi.Output[str]: - """ - The name of the Global DNS (string) - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="projectIds") - def project_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - A list of project_ids to assign to the Global DNS. Conflicts with `multi_cluster_app_id` (list(string)) - """ - return pulumi.get(self, "project_ids") - - @property - @pulumi.getter(name="providerId") - def provider_id(self) -> pulumi.Output[str]: - """ - The Global DNS provider ID to use (string) - """ - return pulumi.get(self, "provider_id") - - @property - @pulumi.getter - def ttl(self) -> pulumi.Output[Optional[int]]: - """ - TTL in seconds for DNS record. Default: `300` (int) - """ - return pulumi.get(self, "ttl") - diff --git a/sdk/python/pulumi_rancher2/global_dns_provider.py b/sdk/python/pulumi_rancher2/global_dns_provider.py deleted file mode 100644 index a5e23aea4..000000000 --- a/sdk/python/pulumi_rancher2/global_dns_provider.py +++ /dev/null @@ -1,534 +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 copy -import warnings -import sys -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -if sys.version_info >= (3, 11): - from typing import NotRequired, TypedDict, TypeAlias -else: - from typing_extensions import NotRequired, TypedDict, TypeAlias -from . import _utilities -from . import outputs -from ._inputs import * - -__all__ = ['GlobalDnsProviderArgs', 'GlobalDnsProvider'] - -@pulumi.input_type -class GlobalDnsProviderArgs: - def __init__(__self__, *, - root_domain: pulumi.Input[str], - alidns_config: Optional[pulumi.Input['GlobalDnsProviderAlidnsConfigArgs']] = None, - annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - cloudflare_config: Optional[pulumi.Input['GlobalDnsProviderCloudflareConfigArgs']] = None, - labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - name: Optional[pulumi.Input[str]] = None, - route53_config: Optional[pulumi.Input['GlobalDnsProviderRoute53ConfigArgs']] = None): - """ - The set of arguments for constructing a GlobalDnsProvider resource. - :param pulumi.Input[str] root_domain: The user ID to assign Global DNS Provider (string) - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations for Global DNS Provider (map) - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for Global DNS Provider (map) - :param pulumi.Input[str] name: The name of the Global DNS Provider (string) - """ - pulumi.set(__self__, "root_domain", root_domain) - if alidns_config is not None: - pulumi.set(__self__, "alidns_config", alidns_config) - if annotations is not None: - pulumi.set(__self__, "annotations", annotations) - if cloudflare_config is not None: - pulumi.set(__self__, "cloudflare_config", cloudflare_config) - if labels is not None: - pulumi.set(__self__, "labels", labels) - if name is not None: - pulumi.set(__self__, "name", name) - if route53_config is not None: - pulumi.set(__self__, "route53_config", route53_config) - - @property - @pulumi.getter(name="rootDomain") - def root_domain(self) -> pulumi.Input[str]: - """ - The user ID to assign Global DNS Provider (string) - """ - return pulumi.get(self, "root_domain") - - @root_domain.setter - def root_domain(self, value: pulumi.Input[str]): - pulumi.set(self, "root_domain", value) - - @property - @pulumi.getter(name="alidnsConfig") - def alidns_config(self) -> Optional[pulumi.Input['GlobalDnsProviderAlidnsConfigArgs']]: - return pulumi.get(self, "alidns_config") - - @alidns_config.setter - def alidns_config(self, value: Optional[pulumi.Input['GlobalDnsProviderAlidnsConfigArgs']]): - pulumi.set(self, "alidns_config", value) - - @property - @pulumi.getter - def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - Annotations for Global DNS Provider (map) - """ - return pulumi.get(self, "annotations") - - @annotations.setter - def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "annotations", value) - - @property - @pulumi.getter(name="cloudflareConfig") - def cloudflare_config(self) -> Optional[pulumi.Input['GlobalDnsProviderCloudflareConfigArgs']]: - return pulumi.get(self, "cloudflare_config") - - @cloudflare_config.setter - def cloudflare_config(self, value: Optional[pulumi.Input['GlobalDnsProviderCloudflareConfigArgs']]): - pulumi.set(self, "cloudflare_config", value) - - @property - @pulumi.getter - def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - Labels for Global DNS Provider (map) - """ - return pulumi.get(self, "labels") - - @labels.setter - def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "labels", value) - - @property - @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - """ - The name of the Global DNS Provider (string) - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter(name="route53Config") - def route53_config(self) -> Optional[pulumi.Input['GlobalDnsProviderRoute53ConfigArgs']]: - return pulumi.get(self, "route53_config") - - @route53_config.setter - def route53_config(self, value: Optional[pulumi.Input['GlobalDnsProviderRoute53ConfigArgs']]): - pulumi.set(self, "route53_config", value) - - -@pulumi.input_type -class _GlobalDnsProviderState: - def __init__(__self__, *, - alidns_config: Optional[pulumi.Input['GlobalDnsProviderAlidnsConfigArgs']] = None, - annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - cloudflare_config: Optional[pulumi.Input['GlobalDnsProviderCloudflareConfigArgs']] = None, - dns_provider: Optional[pulumi.Input[str]] = None, - labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - name: Optional[pulumi.Input[str]] = None, - root_domain: Optional[pulumi.Input[str]] = None, - route53_config: Optional[pulumi.Input['GlobalDnsProviderRoute53ConfigArgs']] = None): - """ - Input properties used for looking up and filtering GlobalDnsProvider resources. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations for Global DNS Provider (map) - :param pulumi.Input[str] dns_provider: (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for Global DNS Provider (map) - :param pulumi.Input[str] name: The name of the Global DNS Provider (string) - :param pulumi.Input[str] root_domain: The user ID to assign Global DNS Provider (string) - """ - if alidns_config is not None: - pulumi.set(__self__, "alidns_config", alidns_config) - if annotations is not None: - pulumi.set(__self__, "annotations", annotations) - if cloudflare_config is not None: - pulumi.set(__self__, "cloudflare_config", cloudflare_config) - if dns_provider is not None: - pulumi.set(__self__, "dns_provider", dns_provider) - if labels is not None: - pulumi.set(__self__, "labels", labels) - if name is not None: - pulumi.set(__self__, "name", name) - if root_domain is not None: - pulumi.set(__self__, "root_domain", root_domain) - if route53_config is not None: - pulumi.set(__self__, "route53_config", route53_config) - - @property - @pulumi.getter(name="alidnsConfig") - def alidns_config(self) -> Optional[pulumi.Input['GlobalDnsProviderAlidnsConfigArgs']]: - return pulumi.get(self, "alidns_config") - - @alidns_config.setter - def alidns_config(self, value: Optional[pulumi.Input['GlobalDnsProviderAlidnsConfigArgs']]): - pulumi.set(self, "alidns_config", value) - - @property - @pulumi.getter - def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - Annotations for Global DNS Provider (map) - """ - return pulumi.get(self, "annotations") - - @annotations.setter - def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "annotations", value) - - @property - @pulumi.getter(name="cloudflareConfig") - def cloudflare_config(self) -> Optional[pulumi.Input['GlobalDnsProviderCloudflareConfigArgs']]: - return pulumi.get(self, "cloudflare_config") - - @cloudflare_config.setter - def cloudflare_config(self, value: Optional[pulumi.Input['GlobalDnsProviderCloudflareConfigArgs']]): - pulumi.set(self, "cloudflare_config", value) - - @property - @pulumi.getter(name="dnsProvider") - def dns_provider(self) -> Optional[pulumi.Input[str]]: - """ - (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - """ - return pulumi.get(self, "dns_provider") - - @dns_provider.setter - def dns_provider(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "dns_provider", value) - - @property - @pulumi.getter - def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - Labels for Global DNS Provider (map) - """ - return pulumi.get(self, "labels") - - @labels.setter - def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "labels", value) - - @property - @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - """ - The name of the Global DNS Provider (string) - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter(name="rootDomain") - def root_domain(self) -> Optional[pulumi.Input[str]]: - """ - The user ID to assign Global DNS Provider (string) - """ - return pulumi.get(self, "root_domain") - - @root_domain.setter - def root_domain(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "root_domain", value) - - @property - @pulumi.getter(name="route53Config") - def route53_config(self) -> Optional[pulumi.Input['GlobalDnsProviderRoute53ConfigArgs']]: - return pulumi.get(self, "route53_config") - - @route53_config.setter - def route53_config(self, value: Optional[pulumi.Input['GlobalDnsProviderRoute53ConfigArgs']]): - pulumi.set(self, "route53_config", value) - - -class GlobalDnsProvider(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - alidns_config: Optional[pulumi.Input[Union['GlobalDnsProviderAlidnsConfigArgs', 'GlobalDnsProviderAlidnsConfigArgsDict']]] = None, - annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - cloudflare_config: Optional[pulumi.Input[Union['GlobalDnsProviderCloudflareConfigArgs', 'GlobalDnsProviderCloudflareConfigArgsDict']]] = None, - labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - name: Optional[pulumi.Input[str]] = None, - root_domain: Optional[pulumi.Input[str]] = None, - route53_config: Optional[pulumi.Input[Union['GlobalDnsProviderRoute53ConfigArgs', 'GlobalDnsProviderRoute53ConfigArgsDict']]] = None, - __props__=None): - """ - Provides a Rancher V2 Global DNS Provider resource. This can be used to create Global DNS Providers for Rancher V2. Supported Global DNS Providers: `alidns, cloudflare, route53` - - ## Example Usage - - ```python - import pulumi - import pulumi_rancher2 as rancher2 - - # Create a new rancher2 Global DNS Provider - alidns - foo = rancher2.GlobalDnsProvider("foo", - name="foo", - root_domain="example.com", - alidns_config={ - "access_key": "YYYYYYYYYYYYYYYYYYYY", - "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - }) - ``` - - ```python - import pulumi - import pulumi_rancher2 as rancher2 - - # Create a new rancher2 Global DNS Provider - cloudflare - foo = rancher2.GlobalDnsProvider("foo", - name="foo", - root_domain="example.com", - cloudflare_config={ - "api_email": "test@test.local", - "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "proxy_setting": True, - }) - ``` - - ```python - import pulumi - import pulumi_rancher2 as rancher2 - - # Create a new rancher2 Global DNS Provider - route53 - foo = rancher2.GlobalDnsProvider("foo", - name="foo", - root_domain="example.com", - route53_config={ - "access_key": "YYYYYYYYYYYYYYYYYYYY", - "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "zone_type": "private", - "region": "us-east-1", - }) - ``` - - ## Import - - Global DNS Providers can be imported using the Rancher Global DNS Provider ID - - ```sh - $ pulumi import rancher2:index/globalDnsProvider:GlobalDnsProvider foo - ``` - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations for Global DNS Provider (map) - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for Global DNS Provider (map) - :param pulumi.Input[str] name: The name of the Global DNS Provider (string) - :param pulumi.Input[str] root_domain: The user ID to assign Global DNS Provider (string) - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: GlobalDnsProviderArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Provides a Rancher V2 Global DNS Provider resource. This can be used to create Global DNS Providers for Rancher V2. Supported Global DNS Providers: `alidns, cloudflare, route53` - - ## Example Usage - - ```python - import pulumi - import pulumi_rancher2 as rancher2 - - # Create a new rancher2 Global DNS Provider - alidns - foo = rancher2.GlobalDnsProvider("foo", - name="foo", - root_domain="example.com", - alidns_config={ - "access_key": "YYYYYYYYYYYYYYYYYYYY", - "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - }) - ``` - - ```python - import pulumi - import pulumi_rancher2 as rancher2 - - # Create a new rancher2 Global DNS Provider - cloudflare - foo = rancher2.GlobalDnsProvider("foo", - name="foo", - root_domain="example.com", - cloudflare_config={ - "api_email": "test@test.local", - "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "proxy_setting": True, - }) - ``` - - ```python - import pulumi - import pulumi_rancher2 as rancher2 - - # Create a new rancher2 Global DNS Provider - route53 - foo = rancher2.GlobalDnsProvider("foo", - name="foo", - root_domain="example.com", - route53_config={ - "access_key": "YYYYYYYYYYYYYYYYYYYY", - "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "zone_type": "private", - "region": "us-east-1", - }) - ``` - - ## Import - - Global DNS Providers can be imported using the Rancher Global DNS Provider ID - - ```sh - $ pulumi import rancher2:index/globalDnsProvider:GlobalDnsProvider foo - ``` - - :param str resource_name: The name of the resource. - :param GlobalDnsProviderArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(GlobalDnsProviderArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - alidns_config: Optional[pulumi.Input[Union['GlobalDnsProviderAlidnsConfigArgs', 'GlobalDnsProviderAlidnsConfigArgsDict']]] = None, - annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - cloudflare_config: Optional[pulumi.Input[Union['GlobalDnsProviderCloudflareConfigArgs', 'GlobalDnsProviderCloudflareConfigArgsDict']]] = None, - labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - name: Optional[pulumi.Input[str]] = None, - root_domain: Optional[pulumi.Input[str]] = None, - route53_config: Optional[pulumi.Input[Union['GlobalDnsProviderRoute53ConfigArgs', 'GlobalDnsProviderRoute53ConfigArgsDict']]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = GlobalDnsProviderArgs.__new__(GlobalDnsProviderArgs) - - __props__.__dict__["alidns_config"] = alidns_config - __props__.__dict__["annotations"] = annotations - __props__.__dict__["cloudflare_config"] = cloudflare_config - __props__.__dict__["labels"] = labels - __props__.__dict__["name"] = name - if root_domain is None and not opts.urn: - raise TypeError("Missing required property 'root_domain'") - __props__.__dict__["root_domain"] = root_domain - __props__.__dict__["route53_config"] = route53_config - __props__.__dict__["dns_provider"] = None - super(GlobalDnsProvider, __self__).__init__( - 'rancher2:index/globalDnsProvider:GlobalDnsProvider', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None, - alidns_config: Optional[pulumi.Input[Union['GlobalDnsProviderAlidnsConfigArgs', 'GlobalDnsProviderAlidnsConfigArgsDict']]] = None, - annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - cloudflare_config: Optional[pulumi.Input[Union['GlobalDnsProviderCloudflareConfigArgs', 'GlobalDnsProviderCloudflareConfigArgsDict']]] = None, - dns_provider: Optional[pulumi.Input[str]] = None, - labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - name: Optional[pulumi.Input[str]] = None, - root_domain: Optional[pulumi.Input[str]] = None, - route53_config: Optional[pulumi.Input[Union['GlobalDnsProviderRoute53ConfigArgs', 'GlobalDnsProviderRoute53ConfigArgsDict']]] = None) -> 'GlobalDnsProvider': - """ - Get an existing GlobalDnsProvider resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations for Global DNS Provider (map) - :param pulumi.Input[str] dns_provider: (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for Global DNS Provider (map) - :param pulumi.Input[str] name: The name of the Global DNS Provider (string) - :param pulumi.Input[str] root_domain: The user ID to assign Global DNS Provider (string) - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = _GlobalDnsProviderState.__new__(_GlobalDnsProviderState) - - __props__.__dict__["alidns_config"] = alidns_config - __props__.__dict__["annotations"] = annotations - __props__.__dict__["cloudflare_config"] = cloudflare_config - __props__.__dict__["dns_provider"] = dns_provider - __props__.__dict__["labels"] = labels - __props__.__dict__["name"] = name - __props__.__dict__["root_domain"] = root_domain - __props__.__dict__["route53_config"] = route53_config - return GlobalDnsProvider(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter(name="alidnsConfig") - def alidns_config(self) -> pulumi.Output[Optional['outputs.GlobalDnsProviderAlidnsConfig']]: - return pulumi.get(self, "alidns_config") - - @property - @pulumi.getter - def annotations(self) -> pulumi.Output[Mapping[str, str]]: - """ - Annotations for Global DNS Provider (map) - """ - return pulumi.get(self, "annotations") - - @property - @pulumi.getter(name="cloudflareConfig") - def cloudflare_config(self) -> pulumi.Output[Optional['outputs.GlobalDnsProviderCloudflareConfig']]: - return pulumi.get(self, "cloudflare_config") - - @property - @pulumi.getter(name="dnsProvider") - def dns_provider(self) -> pulumi.Output[str]: - """ - (Computed) The Global DNS Provider `alidns, cloudflare, route53` (string) - """ - return pulumi.get(self, "dns_provider") - - @property - @pulumi.getter - def labels(self) -> pulumi.Output[Mapping[str, str]]: - """ - Labels for Global DNS Provider (map) - """ - return pulumi.get(self, "labels") - - @property - @pulumi.getter - def name(self) -> pulumi.Output[str]: - """ - The name of the Global DNS Provider (string) - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="rootDomain") - def root_domain(self) -> pulumi.Output[str]: - """ - The user ID to assign Global DNS Provider (string) - """ - return pulumi.get(self, "root_domain") - - @property - @pulumi.getter(name="route53Config") - def route53_config(self) -> pulumi.Output[Optional['outputs.GlobalDnsProviderRoute53Config']]: - return pulumi.get(self, "route53_config") - diff --git a/sdk/python/pulumi_rancher2/node_template.py b/sdk/python/pulumi_rancher2/node_template.py index c8d27bdc2..f5f8eaeab 100644 --- a/sdk/python/pulumi_rancher2/node_template.py +++ b/sdk/python/pulumi_rancher2/node_template.py @@ -1094,6 +1094,14 @@ def __init__(__self__, Due to [this feature](https://github.com/rancher/rancher/pull/23718) included on Rancher v2.3.3, `NodeTemplate` are now global scoped objects with RBAC around them, instead of user scoped objects as they were. This means that existing node templates `id` field is changing on upgrade. Provider implements `fixNodeTemplateID()` that will update tfstate with proper id. + ## Import + + Node Template can be imported using the Rancher Node Template ID + + ```sh + $ pulumi import rancher2:index/nodeTemplate:NodeTemplate foo <node_template_id> + ``` + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Union['NodeTemplateAmazonec2ConfigArgs', 'NodeTemplateAmazonec2ConfigArgsDict']] amazonec2_config: AWS config for the Node Template (list maxitems:1) @@ -1271,6 +1279,14 @@ def __init__(__self__, Due to [this feature](https://github.com/rancher/rancher/pull/23718) included on Rancher v2.3.3, `NodeTemplate` are now global scoped objects with RBAC around them, instead of user scoped objects as they were. This means that existing node templates `id` field is changing on upgrade. Provider implements `fixNodeTemplateID()` that will update tfstate with proper id. + ## Import + + Node Template can be imported using the Rancher Node Template ID + + ```sh + $ pulumi import rancher2:index/nodeTemplate:NodeTemplate foo <node_template_id> + ``` + :param str resource_name: The name of the resource. :param NodeTemplateArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_rancher2/outputs.py b/sdk/python/pulumi_rancher2/outputs.py index 6e50bd814..c7cd699ff 100644 --- a/sdk/python/pulumi_rancher2/outputs.py +++ b/sdk/python/pulumi_rancher2/outputs.py @@ -230,9 +230,6 @@ 'ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptions', 'EtcdBackupBackupConfig', 'EtcdBackupBackupConfigS3BackupConfig', - 'GlobalDnsProviderAlidnsConfig', - 'GlobalDnsProviderCloudflareConfig', - 'GlobalDnsProviderRoute53Config', 'GlobalRoleRule', 'MachineConfigV2Amazonec2Config', 'MachineConfigV2AzureConfig', @@ -460,9 +457,6 @@ 'GetClusterV2RkeConfigUpgradeStrategyWorkerDrainOptionsResult', 'GetEtcdBackupBackupConfigResult', 'GetEtcdBackupBackupConfigS3BackupConfigResult', - 'GetGlobalDnsProviderAlidnsConfigResult', - 'GetGlobalDnsProviderCloudflareConfigResult', - 'GetGlobalDnsProviderRoute53ConfigResult', 'GetGlobalRoleRuleResult', 'GetMultiClusterAppAnswerResult', 'GetMultiClusterAppMemberResult', @@ -1628,6 +1622,8 @@ def __key_warning(key: str): suggest = "node_pools" elif key == "nodeResourceGroup": suggest = "node_resource_group" + elif key == "outboundType": + suggest = "outbound_type" elif key == "privateCluster": suggest = "private_cluster" elif key == "virtualNetwork": @@ -1672,6 +1668,7 @@ def __init__(__self__, *, network_service_cidr: Optional[str] = None, node_pools: Optional[Sequence['outputs.ClusterAksConfigV2NodePool']] = None, node_resource_group: Optional[str] = None, + outbound_type: Optional[str] = None, private_cluster: Optional[bool] = None, subnet: Optional[str] = None, tags: Optional[Mapping[str, str]] = None, @@ -1703,6 +1700,7 @@ def __init__(__self__, *, :param str network_service_cidr: The AKS network service cidr :param Sequence['ClusterAksConfigV2NodePoolArgs'] node_pools: The AKS node pools to use. Required if `import=false` :param str node_resource_group: The AKS node resource group name + :param str outbound_type: The AKS outbound type for the egress traffic :param bool private_cluster: Is AKS cluster private? :param str subnet: The AKS subnet :param Mapping[str, str] tags: The AKS cluster tags @@ -1756,6 +1754,8 @@ def __init__(__self__, *, pulumi.set(__self__, "node_pools", node_pools) if node_resource_group is not None: pulumi.set(__self__, "node_resource_group", node_resource_group) + if outbound_type is not None: + pulumi.set(__self__, "outbound_type", outbound_type) if private_cluster is not None: pulumi.set(__self__, "private_cluster", private_cluster) if subnet is not None: @@ -1967,6 +1967,14 @@ def node_resource_group(self) -> Optional[str]: """ return pulumi.get(self, "node_resource_group") + @property + @pulumi.getter(name="outboundType") + def outbound_type(self) -> Optional[str]: + """ + The AKS outbound type for the egress traffic + """ + return pulumi.get(self, "outbound_type") + @property @pulumi.getter(name="privateCluster") def private_cluster(self) -> Optional[bool]: @@ -21853,218 +21861,6 @@ def secret_key(self) -> Optional[str]: return pulumi.get(self, "secret_key") -@pulumi.output_type -class GlobalDnsProviderAlidnsConfig(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "accessKey": - suggest = "access_key" - elif key == "secretKey": - suggest = "secret_key" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in GlobalDnsProviderAlidnsConfig. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - GlobalDnsProviderAlidnsConfig.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - GlobalDnsProviderAlidnsConfig.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - access_key: str, - secret_key: str): - """ - :param str access_key: The AWS Access key (string) - :param str secret_key: The AWS Secret key (string) - """ - pulumi.set(__self__, "access_key", access_key) - pulumi.set(__self__, "secret_key", secret_key) - - @property - @pulumi.getter(name="accessKey") - def access_key(self) -> str: - """ - The AWS Access key (string) - """ - return pulumi.get(self, "access_key") - - @property - @pulumi.getter(name="secretKey") - def secret_key(self) -> str: - """ - The AWS Secret key (string) - """ - return pulumi.get(self, "secret_key") - - -@pulumi.output_type -class GlobalDnsProviderCloudflareConfig(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "apiEmail": - suggest = "api_email" - elif key == "apiKey": - suggest = "api_key" - elif key == "proxySetting": - suggest = "proxy_setting" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in GlobalDnsProviderCloudflareConfig. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - GlobalDnsProviderCloudflareConfig.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - GlobalDnsProviderCloudflareConfig.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - api_email: str, - api_key: str, - proxy_setting: Optional[bool] = None): - """ - :param str api_email: The CloudFlare API Email (string) - :param str api_key: The CloudFlare API Key (string) - :param bool proxy_setting: CloudFlare Proxy Setting. Default: `false` (bool) - """ - pulumi.set(__self__, "api_email", api_email) - pulumi.set(__self__, "api_key", api_key) - if proxy_setting is not None: - pulumi.set(__self__, "proxy_setting", proxy_setting) - - @property - @pulumi.getter(name="apiEmail") - def api_email(self) -> str: - """ - The CloudFlare API Email (string) - """ - return pulumi.get(self, "api_email") - - @property - @pulumi.getter(name="apiKey") - def api_key(self) -> str: - """ - The CloudFlare API Key (string) - """ - return pulumi.get(self, "api_key") - - @property - @pulumi.getter(name="proxySetting") - def proxy_setting(self) -> Optional[bool]: - """ - CloudFlare Proxy Setting. Default: `false` (bool) - """ - return pulumi.get(self, "proxy_setting") - - -@pulumi.output_type -class GlobalDnsProviderRoute53Config(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "accessKey": - suggest = "access_key" - elif key == "secretKey": - suggest = "secret_key" - elif key == "credentialsPath": - suggest = "credentials_path" - elif key == "roleArn": - suggest = "role_arn" - elif key == "zoneType": - suggest = "zone_type" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in GlobalDnsProviderRoute53Config. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - GlobalDnsProviderRoute53Config.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - GlobalDnsProviderRoute53Config.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - access_key: str, - secret_key: str, - credentials_path: Optional[str] = None, - region: Optional[str] = None, - role_arn: Optional[str] = None, - zone_type: Optional[str] = None): - """ - :param str access_key: The AWS Access key (string) - :param str secret_key: The AWS Secret key (string) - :param str credentials_path: The AWS credentials path. Default: `"/.aws"` (string) - :param str region: The AWS Region. Default: `"us-west-2"` (string) - :param str role_arn: The AWS Role ARN (string) - :param str zone_type: The Route53 zone type `public, private`. Default: `"public"` (string) - """ - pulumi.set(__self__, "access_key", access_key) - pulumi.set(__self__, "secret_key", secret_key) - if credentials_path is not None: - pulumi.set(__self__, "credentials_path", credentials_path) - if region is not None: - pulumi.set(__self__, "region", region) - if role_arn is not None: - pulumi.set(__self__, "role_arn", role_arn) - if zone_type is not None: - pulumi.set(__self__, "zone_type", zone_type) - - @property - @pulumi.getter(name="accessKey") - def access_key(self) -> str: - """ - The AWS Access key (string) - """ - return pulumi.get(self, "access_key") - - @property - @pulumi.getter(name="secretKey") - def secret_key(self) -> str: - """ - The AWS Secret key (string) - """ - return pulumi.get(self, "secret_key") - - @property - @pulumi.getter(name="credentialsPath") - def credentials_path(self) -> Optional[str]: - """ - The AWS credentials path. Default: `"/.aws"` (string) - """ - return pulumi.get(self, "credentials_path") - - @property - @pulumi.getter - def region(self) -> Optional[str]: - """ - The AWS Region. Default: `"us-west-2"` (string) - """ - return pulumi.get(self, "region") - - @property - @pulumi.getter(name="roleArn") - def role_arn(self) -> Optional[str]: - """ - The AWS Role ARN (string) - """ - return pulumi.get(self, "role_arn") - - @property - @pulumi.getter(name="zoneType") - def zone_type(self) -> Optional[str]: - """ - The Route53 zone type `public, private`. Default: `"public"` (string) - """ - return pulumi.get(self, "zone_type") - - @pulumi.output_type class GlobalRoleRule(dict): @staticmethod @@ -30113,7 +29909,8 @@ def __init__(__self__, *, imported: Optional[bool] = None, kubernetes_version: Optional[str] = None, network_plugin: Optional[str] = None, - node_pools: Optional[Sequence['outputs.GetClusterAksConfigV2NodePoolResult']] = None): + node_pools: Optional[Sequence['outputs.GetClusterAksConfigV2NodePoolResult']] = None, + outbound_type: Optional[str] = None): """ :param str cloud_credential_id: The AKS Cloud Credential ID to use :param bool http_application_routing: Enable AKS http application routing? @@ -30145,6 +29942,7 @@ def __init__(__self__, *, :param str kubernetes_version: The kubernetes master version. Required if `import=false` :param str network_plugin: The AKS network plugin. Required if `import=false` :param Sequence['GetClusterAksConfigV2NodePoolArgs'] node_pools: The AKS node pools to use. Required if `import=false` + :param str outbound_type: The AKS outbound type for the egress traffic """ pulumi.set(__self__, "cloud_credential_id", cloud_credential_id) pulumi.set(__self__, "http_application_routing", http_application_routing) @@ -30184,6 +29982,8 @@ def __init__(__self__, *, pulumi.set(__self__, "network_plugin", network_plugin) if node_pools is not None: pulumi.set(__self__, "node_pools", node_pools) + if outbound_type is not None: + pulumi.set(__self__, "outbound_type", outbound_type) @property @pulumi.getter(name="cloudCredentialId") @@ -30425,6 +30225,14 @@ def node_pools(self) -> Optional[Sequence['outputs.GetClusterAksConfigV2NodePool """ return pulumi.get(self, "node_pools") + @property + @pulumi.getter(name="outboundType") + def outbound_type(self) -> Optional[str]: + """ + The AKS outbound type for the egress traffic + """ + return pulumi.get(self, "outbound_type") + @pulumi.output_type class GetClusterAksConfigV2NodePoolResult(dict): @@ -43020,103 +42828,6 @@ def secret_key(self) -> Optional[str]: return pulumi.get(self, "secret_key") -@pulumi.output_type -class GetGlobalDnsProviderAlidnsConfigResult(dict): - def __init__(__self__, *, - access_key: str, - secret_key: str): - pulumi.set(__self__, "access_key", access_key) - pulumi.set(__self__, "secret_key", secret_key) - - @property - @pulumi.getter(name="accessKey") - def access_key(self) -> str: - return pulumi.get(self, "access_key") - - @property - @pulumi.getter(name="secretKey") - def secret_key(self) -> str: - return pulumi.get(self, "secret_key") - - -@pulumi.output_type -class GetGlobalDnsProviderCloudflareConfigResult(dict): - def __init__(__self__, *, - api_email: str, - api_key: str, - proxy_setting: Optional[bool] = None): - pulumi.set(__self__, "api_email", api_email) - pulumi.set(__self__, "api_key", api_key) - if proxy_setting is not None: - pulumi.set(__self__, "proxy_setting", proxy_setting) - - @property - @pulumi.getter(name="apiEmail") - def api_email(self) -> str: - return pulumi.get(self, "api_email") - - @property - @pulumi.getter(name="apiKey") - def api_key(self) -> str: - return pulumi.get(self, "api_key") - - @property - @pulumi.getter(name="proxySetting") - def proxy_setting(self) -> Optional[bool]: - return pulumi.get(self, "proxy_setting") - - -@pulumi.output_type -class GetGlobalDnsProviderRoute53ConfigResult(dict): - def __init__(__self__, *, - access_key: str, - secret_key: str, - credentials_path: Optional[str] = None, - region: Optional[str] = None, - role_arn: Optional[str] = None, - zone_type: Optional[str] = None): - pulumi.set(__self__, "access_key", access_key) - pulumi.set(__self__, "secret_key", secret_key) - if credentials_path is not None: - pulumi.set(__self__, "credentials_path", credentials_path) - if region is not None: - pulumi.set(__self__, "region", region) - if role_arn is not None: - pulumi.set(__self__, "role_arn", role_arn) - if zone_type is not None: - pulumi.set(__self__, "zone_type", zone_type) - - @property - @pulumi.getter(name="accessKey") - def access_key(self) -> str: - return pulumi.get(self, "access_key") - - @property - @pulumi.getter(name="secretKey") - def secret_key(self) -> str: - return pulumi.get(self, "secret_key") - - @property - @pulumi.getter(name="credentialsPath") - def credentials_path(self) -> Optional[str]: - return pulumi.get(self, "credentials_path") - - @property - @pulumi.getter - def region(self) -> Optional[str]: - return pulumi.get(self, "region") - - @property - @pulumi.getter(name="roleArn") - def role_arn(self) -> Optional[str]: - return pulumi.get(self, "role_arn") - - @property - @pulumi.getter(name="zoneType") - def zone_type(self) -> Optional[str]: - return pulumi.get(self, "zone_type") - - @pulumi.output_type class GetGlobalRoleRuleResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_rancher2/pulumi-plugin.json b/sdk/python/pulumi_rancher2/pulumi-plugin.json index 95dd252f9..be484c958 100644 --- a/sdk/python/pulumi_rancher2/pulumi-plugin.json +++ b/sdk/python/pulumi_rancher2/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "rancher2", - "version": "7.0.0-alpha.0+dev" + "version": "8.0.0-alpha.0+dev" } diff --git a/sdk/python/pulumi_rancher2/user.py b/sdk/python/pulumi_rancher2/user.py index dd2760aed..52634ce0a 100644 --- a/sdk/python/pulumi_rancher2/user.py +++ b/sdk/python/pulumi_rancher2/user.py @@ -24,6 +24,7 @@ def __init__(__self__, *, annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, enabled: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + must_change_password: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a User resource. @@ -31,6 +32,7 @@ def __init__(__self__, *, :param pulumi.Input[str] username: The user username (string) :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations for global role binding (map) :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for global role binding (map) + :param pulumi.Input[bool] must_change_password: The user must change password at first login (bool) :param pulumi.Input[str] name: The user full name (string) """ pulumi.set(__self__, "password", password) @@ -41,6 +43,8 @@ def __init__(__self__, *, pulumi.set(__self__, "enabled", enabled) if labels is not None: pulumi.set(__self__, "labels", labels) + if must_change_password is not None: + pulumi.set(__self__, "must_change_password", must_change_password) if name is not None: pulumi.set(__self__, "name", name) @@ -101,6 +105,18 @@ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "labels", value) + @property + @pulumi.getter(name="mustChangePassword") + def must_change_password(self) -> Optional[pulumi.Input[bool]]: + """ + The user must change password at first login (bool) + """ + return pulumi.get(self, "must_change_password") + + @must_change_password.setter + def must_change_password(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "must_change_password", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -120,6 +136,7 @@ def __init__(__self__, *, annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, enabled: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + must_change_password: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, password: Optional[pulumi.Input[str]] = None, principal_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -128,6 +145,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering User resources. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations for global role binding (map) :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for global role binding (map) + :param pulumi.Input[bool] must_change_password: The user must change password at first login (bool) :param pulumi.Input[str] name: The user full name (string) :param pulumi.Input[str] password: The user password (string) :param pulumi.Input[Sequence[pulumi.Input[str]]] principal_ids: (Computed) The user principal IDs (list) @@ -139,6 +157,8 @@ def __init__(__self__, *, pulumi.set(__self__, "enabled", enabled) if labels is not None: pulumi.set(__self__, "labels", labels) + if must_change_password is not None: + pulumi.set(__self__, "must_change_password", must_change_password) if name is not None: pulumi.set(__self__, "name", name) if password is not None: @@ -181,6 +201,18 @@ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "labels", value) + @property + @pulumi.getter(name="mustChangePassword") + def must_change_password(self) -> Optional[pulumi.Input[bool]]: + """ + The user must change password at first login (bool) + """ + return pulumi.get(self, "must_change_password") + + @must_change_password.setter + def must_change_password(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "must_change_password", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -238,6 +270,7 @@ def __init__(__self__, annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, enabled: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + must_change_password: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, password: Optional[pulumi.Input[str]] = None, username: Optional[pulumi.Input[str]] = None, @@ -258,7 +291,8 @@ def __init__(__self__, name="Foo user", username="foo", password="changeme", - enabled=True) + enabled=True, + must_change_password=True) # Create a new rancher2 global_role_binding for User foo_global_role_binding = rancher2.GlobalRoleBinding("foo", name="foo", @@ -278,6 +312,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations for global role binding (map) :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for global role binding (map) + :param pulumi.Input[bool] must_change_password: The user must change password at first login (bool) :param pulumi.Input[str] name: The user full name (string) :param pulumi.Input[str] password: The user password (string) :param pulumi.Input[str] username: The user username (string) @@ -304,7 +339,8 @@ def __init__(__self__, name="Foo user", username="foo", password="changeme", - enabled=True) + enabled=True, + must_change_password=True) # Create a new rancher2 global_role_binding for User foo_global_role_binding = rancher2.GlobalRoleBinding("foo", name="foo", @@ -338,6 +374,7 @@ def _internal_init(__self__, annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, enabled: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + must_change_password: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, password: Optional[pulumi.Input[str]] = None, username: Optional[pulumi.Input[str]] = None, @@ -353,6 +390,7 @@ def _internal_init(__self__, __props__.__dict__["annotations"] = annotations __props__.__dict__["enabled"] = enabled __props__.__dict__["labels"] = labels + __props__.__dict__["must_change_password"] = must_change_password __props__.__dict__["name"] = name if password is None and not opts.urn: raise TypeError("Missing required property 'password'") @@ -376,6 +414,7 @@ def get(resource_name: str, annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, enabled: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + must_change_password: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, password: Optional[pulumi.Input[str]] = None, principal_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -389,6 +428,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Annotations for global role binding (map) :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for global role binding (map) + :param pulumi.Input[bool] must_change_password: The user must change password at first login (bool) :param pulumi.Input[str] name: The user full name (string) :param pulumi.Input[str] password: The user password (string) :param pulumi.Input[Sequence[pulumi.Input[str]]] principal_ids: (Computed) The user principal IDs (list) @@ -401,6 +441,7 @@ def get(resource_name: str, __props__.__dict__["annotations"] = annotations __props__.__dict__["enabled"] = enabled __props__.__dict__["labels"] = labels + __props__.__dict__["must_change_password"] = must_change_password __props__.__dict__["name"] = name __props__.__dict__["password"] = password __props__.__dict__["principal_ids"] = principal_ids @@ -428,6 +469,14 @@ def labels(self) -> pulumi.Output[Mapping[str, str]]: """ return pulumi.get(self, "labels") + @property + @pulumi.getter(name="mustChangePassword") + def must_change_password(self) -> pulumi.Output[Optional[bool]]: + """ + The user must change password at first login (bool) + """ + return pulumi.get(self, "must_change_password") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pyproject.toml b/sdk/python/pyproject.toml index b2b4d4faf..d7ba57f59 100644 --- a/sdk/python/pyproject.toml +++ b/sdk/python/pyproject.toml @@ -5,7 +5,7 @@ keywords = ["pulumi", "rancher2"] readme = "README.md" requires-python = ">=3.8" - version = "7.0.0a0+dev" + version = "8.0.0a0+dev" [project.license] text = "Apache-2.0" [project.urls] diff --git a/upstream.sh b/upstream.sh index 640b83632..87593cde3 100755 --- a/upstream.sh +++ b/upstream.sh @@ -138,14 +138,11 @@ 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() { @@ -230,16 +227,13 @@ checkout() { # 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 <