diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..22940b1 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,565 @@ +# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt + +name: build +on: + push: + branches: + - master + - main + - feature-** + paths-ignore: + - CHANGELOG.md + tags-ignore: + - v* + - sdk/* + - "**" + workflow_dispatch: {} +env: + GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} + PROVIDER: kubernetes-coredns + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PYPI_USERNAME: __token__ + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + TRAVIS_OS_NAME: linux + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + GOVERSION: 1.21.x + NODEVERSION: 20.x + PYTHONVERSION: "3.11" + DOTNETVERSION: | + 6.0.x + 3.1.301 + JAVAVERSION: "11" + AWS_REGION: us-west-2 + PULUMI_TEST_OWNER: moolumi + GOLANGCI_LINT_VERSION: v1.61.0 + GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-k8s-provider.iam.gserviceaccount.com + GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci + GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci + GOOGLE_PROJECT_NUMBER: 637339343727 +jobs: + prerequisites: + runs-on: ubuntu-latest + name: prerequisites + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - if: github.event_name == 'pull_request' + name: Install Schema Tools + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/schema-tools + - name: Build codegen binaries + run: make codegen + - name: Build Schema + run: make generate_schema + - if: github.event_name == 'pull_request' + name: Check Schema is Valid + run: >- + echo 'SCHEMA_CHANGES<> $GITHUB_ENV + + schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV + + echo 'EOF' >> $GITHUB_ENV + env: + GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} + - if: github.event_name == 'pull_request' + name: Comment on PR with Details of Schema Check + uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1 + with: + message: | + ${{ env.SCHEMA_CHANGES }} + comment-tag: schemaCheck + github-token: ${{ secrets.GITHUB_TOKEN }} + - if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') && + github.actor == 'pulumi-bot' + name: Add label if no breaking changes + uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3 + with: + labels: impact/no-changelog-required + number: ${{ github.event.issue.number }} + github_token: ${{ secrets.GITHUB_TOKEN }} + - name: Build Provider + run: make provider + - name: Check worktree clean + id: worktreeClean + uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1 + with: + allowed-changes: |- + sdk/**/pulumi-plugin.json + sdk/dotnet/Pulumi.*.csproj + sdk/go/**/pulumiUtilities.go + sdk/nodejs/package.json + sdk/python/pyproject.toml + - run: git status --porcelain + - name: Tar provider binaries + run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ + github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }} + pulumi-gen-${{ env.PROVIDER}} + - name: Upload artifacts + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 + with: + name: pulumi-${{ env.PROVIDER }}-provider.tar.gz + path: ${{ github.workspace }}/bin/provider.tar.gz + - name: Test Provider Library + run: make test_provider + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure in building provider prerequisites + fields: repo,commit,author,action + status: ${{ job.status }} + build_sdks: + needs: prerequisites + runs-on: pulumi-ubuntu-8core + strategy: + fail-fast: true + matrix: + language: + - nodejs + - python + - dotnet + - go + - java + name: build_sdks + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - name: Setup Node + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 + with: + node-version: ${{ env.NODEVERSION }} + registry-url: https://registry.npmjs.org + - name: Setup DotNet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0 + with: + dotnet-version: ${{ env.DOTNETVERSION }} + - name: Setup Python + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + with: + python-version: ${{ env.PYTHONVERSION }} + - name: Setup Java + uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 + with: + java-version: ${{ env.JAVAVERSION }} + distribution: temurin + cache: gradle + - name: Setup Gradle + uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0 + with: + gradle-version: "7.6" + - name: Download provider + tfgen binaries + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: pulumi-${{ env.PROVIDER }}-provider.tar.gz + path: ${{ github.workspace }}/bin + - name: UnTar provider binaries + run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ + github.workspace}}/bin + - name: Restore Binary Permissions + run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print + -exec chmod +x {} \; + - name: Generate SDK + run: make generate_${{ matrix.language }} + - name: Build SDK + run: make build_${{ matrix.language }} + - name: Check worktree clean + id: worktreeClean + uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1 + with: + allowed-changes: |- + sdk/**/pulumi-plugin.json + sdk/dotnet/Pulumi.*.csproj + sdk/go/**/pulumiUtilities.go + sdk/nodejs/package.json + sdk/python/pyproject.toml + - name: Commit ${{ matrix.language }} SDK changes for Renovate + if: failure() && steps.worktreeClean.outcome == 'failure' && + contains(github.actor, 'renovate') + shell: bash + run: > + git config --global user.email "bot@pulumi.com" + + git config --global user.name "pulumi-bot" + + # Stash local changes and check out the PR's branch directly. + + git stash + + git fetch + + git checkout "origin/$HEAD_REF" + + + # Apply and add our changes, but don't commit any files we expect to + + # always change due to versioning. + + git stash pop + + git add sdk + + git reset sdk/python/*/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json sdk/python/pyproject.toml + + git commit -m 'Commit ${{ matrix.language }} SDK for Renovate' + + + # Push with pulumi-bot credentials to trigger a re-run of the + + # workflow. https://github.com/orgs/community/discussions/25702 + + git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF" + env: + HEAD_REF: ${{ github.head_ref }} + - run: git status --porcelain + - name: Tar SDK folder + run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} . + - name: Upload artifacts + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 + with: + name: ${{ matrix.language }}-sdk.tar.gz + path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz + retention-days: 30 + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure while building SDKs + fields: repo,commit,author,action + status: ${{ job.status }} + test: + runs-on: pulumi-ubuntu-8core + needs: + - build_sdks + strategy: + fail-fast: true + matrix: + language: + - nodejs + - python + - dotnet + - go + - java + name: test + permissions: + contents: read + id-token: write + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - name: Setup Node + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 + with: + node-version: ${{ env.NODEVERSION }} + registry-url: https://registry.npmjs.org + - name: Setup DotNet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0 + with: + dotnet-version: ${{ env.DOTNETVERSION }} + - name: Setup Python + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + with: + python-version: ${{ env.PYTHONVERSION }} + - name: Setup Java + uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 + with: + java-version: ${{ env.JAVAVERSION }} + distribution: temurin + cache: gradle + - name: Setup Gradle + uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0 + with: + gradle-version: "7.6" + - name: Download provider + tfgen binaries + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: pulumi-${{ env.PROVIDER }}-provider.tar.gz + path: ${{ github.workspace }}/bin + - name: UnTar provider binaries + run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ + github.workspace}}/bin + - name: Restore Binary Permissions + run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print + -exec chmod +x {} \; + - name: Download SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: ${{ matrix.language }}-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: UnTar SDK folder + run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{ + github.workspace}}/sdk/${{ matrix.language}} + - name: Update path + run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH + - name: Install Node dependencies + run: yarn global add typescript + - run: dotnet nuget add source ${{ github.workspace }}/nuget + - name: Install Python deps + run: |- + pip3 install virtualenv==20.0.23 + pip3 install pipenv + - name: Install dependencies + run: make install_${{ matrix.language}}_sdk + - name: Install gotestfmt + uses: GoTestTools/gotestfmt-action@v2 + with: + version: v2.5.0 + token: ${{ secrets.GITHUB_TOKEN }} + - name: Setup KinD cluster + uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0 + with: + cluster_name: kind-integration-tests-${{ matrix.language }} + node_image: kindest/node:v1.29.2 + - name: Run tests + run: >- + set -euo pipefail + + cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure in SDK tests + fields: repo,commit,author,action + status: ${{ job.status }} + publish: + runs-on: ubuntu-latest + needs: test + name: publish + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Clear GitHub Actions Ubuntu runner disk space + uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 + with: + tool-cache: false + dotnet: false + android: true + haskell: true + swap-storage: true + large-packages: false + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-region: us-east-2 + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + role-duration-seconds: 7200 + role-session-name: ${{ env.PROVIDER }}@githubActions + role-external-id: upload-pulumi-release + role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }} + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0 + env: + GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }} + with: + args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s + version: latest + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure in publishing binaries + fields: repo,commit,author,action + status: ${{ job.status }} + publish_sdk: + runs-on: ubuntu-latest + needs: publish + name: publish_sdk + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Checkout Scripts Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + path: ci-scripts + repository: pulumi/scripts + - run: echo "ci-scripts" >> .git/info/exclude + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + - name: Setup Node + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 + with: + node-version: ${{ env.NODEVERSION }} + registry-url: https://registry.npmjs.org + - name: Setup DotNet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0 + with: + dotnet-version: ${{ env.DOTNETVERSION }} + - name: Setup Python + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + with: + python-version: ${{ env.PYTHONVERSION }} + - name: Download python SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: python-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: Uncompress python SDK + run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C + ${{github.workspace}}/sdk/python + - name: Download dotnet SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: dotnet-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: Uncompress dotnet SDK + run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C + ${{github.workspace}}/sdk/dotnet + - name: Download nodejs SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: nodejs-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: Uncompress nodejs SDK + run: tar -zxf ${{github.workspace}}/sdk/nodejs.tar.gz -C + ${{github.workspace}}/sdk/nodejs + - name: Install Twine + run: python -m pip install twine==5.0.0 + - name: Publish SDKs + run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }} + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + PYPI_PUBLISH_ARTIFACTS: all + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure in publishing SDK + fields: repo,commit,author,action + status: ${{ job.status }} + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + ref: ${{ env.PR_COMMIT_SHA }} + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Disarm go:embed directives to enable linters that compile source code + run: git grep -l 'go:embed' -- provider | xargs --no-run-if-empty sed -i + 's/go:embed/ goembed/g' + - name: golangci-lint provider pkg + uses: golangci/golangci-lint-action@971e284b6050e8a5849b72094c50ab08da042db8 # v6.1.1 + with: + version: ${{ env.GOLANGCI_LINT_VERSION }} + args: -c ../.golangci.yml + working-directory: provider + name: lint + if: github.event_name == 'repository_dispatch' || + github.event.pull_request.head.repo.full_name == github.repository diff --git a/.github/workflows/command-dispatch.yml b/.github/workflows/command-dispatch.yml new file mode 100644 index 0000000..52967b7 --- /dev/null +++ b/.github/workflows/command-dispatch.yml @@ -0,0 +1,58 @@ +# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt + +name: command-dispatch +on: + issue_comment: + types: + - created + - edited +env: + GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} + PROVIDER: kubernetes-coredns + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PYPI_USERNAME: __token__ + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + TRAVIS_OS_NAME: linux + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + GOVERSION: 1.21.x + NODEVERSION: 20.x + PYTHONVERSION: "3.11" + DOTNETVERSION: | + 6.0.x + 3.1.301 + JAVAVERSION: "11" + AWS_REGION: us-west-2 + PULUMI_TEST_OWNER: moolumi + GOLANGCI_LINT_VERSION: v1.61.0 + GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-k8s-provider.iam.gserviceaccount.com + GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci + GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci + GOOGLE_PROJECT_NUMBER: 637339343727 +jobs: + command-dispatch-for-testing: + runs-on: ubuntu-latest + name: command-dispatch-for-testing + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - uses: peter-evans/slash-command-dispatch@13bc09769d122a64f75aa5037256f6f2d78be8c4 # v4.0.0 + with: + token: ${{ secrets.PULUMI_BOT_TOKEN }} + reaction-token: ${{ secrets.GITHUB_TOKEN }} + commands: run-acceptance-tests + permission: write + issue-type: pull-request + repository: pulumi/pulumi-kubernetes-coredns + if: ${{ github.event.issue.pull_request }} diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml new file mode 100644 index 0000000..00489f6 --- /dev/null +++ b/.github/workflows/prerelease.yml @@ -0,0 +1,618 @@ +# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt + +name: prerelease +on: + push: + tags: + - v*.*.*-** +env: + GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} + PROVIDER: kubernetes-coredns + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PYPI_USERNAME: __token__ + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + TRAVIS_OS_NAME: linux + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + GOVERSION: 1.21.x + NODEVERSION: 20.x + PYTHONVERSION: "3.11" + DOTNETVERSION: | + 6.0.x + 3.1.301 + JAVAVERSION: "11" + AWS_REGION: us-west-2 + PULUMI_TEST_OWNER: moolumi + GOLANGCI_LINT_VERSION: v1.61.0 + GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-k8s-provider.iam.gserviceaccount.com + GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci + GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci + GOOGLE_PROJECT_NUMBER: 637339343727 + IS_PRERELEASE: true +jobs: + prerequisites: + runs-on: ubuntu-latest + name: prerequisites + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - if: github.event_name == 'pull_request' + name: Install Schema Tools + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/schema-tools + - name: Build codegen binaries + run: make codegen + - name: Build Schema + run: make generate_schema + - if: github.event_name == 'pull_request' + name: Check Schema is Valid + run: >- + echo 'SCHEMA_CHANGES<> $GITHUB_ENV + + schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV + + echo 'EOF' >> $GITHUB_ENV + env: + GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} + - if: github.event_name == 'pull_request' + name: Comment on PR with Details of Schema Check + uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1 + with: + message: | + ${{ env.SCHEMA_CHANGES }} + comment-tag: schemaCheck + github-token: ${{ secrets.GITHUB_TOKEN }} + - if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') && + github.actor == 'pulumi-bot' + name: Add label if no breaking changes + uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3 + with: + labels: impact/no-changelog-required + number: ${{ github.event.issue.number }} + github_token: ${{ secrets.GITHUB_TOKEN }} + - name: Build Provider + run: make provider + - name: Check worktree clean + id: worktreeClean + uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1 + with: + allowed-changes: |- + sdk/**/pulumi-plugin.json + sdk/dotnet/Pulumi.*.csproj + sdk/go/**/pulumiUtilities.go + sdk/nodejs/package.json + sdk/python/pyproject.toml + - run: git status --porcelain + - name: Tar provider binaries + run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ + github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }} + pulumi-gen-${{ env.PROVIDER}} + - name: Upload artifacts + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 + with: + name: pulumi-${{ env.PROVIDER }}-provider.tar.gz + path: ${{ github.workspace }}/bin/provider.tar.gz + - name: Test Provider Library + run: make test_provider + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure in building provider prerequisites + fields: repo,commit,author,action + status: ${{ job.status }} + build_sdks: + needs: prerequisites + runs-on: pulumi-ubuntu-8core + strategy: + fail-fast: true + matrix: + language: + - nodejs + - python + - dotnet + - go + - java + name: build_sdks + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - name: Setup Node + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 + with: + node-version: ${{ env.NODEVERSION }} + registry-url: https://registry.npmjs.org + - name: Setup DotNet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0 + with: + dotnet-version: ${{ env.DOTNETVERSION }} + - name: Setup Python + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + with: + python-version: ${{ env.PYTHONVERSION }} + - name: Setup Java + uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 + with: + java-version: ${{ env.JAVAVERSION }} + distribution: temurin + cache: gradle + - name: Setup Gradle + uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0 + with: + gradle-version: "7.6" + - name: Download provider + tfgen binaries + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: pulumi-${{ env.PROVIDER }}-provider.tar.gz + path: ${{ github.workspace }}/bin + - name: UnTar provider binaries + run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ + github.workspace}}/bin + - name: Restore Binary Permissions + run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print + -exec chmod +x {} \; + - name: Generate SDK + run: make generate_${{ matrix.language }} + - name: Build SDK + run: make build_${{ matrix.language }} + - name: Check worktree clean + id: worktreeClean + uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1 + with: + allowed-changes: |- + sdk/**/pulumi-plugin.json + sdk/dotnet/Pulumi.*.csproj + sdk/go/**/pulumiUtilities.go + sdk/nodejs/package.json + sdk/python/pyproject.toml + - name: Commit ${{ matrix.language }} SDK changes for Renovate + if: failure() && steps.worktreeClean.outcome == 'failure' && + contains(github.actor, 'renovate') + shell: bash + run: > + git config --global user.email "bot@pulumi.com" + + git config --global user.name "pulumi-bot" + + # Stash local changes and check out the PR's branch directly. + + git stash + + git fetch + + git checkout "origin/$HEAD_REF" + + + # Apply and add our changes, but don't commit any files we expect to + + # always change due to versioning. + + git stash pop + + git add sdk + + git reset sdk/python/*/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json sdk/python/pyproject.toml + + git commit -m 'Commit ${{ matrix.language }} SDK for Renovate' + + + # Push with pulumi-bot credentials to trigger a re-run of the + + # workflow. https://github.com/orgs/community/discussions/25702 + + git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF" + env: + HEAD_REF: ${{ github.head_ref }} + - run: git status --porcelain + - name: Tar SDK folder + run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} . + - name: Upload artifacts + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 + with: + name: ${{ matrix.language }}-sdk.tar.gz + path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure while building SDKs + fields: repo,commit,author,action + status: ${{ job.status }} + test: + runs-on: pulumi-ubuntu-8core + needs: + - build_sdks + strategy: + fail-fast: true + matrix: + language: + - nodejs + - python + - dotnet + - go + - java + name: test + permissions: + contents: read + id-token: write + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - name: Setup Node + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 + with: + node-version: ${{ env.NODEVERSION }} + registry-url: https://registry.npmjs.org + - name: Setup DotNet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0 + with: + dotnet-version: ${{ env.DOTNETVERSION }} + - name: Setup Python + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + with: + python-version: ${{ env.PYTHONVERSION }} + - name: Setup Java + uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 + with: + java-version: ${{ env.JAVAVERSION }} + distribution: temurin + cache: gradle + - name: Setup Gradle + uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0 + with: + gradle-version: "7.6" + - name: Download provider + tfgen binaries + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: pulumi-${{ env.PROVIDER }}-provider.tar.gz + path: ${{ github.workspace }}/bin + - name: UnTar provider binaries + run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ + github.workspace}}/bin + - name: Restore Binary Permissions + run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print + -exec chmod +x {} \; + - name: Download SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: ${{ matrix.language }}-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: UnTar SDK folder + run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{ + github.workspace}}/sdk/${{ matrix.language}} + - name: Update path + run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH + - name: Install Node dependencies + run: yarn global add typescript + - run: dotnet nuget add source ${{ github.workspace }}/nuget + - name: Install Python deps + run: |- + pip3 install virtualenv==20.0.23 + pip3 install pipenv + - name: Install dependencies + run: make install_${{ matrix.language}}_sdk + - name: Install gotestfmt + uses: GoTestTools/gotestfmt-action@v2 + with: + version: v2.5.0 + token: ${{ secrets.GITHUB_TOKEN }} + - name: Setup KinD cluster + uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0 + with: + cluster_name: kind-integration-tests-${{ matrix.language }} + node_image: kindest/node:v1.29.2 + - name: Run tests + run: >- + set -euo pipefail + + cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure in SDK tests + fields: repo,commit,author,action + status: ${{ job.status }} + publish: + runs-on: ubuntu-latest + needs: test + name: publish + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Clear GitHub Actions Ubuntu runner disk space + uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 + with: + tool-cache: false + dotnet: false + android: true + haskell: true + swap-storage: true + large-packages: false + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-region: us-east-2 + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + role-duration-seconds: 7200 + role-session-name: ${{ env.PROVIDER }}@githubActions + role-external-id: upload-pulumi-release + role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }} + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0 + env: + GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }} + with: + args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s + version: latest + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure in publishing binaries + fields: repo,commit,author,action + status: ${{ job.status }} + publish_sdk: + runs-on: ubuntu-latest + needs: publish + name: publish_sdk + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Checkout Scripts Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + path: ci-scripts + repository: pulumi/scripts + - run: echo "ci-scripts" >> .git/info/exclude + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + - name: Setup Node + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 + with: + node-version: ${{ env.NODEVERSION }} + registry-url: https://registry.npmjs.org + - name: Setup DotNet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0 + with: + dotnet-version: ${{ env.DOTNETVERSION }} + - name: Setup Python + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + with: + python-version: ${{ env.PYTHONVERSION }} + - name: Download python SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: python-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: Uncompress python SDK + run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C + ${{github.workspace}}/sdk/python + - name: Download dotnet SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: dotnet-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: Uncompress dotnet SDK + run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C + ${{github.workspace}}/sdk/dotnet + - name: Download nodejs SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: nodejs-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: Uncompress nodejs SDK + run: tar -zxf ${{github.workspace}}/sdk/nodejs.tar.gz -C + ${{github.workspace}}/sdk/nodejs + - name: Install Twine + run: python -m pip install twine==5.0.0 + - name: Publish SDKs + run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }} + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + PYPI_PUBLISH_ARTIFACTS: all + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure in publishing SDK + fields: repo,commit,author,action + status: ${{ job.status }} + publish_java_sdk: + runs-on: ubuntu-latest + continue-on-error: true + needs: publish + name: publish_java_sdk + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + - name: Setup Java + uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 + with: + java-version: ${{ env.JAVAVERSION }} + distribution: temurin + cache: gradle + - name: Setup Gradle + uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0 + with: + gradle-version: "7.6" + - name: Download java SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: java-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: Uncompress java SDK + run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C + ${{github.workspace}}/sdk/java + - name: Publish Java SDK + uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0 + env: + PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }} + with: + arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository + build-root-directory: ./sdk/java + gradle-version: 7.4.1 + publish_go_sdk: + runs-on: ubuntu-latest + name: publish-go-sdk + needs: publish_sdk + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Download go SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: go-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: Uncompress go SDK + run: tar -zxf ${{github.workspace}}/sdk/go.tar.gz -C + ${{github.workspace}}/sdk/go + - name: Publish Go SDK + uses: pulumi/publish-go-sdk-action@v1 + with: + repository: ${{ github.repository }} + base-ref: ${{ github.sha }} + source: sdk + path: sdk + version: ${{ steps.version.outputs.version }} + additive: false + files: |- + go.* + go/** + !*.tar.gz diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml new file mode 100644 index 0000000..fa9ea93 --- /dev/null +++ b/.github/workflows/pull-request.yml @@ -0,0 +1,55 @@ +# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt + +name: pull-request +on: + pull_request_target: {} +env: + GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} + PROVIDER: kubernetes-coredns + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PYPI_USERNAME: __token__ + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + TRAVIS_OS_NAME: linux + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + GOVERSION: 1.21.x + NODEVERSION: 20.x + PYTHONVERSION: "3.11" + DOTNETVERSION: | + 6.0.x + 3.1.301 + JAVAVERSION: "11" + AWS_REGION: us-west-2 + PULUMI_TEST_OWNER: moolumi + GOLANGCI_LINT_VERSION: v1.61.0 + GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-k8s-provider.iam.gserviceaccount.com + GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci + GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci + GOOGLE_PROJECT_NUMBER: 637339343727 +jobs: + comment-on-pr: + runs-on: ubuntu-latest + name: comment-on-pr + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - name: Comment PR + uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1 + with: + message: > + PR is now waiting for a maintainer to run the acceptance tests. + + **Note for the maintainer:** To run the acceptance tests, please comment */run-acceptance-tests* on the PR + github-token: ${{ secrets.GITHUB_TOKEN }} + if: github.event.pull_request.head.repo.full_name != github.repository diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 863215c..8303f83 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,141 +1,632 @@ +# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt + +name: release +on: + push: + tags: + - v*.*.* + - "!v*.*.*-**" env: - # THIS GITHUB_TOKEN IS A REQUIREMENT TO BE ABLE TO WRITE TO GH RELEASES - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # IF YOU NEED TO PUBLISH A NPM PACKAGE THEN ENSURE A NPM_TOKEN SECRET IS SET - # AND PUBLISH_NPM: TRUE. IF YOU WANT TO PUBLISH TO A PRIVATE NPM REGISTRY - # THEN ENSURE THE NPM_REGISTRY_URL IS CHANGED - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} + PROVIDER: kubernetes-coredns + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - PUBLISH_NPM: true - NPM_REGISTRY_URL: https://registry.npmjs.org - # IF YOU NEED TO PUBLISH A NUGET PACKAGE THEN ENSURE AN NUGET_PUBLISH_KEY - # SECRET IS SET AND PUBLISH_NUGET: TRUE. IF YOU WANT TO PUBLISH TO AN ALTERNATIVE - # NPM REGISTRY THEN ENSURE THE NPM_REGISTRY_URL IS CHANGED + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} - NUGET_FEED_URL: https://api.nuget.org/v3/index.json - PUBLISH_NUGET: true - # IF YOU NEED TO PUBLISH A PYPI PACKAGE THEN ENSURE AN PYPI_API_TOKEN - # SECRET IS SET AND PUBLISH_PYPI: TRUE. IF YOU WANT TO PUBLISH TO AN ALTERNATIVE - # PYPI REGISTRY THEN ENSURE THE PYPI_REPOSITORY_URL IS SET. IF YOU ARE USING AN API_TOKEN THEN - # YOU DO NOT NEED TO CHANGE THE PYPI_USERNAME (__token__) , IF YOU ARE USING PASSWORD AUTHENTICATION THEN YOU WILL - # NEED TO CHANGE TO USE THE CORRECT PASSWORD - PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }} - PYPI_USERNAME: "pulumi" - PYPI_REPOSITORY_URL: "" - PUBLISH_PYPI: true + PYPI_USERNAME: __token__ + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + TRAVIS_OS_NAME: linux + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + GOVERSION: 1.21.x + NODEVERSION: 20.x + PYTHONVERSION: "3.11" + DOTNETVERSION: | + 6.0.x + 3.1.301 + JAVAVERSION: "11" + AWS_REGION: us-west-2 + PULUMI_TEST_OWNER: moolumi + GOLANGCI_LINT_VERSION: v1.61.0 + GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-k8s-provider.iam.gserviceaccount.com + GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci + GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci + GOOGLE_PROJECT_NUMBER: 637339343727 jobs: - publish_binary: - name: Publish Provider Binary + prerequisites: runs-on: ubuntu-latest + name: prerequisites steps: - - name: Checkout Repo - uses: actions/checkout@v2 - - name: Unshallow clone for tags - run: git fetch --prune --unshallow --tags - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: 1.16.x - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.1.0 - with: - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/action-install-pulumi-cli@v1.0.1 - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: us-east-2 - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 3600 - role-external-id: upload-pulumi-release - role-session-name: uploader@githubActions - role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }} - - name: Run GoReleaser - uses: goreleaser/goreleaser-action@v2 - with: - args: -f .goreleaser.yml --rm-dist - version: latest - publish_sdk: - name: Publish SDKs - runs-on: ubuntu-latest - needs: publish_binary + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - if: github.event_name == 'pull_request' + name: Install Schema Tools + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/schema-tools + - name: Build codegen binaries + run: make codegen + - name: Build Schema + run: make generate_schema + - if: github.event_name == 'pull_request' + name: Check Schema is Valid + run: >- + echo 'SCHEMA_CHANGES<> $GITHUB_ENV + + schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV + + echo 'EOF' >> $GITHUB_ENV + env: + GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} + - if: github.event_name == 'pull_request' + name: Comment on PR with Details of Schema Check + uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1 + with: + message: | + ${{ env.SCHEMA_CHANGES }} + comment-tag: schemaCheck + github-token: ${{ secrets.GITHUB_TOKEN }} + - if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') && + github.actor == 'pulumi-bot' + name: Add label if no breaking changes + uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3 + with: + labels: impact/no-changelog-required + number: ${{ github.event.issue.number }} + github_token: ${{ secrets.GITHUB_TOKEN }} + - name: Build Provider + run: make provider + - name: Check worktree clean + id: worktreeClean + uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1 + with: + allowed-changes: |- + sdk/**/pulumi-plugin.json + sdk/dotnet/Pulumi.*.csproj + sdk/go/**/pulumiUtilities.go + sdk/nodejs/package.json + sdk/python/pyproject.toml + - run: git status --porcelain + - name: Tar provider binaries + run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ + github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }} + pulumi-gen-${{ env.PROVIDER}} + - name: Upload artifacts + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 + with: + name: pulumi-${{ env.PROVIDER }}-provider.tar.gz + path: ${{ github.workspace }}/bin/provider.tar.gz + - name: Test Provider Library + run: make test_provider + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure in building provider prerequisites + fields: repo,commit,author,action + status: ${{ job.status }} + build_sdks: + needs: prerequisites + runs-on: pulumi-ubuntu-8core + strategy: + fail-fast: true + matrix: + language: + - nodejs + - python + - dotnet + - go + - java + name: build_sdks steps: - - name: Checkout Repo - uses: actions/checkout@v2 - - name: Unshallow clone for tags - run: git fetch --prune --unshallow --tags - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{ matrix.goversion }} - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.1.0 - with: - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/action-install-pulumi-cli@v1.0.1 - - name: Setup Node - uses: actions/setup-node@v1 - with: - node-version: ${{matrix.nodeversion}} - registry-url: ${{env.NPM_REGISTRY_URL}} - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetverson}} - - name: Setup Python - uses: actions/setup-python@v1 - with: - python-version: ${{matrix.pythonversion}} - - name: Build SDK - run: make build_${{ matrix.language }}_sdk - - name: Check worktree clean - run: | - git update-index -q --refresh - if ! git diff-files --quiet; then - >&2 echo "error: working tree is not clean, aborting!" - git status - git diff - exit 1 - fi - - if: ${{ matrix.language == 'python' && env.PUBLISH_PYPI == 'true' }} - name: Publish package to PyPI - uses: pypa/gh-action-pypi-publish@release/v1 - with: - user: ${{ env.PYPI_USERNAME }} - password: ${{ env.PYPI_PASSWORD }} - packages_dir: ${{github.workspace}}/sdk/python/bin/dist - - if: ${{ matrix.language == 'nodejs' && env.PUBLISH_NPM == 'true' }} - uses: JS-DevTools/npm-publish@v1 - with: - access: "public" - token: ${{ env.NPM_TOKEN }} - package: ${{github.workspace}}/sdk/nodejs/bin/package.json - - if: ${{ matrix.language == 'dotnet' && env.PUBLISH_NUGET == 'true' }} - name: publish nuget package - run: | - dotnet nuget push ${{github.workspace}}/sdk/dotnet/bin/Debug/*.nupkg -s ${{ env.NUGET_FEED_URL }} -k ${{ env.NUGET_PUBLISH_KEY }} - echo "done publishing packages" + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - name: Setup Node + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 + with: + node-version: ${{ env.NODEVERSION }} + registry-url: https://registry.npmjs.org + - name: Setup DotNet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0 + with: + dotnet-version: ${{ env.DOTNETVERSION }} + - name: Setup Python + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + with: + python-version: ${{ env.PYTHONVERSION }} + - name: Setup Java + uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 + with: + java-version: ${{ env.JAVAVERSION }} + distribution: temurin + cache: gradle + - name: Setup Gradle + uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0 + with: + gradle-version: "7.6" + - name: Download provider + tfgen binaries + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: pulumi-${{ env.PROVIDER }}-provider.tar.gz + path: ${{ github.workspace }}/bin + - name: UnTar provider binaries + run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ + github.workspace}}/bin + - name: Restore Binary Permissions + run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print + -exec chmod +x {} \; + - name: Generate SDK + run: make generate_${{ matrix.language }} + - name: Build SDK + run: make build_${{ matrix.language }} + - name: Check worktree clean + id: worktreeClean + uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1 + with: + allowed-changes: |- + sdk/**/pulumi-plugin.json + sdk/dotnet/Pulumi.*.csproj + sdk/go/**/pulumiUtilities.go + sdk/nodejs/package.json + sdk/python/pyproject.toml + - name: Commit ${{ matrix.language }} SDK changes for Renovate + if: failure() && steps.worktreeClean.outcome == 'failure' && + contains(github.actor, 'renovate') + shell: bash + run: > + git config --global user.email "bot@pulumi.com" + + git config --global user.name "pulumi-bot" + + # Stash local changes and check out the PR's branch directly. + + git stash + + git fetch + + git checkout "origin/$HEAD_REF" + + + # Apply and add our changes, but don't commit any files we expect to + + # always change due to versioning. + + git stash pop + + git add sdk + + git reset sdk/python/*/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json sdk/python/pyproject.toml + + git commit -m 'Commit ${{ matrix.language }} SDK for Renovate' + + + # Push with pulumi-bot credentials to trigger a re-run of the + + # workflow. https://github.com/orgs/community/discussions/25702 + + git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF" + env: + HEAD_REF: ${{ github.head_ref }} + - run: git status --porcelain + - name: Tar SDK folder + run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} . + - name: Upload artifacts + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 + with: + name: ${{ matrix.language }}-sdk.tar.gz + path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure while building SDKs + fields: repo,commit,author,action + status: ${{ job.status }} + test: + runs-on: pulumi-ubuntu-8core + needs: + - build_sdks strategy: fail-fast: true matrix: - dotnetversion: - - 3.1.301 - goversion: - - 1.16.x language: - - nodejs - - python - - dotnet - - go - nodeversion: - - 14.x - pythonversion: - - "3.9" -name: release -"on": - push: - tags: - - v*.*.* + - nodejs + - python + - dotnet + - go + - java + name: test + permissions: + contents: read + id-token: write + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - name: Setup Node + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 + with: + node-version: ${{ env.NODEVERSION }} + registry-url: https://registry.npmjs.org + - name: Setup DotNet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0 + with: + dotnet-version: ${{ env.DOTNETVERSION }} + - name: Setup Python + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + with: + python-version: ${{ env.PYTHONVERSION }} + - name: Setup Java + uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 + with: + java-version: ${{ env.JAVAVERSION }} + distribution: temurin + cache: gradle + - name: Setup Gradle + uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0 + with: + gradle-version: "7.6" + - name: Download provider + tfgen binaries + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: pulumi-${{ env.PROVIDER }}-provider.tar.gz + path: ${{ github.workspace }}/bin + - name: UnTar provider binaries + run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ + github.workspace}}/bin + - name: Restore Binary Permissions + run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print + -exec chmod +x {} \; + - name: Download SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: ${{ matrix.language }}-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: UnTar SDK folder + run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{ + github.workspace}}/sdk/${{ matrix.language}} + - name: Update path + run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH + - name: Install Node dependencies + run: yarn global add typescript + - run: dotnet nuget add source ${{ github.workspace }}/nuget + - name: Install Python deps + run: |- + pip3 install virtualenv==20.0.23 + pip3 install pipenv + - name: Install dependencies + run: make install_${{ matrix.language}}_sdk + - name: Install gotestfmt + uses: GoTestTools/gotestfmt-action@v2 + with: + version: v2.5.0 + token: ${{ secrets.GITHUB_TOKEN }} + - name: Setup KinD cluster + uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0 + with: + cluster_name: kind-integration-tests-${{ matrix.language }} + node_image: kindest/node:v1.29.2 + - name: Run tests + run: >- + set -euo pipefail + + cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure in SDK tests + fields: repo,commit,author,action + status: ${{ job.status }} + publish: + runs-on: ubuntu-latest + needs: test + name: publish + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Clear GitHub Actions Ubuntu runner disk space + uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 + with: + tool-cache: false + dotnet: false + android: true + haskell: true + swap-storage: true + large-packages: false + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-region: us-east-2 + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + role-duration-seconds: 7200 + role-session-name: ${{ env.PROVIDER }}@githubActions + role-external-id: upload-pulumi-release + role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }} + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0 + env: + GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }} + with: + args: -p 3 release --clean --timeout 60m0s + version: latest + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure in publishing binaries + fields: repo,commit,author,action + status: ${{ job.status }} + publish_sdk: + runs-on: ubuntu-latest + needs: publish + name: publish_sdks + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Checkout Scripts Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + path: ci-scripts + repository: pulumi/scripts + - run: echo "ci-scripts" >> .git/info/exclude + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + - name: Setup Node + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 + with: + node-version: ${{ env.NODEVERSION }} + registry-url: https://registry.npmjs.org + - name: Setup DotNet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0 + with: + dotnet-version: ${{ env.DOTNETVERSION }} + - name: Setup Python + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + with: + python-version: ${{ env.PYTHONVERSION }} + - name: Download python SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: python-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: Uncompress python SDK + run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C + ${{github.workspace}}/sdk/python + - name: Download dotnet SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: dotnet-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: Uncompress dotnet SDK + run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C + ${{github.workspace}}/sdk/dotnet + - name: Download nodejs SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: nodejs-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: Uncompress nodejs SDK + run: tar -zxf ${{github.workspace}}/sdk/nodejs.tar.gz -C + ${{github.workspace}}/sdk/nodejs + - name: Install Twine + run: python -m pip install twine==5.0.0 + - name: Publish SDKs + run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }} + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + PYPI_PUBLISH_ARTIFACTS: all + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure in publishing SDK + fields: repo,commit,author,action + status: ${{ job.status }} + publish_java_sdk: + runs-on: ubuntu-latest + continue-on-error: true + needs: publish + name: publish_java_sdk + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + - name: Setup Java + uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 + with: + java-version: ${{ env.JAVAVERSION }} + distribution: temurin + cache: gradle + - name: Setup Gradle + uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0 + with: + gradle-version: "7.6" + - name: Download java SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: java-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: Uncompress java SDK + run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C + ${{github.workspace}}/sdk/java + - name: Publish Java SDK + uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0 + env: + PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }} + with: + arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository + build-root-directory: ./sdk/java + gradle-version: 7.4.1 + publish_go_sdk: + runs-on: ubuntu-latest + name: publish-go-sdk + needs: publish_sdk + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Download go SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: go-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: Uncompress go SDK + run: tar -zxf ${{github.workspace}}/sdk/go.tar.gz -C + ${{github.workspace}}/sdk/go + - name: Publish Go SDK + uses: pulumi/publish-go-sdk-action@v1 + with: + repository: ${{ github.repository }} + base-ref: ${{ github.sha }} + source: sdk + path: sdk + version: ${{ steps.version.outputs.version }} + additive: false + files: |- + go.* + go/** + !*.tar.gz + dispatch_docs_build: + runs-on: ubuntu-latest + needs: publish_go_sdk + steps: + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Dispatch Event + run: pulumictl create docs-build pulumi-${{ env.PROVIDER }} + ${GITHUB_REF#refs/tags/} + env: + GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} + name: dispatch_docs_build diff --git a/.github/workflows/run-acceptance-tests.yml b/.github/workflows/run-acceptance-tests.yml new file mode 100644 index 0000000..0f292b0 --- /dev/null +++ b/.github/workflows/run-acceptance-tests.yml @@ -0,0 +1,465 @@ +# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt + +name: run-acceptance-tests +on: + repository_dispatch: + types: + - run-acceptance-tests-command + pull_request: + paths-ignore: + - CHANGELOG.md + workflow_dispatch: {} +env: + GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} + PROVIDER: kubernetes-coredns + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PYPI_USERNAME: __token__ + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + TRAVIS_OS_NAME: linux + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + GOVERSION: 1.21.x + NODEVERSION: 20.x + PYTHONVERSION: "3.11" + DOTNETVERSION: | + 6.0.x + 3.1.301 + JAVAVERSION: "11" + AWS_REGION: us-west-2 + PULUMI_TEST_OWNER: moolumi + GOLANGCI_LINT_VERSION: v1.61.0 + GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-k8s-provider.iam.gserviceaccount.com + GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci + GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci + GOOGLE_PROJECT_NUMBER: 637339343727 + PR_COMMIT_SHA: ${{ github.event.client_payload.pull_request.head.sha }} +jobs: + comment-notification: + runs-on: ubuntu-latest + name: comment-notification + steps: + - name: Create URL to the run output + id: vars + run: echo + run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID + >> "$GITHUB_OUTPUT" + - name: Update with Result + uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 + with: + token: ${{ secrets.PULUMI_BOT_TOKEN }} + repository: ${{ github.event.client_payload.github.payload.repository.full_name }} + issue-number: ${{ github.event.client_payload.github.payload.issue.number }} + body: "Please view the PR build: ${{ steps.vars.outputs.run-url }}" + if: github.event_name == 'repository_dispatch' + prerequisites: + runs-on: ubuntu-latest + name: prerequisites + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + ref: ${{ env.PR_COMMIT_SHA }} + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - if: github.event_name == 'pull_request' + name: Install Schema Tools + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/schema-tools + - name: Build codegen binaries + run: make codegen + - name: Build Schema + run: make generate_schema + - if: github.event_name == 'pull_request' + name: Check Schema is Valid + run: >- + echo 'SCHEMA_CHANGES<> $GITHUB_ENV + + schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV + + echo 'EOF' >> $GITHUB_ENV + env: + GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} + - if: github.event_name == 'pull_request' + name: Comment on PR with Details of Schema Check + uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1 + with: + message: | + ${{ env.SCHEMA_CHANGES }} + comment-tag: schemaCheck + github-token: ${{ secrets.GITHUB_TOKEN }} + - if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') && + github.actor == 'pulumi-bot' + name: Add label if no breaking changes + uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3 + with: + labels: impact/no-changelog-required + number: ${{ github.event.issue.number }} + github_token: ${{ secrets.GITHUB_TOKEN }} + - name: Build Provider + run: make provider + - name: Check worktree clean + id: worktreeClean + uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1 + with: + allowed-changes: |- + sdk/**/pulumi-plugin.json + sdk/dotnet/Pulumi.*.csproj + sdk/go/**/pulumiUtilities.go + sdk/nodejs/package.json + sdk/python/pyproject.toml + - run: git status --porcelain + - name: Tar provider binaries + run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ + github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }} + pulumi-gen-${{ env.PROVIDER}} + - name: Upload artifacts + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 + with: + name: pulumi-${{ env.PROVIDER }}-provider.tar.gz + path: ${{ github.workspace }}/bin/provider.tar.gz + - name: Test Provider Library + run: make test_provider + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure in building provider prerequisites + fields: repo,commit,author,action + status: ${{ job.status }} + if: github.event_name == 'repository_dispatch' || + github.event.pull_request.head.repo.full_name == github.repository + build_sdks: + needs: prerequisites + runs-on: pulumi-ubuntu-8core + strategy: + fail-fast: true + matrix: + language: + - nodejs + - python + - dotnet + - go + - java + name: build_sdks + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + ref: ${{ env.PR_COMMIT_SHA }} + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - name: Setup Node + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 + with: + node-version: ${{ env.NODEVERSION }} + registry-url: https://registry.npmjs.org + - name: Setup DotNet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0 + with: + dotnet-version: ${{ env.DOTNETVERSION }} + - name: Setup Python + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + with: + python-version: ${{ env.PYTHONVERSION }} + - name: Setup Java + uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 + with: + java-version: ${{ env.JAVAVERSION }} + distribution: temurin + cache: gradle + - name: Setup Gradle + uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0 + with: + gradle-version: "7.6" + - name: Download provider + tfgen binaries + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: pulumi-${{ env.PROVIDER }}-provider.tar.gz + path: ${{ github.workspace }}/bin + - name: UnTar provider binaries + run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ + github.workspace}}/bin + - name: Restore Binary Permissions + run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print + -exec chmod +x {} \; + - name: Generate SDK + run: make generate_${{ matrix.language }} + - name: Build SDK + run: make build_${{ matrix.language }} + - name: Check worktree clean + id: worktreeClean + uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1 + with: + allowed-changes: |- + sdk/**/pulumi-plugin.json + sdk/dotnet/Pulumi.*.csproj + sdk/go/**/pulumiUtilities.go + sdk/nodejs/package.json + sdk/python/pyproject.toml + - name: Commit ${{ matrix.language }} SDK changes for Renovate + if: failure() && steps.worktreeClean.outcome == 'failure' && + contains(github.actor, 'renovate') + shell: bash + run: > + git config --global user.email "bot@pulumi.com" + + git config --global user.name "pulumi-bot" + + # Stash local changes and check out the PR's branch directly. + + git stash + + git fetch + + git checkout "origin/$HEAD_REF" + + + # Apply and add our changes, but don't commit any files we expect to + + # always change due to versioning. + + git stash pop + + git add sdk + + git reset sdk/python/*/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json sdk/python/pyproject.toml + + git commit -m 'Commit ${{ matrix.language }} SDK for Renovate' + + + # Push with pulumi-bot credentials to trigger a re-run of the + + # workflow. https://github.com/orgs/community/discussions/25702 + + git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF" + env: + HEAD_REF: ${{ github.head_ref }} + - run: git status --porcelain + - name: Tar SDK folder + run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} . + - name: Upload artifacts + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 + with: + name: ${{ matrix.language }}-sdk.tar.gz + path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz + retention-days: 30 + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure while building SDKs + fields: repo,commit,author,action + status: ${{ job.status }} + if: github.event_name == 'repository_dispatch' || + github.event.pull_request.head.repo.full_name == github.repository + test: + runs-on: pulumi-ubuntu-8core + needs: + - build_sdks + strategy: + fail-fast: true + matrix: + language: + - nodejs + - python + - dotnet + - go + - java + name: test + permissions: + contents: read + id-token: write + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + ref: ${{ env.PR_COMMIT_SHA }} + - id: version + name: Set Provider Version + uses: pulumi/provider-version-action@0391d47b9b0d865d33dd0a295b1fcf9f7021dd4c # v1.5.3 + with: + set-env: PROVIDER_VERSION + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - name: Setup Node + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 + with: + node-version: ${{ env.NODEVERSION }} + registry-url: https://registry.npmjs.org + - name: Setup DotNet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0 + with: + dotnet-version: ${{ env.DOTNETVERSION }} + - name: Setup Python + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + with: + python-version: ${{ env.PYTHONVERSION }} + - name: Setup Java + uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 + with: + java-version: ${{ env.JAVAVERSION }} + distribution: temurin + cache: gradle + - name: Setup Gradle + uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0 + with: + gradle-version: "7.6" + - name: Download provider + tfgen binaries + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: pulumi-${{ env.PROVIDER }}-provider.tar.gz + path: ${{ github.workspace }}/bin + - name: UnTar provider binaries + run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ + github.workspace}}/bin + - name: Restore Binary Permissions + run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print + -exec chmod +x {} \; + - name: Download SDK + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: ${{ matrix.language }}-sdk.tar.gz + path: ${{ github.workspace}}/sdk/ + - name: UnTar SDK folder + run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{ + github.workspace}}/sdk/${{ matrix.language}} + - name: Update path + run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH + - name: Install Node dependencies + run: yarn global add typescript + - run: dotnet nuget add source ${{ github.workspace }}/nuget + - name: Install Python deps + run: |- + pip3 install virtualenv==20.0.23 + pip3 install pipenv + - name: Install dependencies + run: make install_${{ matrix.language}}_sdk + - name: Install gotestfmt + uses: GoTestTools/gotestfmt-action@v2 + with: + version: v2.5.0 + token: ${{ secrets.GITHUB_TOKEN }} + - name: Setup KinD cluster + uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0 + with: + cluster_name: kind-integration-tests-${{ matrix.language }} + node_image: kindest/node:v1.29.2 + - name: Run tests + run: >- + set -euo pipefail + + cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . + - if: failure() && github.event_name == 'push' + name: Notify Slack + uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2 + with: + author_name: Failure in SDK tests + fields: repo,commit,author,action + status: ${{ job.status }} + if: github.event_name == 'repository_dispatch' || + github.event.pull_request.head.repo.full_name == github.repository + sentinel: + runs-on: ubuntu-latest + name: sentinel + steps: + - name: Mark workflow as successful + uses: guibranco/github-status-action-v2@0849440ec82c5fa69b2377725b9b7852a3977e76 # v1.1.13 + with: + authToken: ${{ secrets.GITHUB_TOKEN }} + context: Sentinel + state: success + description: Sentinel checks passed + sha: ${{ github.event.pull_request.head.sha || github.sha }} + permissions: + statuses: write + if: github.event_name == 'repository_dispatch' || + github.event.pull_request.head.repo.full_name == github.repository + needs: + - test + - prerequisites + - lint + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + ref: ${{ env.PR_COMMIT_SHA }} + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Disarm go:embed directives to enable linters that compile source code + run: git grep -l 'go:embed' -- provider | xargs --no-run-if-empty sed -i + 's/go:embed/ goembed/g' + - name: golangci-lint provider pkg + uses: golangci/golangci-lint-action@971e284b6050e8a5849b72094c50ab08da042db8 # v6.1.1 + with: + version: ${{ env.GOLANGCI_LINT_VERSION }} + args: -c ../.golangci.yml + working-directory: provider + name: lint + if: github.event_name == 'repository_dispatch' || + github.event.pull_request.head.repo.full_name == github.repository diff --git a/.github/workflows/weekly-pulumi-update.yml b/.github/workflows/weekly-pulumi-update.yml new file mode 100644 index 0000000..6c761ac --- /dev/null +++ b/.github/workflows/weekly-pulumi-update.yml @@ -0,0 +1,129 @@ +# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt + +name: weekly-pulumi-update +on: + schedule: + - cron: 35 12 * * 4 + workflow_dispatch: {} +env: + GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} + PROVIDER: kubernetes-coredns + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PYPI_USERNAME: __token__ + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + TRAVIS_OS_NAME: linux + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + GOVERSION: 1.21.x + NODEVERSION: 20.x + PYTHONVERSION: "3.11" + DOTNETVERSION: | + 6.0.x + 3.1.301 + JAVAVERSION: "11" + AWS_REGION: us-west-2 + PULUMI_TEST_OWNER: moolumi + GOLANGCI_LINT_VERSION: v1.61.0 + GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-k8s-provider.iam.gserviceaccount.com + GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci + GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci + GOOGLE_PROJECT_NUMBER: 637339343727 +jobs: + weekly-pulumi-update: + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + lfs: true + - name: Install Go + uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 + with: + go-version: ${{ env.GOVERSION }} + cache-dependency-path: "**/*.sum" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0 + with: + repo: pulumi/pulumictl + - name: Install Pulumi CLI + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6.0.0 + with: + pulumi-version-file: .pulumi.version + - name: Setup DotNet + uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4.1.0 + with: + dotnet-version: ${{ env.DOTNETVERSION }} + - name: Setup Node + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 + with: + node-version: ${{ env.NODEVERSION }} + registry-url: https://registry.npmjs.org + - name: Setup Python + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + with: + python-version: ${{ env.PYTHONVERSION }} + - name: Update Pulumi/Pulumi + id: gomod + run: >- + git config --local user.email 'bot@pulumi.com' + + git config --local user.name 'pulumi-bot' + + git checkout -b update-pulumi/${{ github.run_id }}-${{ github.run_number }} + + for MODFILE in $(find . -name go.mod); do pushd $(dirname $MODFILE); go get github.com/pulumi/pulumi/pkg/v3 github.com/pulumi/pulumi/sdk/v3; go mod tidy; popd; done + + gh repo view pulumi/pulumi --json latestRelease --jq .latestRelease.tagName | sed 's/^v//' > .pulumi.version + + git update-index -q --refresh + + if ! git diff-files --quiet; then echo changes=1 >> "$GITHUB_OUTPUT"; fi + - name: Provider with Pulumi Upgrade + if: steps.gomod.outputs.changes != 0 + run: >- + make codegen && make local_generate + + git add sdk/nodejs + + git commit -m "Regenerating Node.js SDK based on updated modules" || echo "ignore commit failure, may be empty" + + git add sdk/python + + git commit -m "Regenerating Python SDK based on updated modules" || echo "ignore commit failure, may be empty" + + git add sdk/dotnet + + git commit -m "Regenerating .NET SDK based on updated modules" || echo "ignore commit failure, may be empty" + + git add sdk/go* + + git commit -m "Regenerating Go SDK based on updated modules" || echo "ignore commit failure, may be empty" + + git add sdk/java* + + git commit -m "Regenerating Java SDK based on updated modules" || echo "ignore commit failure, may be empty" + + git add . + + git commit -m "Updated modules" || echo "ignore commit failure, may be empty" + + git push origin update-pulumi/${{ github.run_id }}-${{ github.run_number }} + - name: Create PR + id: create-pr + if: steps.gomod.outputs.changes != 0 + run: | + ver=$(cat .pulumi.version) + msg="Automated upgrade: bump pulumi/pulumi to ${ver}" + gh pr create -t "$msg" -b "$msg" -B master + env: + GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} + name: weekly-pulumi-update diff --git a/.gitignore b/.gitignore index 548bbbb..8e6c496 100644 --- a/.gitignore +++ b/.gitignore @@ -11,11 +11,16 @@ package-lock.json **/version.txt **/dist nuget/ +.vscode/ +**/*.bak .DS_Store ci-scripts/ *.tar.gz +**/*.out -/provider/cmd/pulumi-resource-*/schema.go -.vscode/ -**/*.bak +sdk/dotnet/version.txt +sdk/java/.gradle +sdk/java/build/ +sdk/java/build.gradle +sdk/python/venv \ No newline at end of file diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 0000000..6b202d3 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,6 @@ +run: + timeout: 10m + +issues: + exclude-dirs: + - sdk diff --git a/.goreleaser.prerelease.yml b/.goreleaser.prerelease.yml new file mode 100644 index 0000000..d874b82 --- /dev/null +++ b/.goreleaser.prerelease.yml @@ -0,0 +1,39 @@ +# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt + +project_name: pulumi-kubernetes-cert-manager +builds: +- dir: provider + env: + - CGO_ENABLED=0 + - GO111MODULE=on + goos: + - darwin + - windows + - linux + goarch: + - amd64 + - arm64 + ignore: [] + main: ./cmd/pulumi-resource-kubernetes-cert-manager/ + ldflags: + - -s + - -w + - -X + github.com/pulumi/pulumi-kubernetes-cert-manager/provider/pkg/version.Version={{.Tag}} + binary: pulumi-resource-kubernetes-cert-manager +archives: +- name_template: "{{ .Binary }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}" + id: archive +snapshot: + name_template: "{{ .Tag }}-SNAPSHOT" +changelog: + skip: true +release: + disable: true +blobs: +- provider: s3 + region: us-west-2 + bucket: get.pulumi.com + folder: releases/plugins/ + ids: + - archive diff --git a/.goreleaser.yml b/.goreleaser.yml index d2918cb..693b61c 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,34 +1,39 @@ -archives: - - id: archive - name_template: '{{ .Binary }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}' -before: - hooks: - - make build_provider -blobs: - - bucket: get.pulumi.com - folder: releases/plugins/ - ids: - - archive - provider: s3 - region: us-west-2 +# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt + +project_name: pulumi-kubernetes-cert-manager builds: - - binary: pulumi-resource-kubernetes-coredns - dir: provider - env: - - CGO_ENABLED=0 - goarch: - - amd64 - goos: - - darwin - - windows - - linux - ldflags: - - -X github.com/pulumi/pulumi-kubernetes-coredns/provider/pkg/version.Version={{.Tag }} - main: ./cmd/pulumi-resource-kubernetes-coredns/ +- dir: provider + env: + - CGO_ENABLED=0 + - GO111MODULE=on + goos: + - darwin + - windows + - linux + goarch: + - amd64 + - arm64 + ignore: [] + main: ./cmd/pulumi-resource-kubernetes-cert-manager/ + ldflags: + - -s + - -w + - -X + github.com/pulumi/pulumi-kubernetes-cert-manager/provider/pkg/version.Version={{.Tag}} + binary: pulumi-resource-kubernetes-cert-manager +archives: +- name_template: "{{ .Binary }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}" + id: archive +snapshot: + name_template: "{{ .Tag }}-SNAPSHOT" changelog: skip: true release: disable: false - prerelease: auto -snapshot: - name_template: '{{ .Tag }}-SNAPSHOT' +blobs: +- provider: s3 + region: us-west-2 + bucket: get.pulumi.com + folder: releases/plugins/ + ids: + - archive diff --git a/.pulumi.version b/.pulumi.version new file mode 100644 index 0000000..738d1e4 --- /dev/null +++ b/.pulumi.version @@ -0,0 +1 @@ +3.144.1 diff --git a/Makefile b/Makefile index 381a54e..cca4eef 100644 --- a/Makefile +++ b/Makefile @@ -1,18 +1,32 @@ -VERSION := $(shell pulumictl get version) +# Override during CI using `make [TARGET] PROVIDER_VERSION=""` or by setting a PROVIDER_VERSION environment variable +# Local & branch builds will just used this fixed default version unless specified +PROVIDER_VERSION ?= 1.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)") PACK := kubernetes-coredns PROJECT := github.com/pulumi/pulumi-${PACK} PROVIDER := pulumi-resource-${PACK} -CODEGEN := pulumi-gen-${PACK} VERSION_PATH := pkg/version.Version WORKING_DIR := $(shell pwd) -SCHEMA_PATH := ${WORKING_DIR}/schema.json +SCHEMA_PATH := ${WORKING_DIR}/provider/cmd/${PROVIDER}/schema.json GOPATH := $(shell go env GOPATH) -generate:: gen_go_sdk gen_dotnet_sdk gen_nodejs_sdk gen_python_sdk +export PULUMI_IGNORE_AMBIENT_PLUGINS = true + +# Ensure the codegen file is present so that the hard-coded "Tar Provider Binaries" step doesn't fail +codegen: .pulumi/bin/pulumi # Required by CI + mkdir -p bin && touch bin/pulumi-gen-kubernetes-coredns + +provider: build_provider # Required by CI +test_provider: # Required by CI +generate_schema: # Required by CI +local_generate: generate # Required by CI + +generate:: gen_go_sdk gen_dotnet_sdk gen_nodejs_sdk gen_python_sdk generate_java build:: build_provider build_dotnet_sdk build_nodejs_sdk build_python_sdk @@ -23,8 +37,7 @@ install:: install_provider install_dotnet_sdk install_nodejs_sdk build_provider:: rm -rf ${WORKING_DIR}/bin/${PROVIDER} - cd provider/cmd/${PROVIDER} && VERSION=${VERSION} SCHEMA=${SCHEMA_PATH} go generate main.go - cd provider/cmd/${PROVIDER} && go build -o ${WORKING_DIR}/bin/${PROVIDER} -ldflags "-X ${PROJECT}/${VERSION_PATH}=${VERSION}" . + cd provider/cmd/${PROVIDER} && go build -o ${WORKING_DIR}/bin/${PROVIDER} -ldflags "-X ${PROJECT}/${VERSION_PATH}=${VERSION_GENERIC}" . install_provider:: build_provider cp ${WORKING_DIR}/bin/${PROVIDER} ${GOPATH}/bin @@ -32,70 +45,86 @@ install_provider:: build_provider # Go SDK -gen_go_sdk:: +gen_go_sdk: .pulumi/bin/pulumi rm -rf sdk/go - cd provider/cmd/${CODEGEN} && go run . go ../../../sdk/go ${SCHEMA_PATH} - + .pulumi/bin/pulumi package gen-sdk ${SCHEMA_PATH} --language go --version ${VERSION_GENERIC} +build_go_sdk:: +generate_go: gen_go_sdk # Required by CI +build_go: # Required by CI +install_go_sdk:: # Required by CI # .NET SDK -gen_dotnet_sdk:: +gen_dotnet_sdk: .pulumi/bin/pulumi rm -rf sdk/dotnet - cd provider/cmd/${CODEGEN} && go run . dotnet ../../../sdk/dotnet ${SCHEMA_PATH} + .pulumi/bin/pulumi package gen-sdk ${SCHEMA_PATH} --language dotnet --version ${VERSION_GENERIC} -build_dotnet_sdk:: DOTNET_VERSION := $(shell pulumictl get version --language dotnet) build_dotnet_sdk:: gen_dotnet_sdk cd sdk/dotnet/ && \ - echo "${DOTNET_VERSION}" >version.txt && \ - dotnet build /p:Version=${DOTNET_VERSION} + dotnet build -install_dotnet_sdk:: build_dotnet_sdk +install_dotnet_sdk:: # Required by CI rm -rf ${WORKING_DIR}/nuget mkdir -p ${WORKING_DIR}/nuget find . -name '*.nupkg' -print -exec cp -p {} ${WORKING_DIR}/nuget \; +generate_dotnet: gen_dotnet_sdk # Required by CI +build_dotnet: build_dotnet_sdk # Required by CI # Node.js SDK -gen_nodejs_sdk:: +gen_nodejs_sdk: .pulumi/bin/pulumi rm -rf sdk/nodejs - cd provider/cmd/${CODEGEN} && go run . nodejs ../../../sdk/nodejs ${SCHEMA_PATH} + .pulumi/bin/pulumi package gen-sdk ${SCHEMA_PATH} --language nodejs --version ${VERSION_GENERIC} # HACKHACK: work around https://github.com/pulumi/pulumi/issues/7979: find sdk/nodejs -name "*.ts" -exec sed -i.bak \ 's/pulumiKubernetes\.types\.input\.\([a-zA-Z0-9]*\)\.\([a-zA-Z0-9]*\)\.\([a-zA-Z]*\)Args/pulumiKubernetes.types.input.\1.\2.\3/g' \ '{}' \; -build_nodejs_sdk:: VERSION := $(shell pulumictl get version --language javascript) build_nodejs_sdk:: gen_nodejs_sdk cd sdk/nodejs/ && \ yarn install && \ yarn run tsc --version && \ yarn run tsc && \ - cp -R scripts/ bin && \ - cp ../../README.md ../../LICENSE package.json yarn.lock ./bin/ && \ - sed -i.bak -e "s/\$${VERSION}/$(VERSION)/g" ./bin/package.json && \ - rm ./bin/package.json.bak + cp ../../README.md ../../LICENSE package.json yarn.lock ./bin/ -install_nodejs_sdk:: build_nodejs_sdk +generate_nodejs: gen_nodejs_sdk # Required by CI +build_nodejs: build_nodejs_sdk # Required by CI +install_nodejs_sdk:: # Required by CI yarn unlink ${PACK} || true yarn link --cwd ${WORKING_DIR}/sdk/nodejs/bin - # Python SDK -gen_python_sdk:: +gen_python_sdk: .pulumi/bin/pulumi rm -rf sdk/python - cd provider/cmd/${CODEGEN} && go run . python ../../../sdk/python ${SCHEMA_PATH} + .pulumi/bin/pulumi package gen-sdk ${SCHEMA_PATH} --language python --version ${VERSION_GENERIC} cp ${WORKING_DIR}/README.md sdk/python -build_python_sdk:: PYPI_VERSION := $(shell pulumictl get version --language python) build_python_sdk:: gen_python_sdk cd sdk/python/ && \ - python3 setup.py clean --all 2>/dev/null && \ rm -rf ./bin/ ../python.bin/ && cp -R . ../python.bin && mv ../python.bin ./bin && \ - sed -i.bak -e 's/^VERSION = .*/VERSION = "$(PYPI_VERSION)"/g' -e 's/^PLUGIN_VERSION = .*/PLUGIN_VERSION = "$(VERSION)"/g' ./bin/setup.py && \ - rm ./bin/setup.py.bak && \ - cd ./bin && python3 setup.py build sdist + python3 -m venv venv && \ + ./venv/bin/python -m pip install build && \ + cd ./bin && ../venv/bin/python -m build . -## Empty build target for Go -build_go_sdk:: +generate_python: gen_python_sdk # Required by CI +build_python: build_python_sdk # Required by CI +install_python_sdk:: # Required by CI + +# Java SDK + +generate_java: .pulumi/bin/pulumi # Required by CI + .pulumi/bin/pulumi package gen-sdk ${SCHEMA_PATH} -o sdk --language java + cp ${WORKING_DIR}/README.md sdk/java +build_java: generate_java # Required by CI + cd sdk/java && gradle --console=plain build + +install_java_sdk: # Required by CI + +# Pulumi for codegen + +.pulumi/bin/pulumi: PULUMI_VERSION := $(shell cat .pulumi.version) +.pulumi/bin/pulumi: HOME := $(WORKING_DIR) +.pulumi/bin/pulumi: .pulumi.version + curl -fsSL https://get.pulumi.com | sh -s -- --version "$(PULUMI_VERSION)" diff --git a/examples/examples_py_test.go b/examples/examples_py_test.go new file mode 100644 index 0000000..8941b63 --- /dev/null +++ b/examples/examples_py_test.go @@ -0,0 +1,47 @@ +//go:build python || all +// +build python all + +package examples + +import ( + "path/filepath" + "testing" + + "github.com/pulumi/pulumi/pkg/v3/testing/integration" +) + +func getPythonBaseOptions(t *testing.T) integration.ProgramTestOptions { + base := getBaseOptions(t) + basePython := base.With(integration.ProgramTestOptions{ + Dependencies: []string{ + filepath.Join("..", "sdk", "python", "bin"), + }, + }) + + return basePython +} + +// func TestPyExamples(t *testing.T) { +// tests := map[string]struct { +// directoryName string +// additionalConfig map[string]string +// }{ +// "TestSimpleCoreDNSPy": {directoryName: "simple-coredns-py"}, +// } +// for name, test := range tests { +// t.Run(name, func(t *testing.T) { +// p := pulumitest.NewPulumiTest(t, test.directoryName, +// opttest.LocalProviderPath("pulumi-kubernetes-coredns", filepath.Join(getCwd(t), "..", "bin")), +// ) +// if test.additionalConfig != nil { +// for key, value := range test.additionalConfig { +// p.SetConfig(t, key, value) +// } +// } +// p.Install(t) +// p.Up(t) +// p.Preview(t, optpreview.ExpectNoChanges()) +// p.Refresh(t, optrefresh.ExpectNoChanges()) +// }) +// } +// } diff --git a/examples/examples_test.go b/examples/examples_test.go new file mode 100644 index 0000000..5aae85f --- /dev/null +++ b/examples/examples_test.go @@ -0,0 +1,31 @@ +package examples + +import ( + "os" + "testing" + + "github.com/pulumi/pulumi/pkg/v3/testing/integration" +) + +func checkEnvVars(t *testing.T, envVar string) { + value := os.Getenv(envVar) + if value == "" { + t.Skipf("Skipping test due to missing %s environment variable", envVar) + } +} + +func getCwd(t *testing.T) string { + cwd, err := os.Getwd() + if err != nil { + t.FailNow() + } + + return cwd +} + +func getBaseOptions(t *testing.T) integration.ProgramTestOptions { + return integration.ProgramTestOptions{ + RunUpdateTest: false, + ExpectRefreshChanges: true, + } +} diff --git a/examples/examples_ts_test.go b/examples/examples_ts_test.go new file mode 100644 index 0000000..109d3e0 --- /dev/null +++ b/examples/examples_ts_test.go @@ -0,0 +1,39 @@ +//go:build nodejs || all +// +build nodejs all + +package examples + +import ( + "path/filepath" + "testing" + + "github.com/pulumi/providertest/pulumitest" + "github.com/pulumi/providertest/pulumitest/opttest" + "github.com/pulumi/pulumi/sdk/v3/go/auto/optpreview" + "github.com/pulumi/pulumi/sdk/v3/go/auto/optrefresh" +) + +func TestTsExamples(t *testing.T) { + tests := map[string]struct { + directoryName string + additionalConfig map[string]string + }{ + "TestSimpleCoreDNSTs": {directoryName: "simple-coredns-ts"}, + } + for name, test := range tests { + t.Run(name, func(t *testing.T) { + p := pulumitest.NewPulumiTest(t, test.directoryName, + opttest.LocalProviderPath("pulumi-kubernetes-coredns", filepath.Join(getCwd(t), "..", "bin")), + opttest.YarnLink("@pulumi/kubernetes-coredns"), + ) + if test.additionalConfig != nil { + for key, value := range test.additionalConfig { + p.SetConfig(t, key, value) + } + } + p.Up(t) + p.Preview(t, optpreview.ExpectNoChanges()) + p.Refresh(t, optrefresh.ExpectNoChanges()) + }) + } +} \ No newline at end of file diff --git a/examples/go.mod b/examples/go.mod new file mode 100644 index 0000000..e896d3d --- /dev/null +++ b/examples/go.mod @@ -0,0 +1,183 @@ +module github.com/pulumi/pulumi-kubernetes-coredns/examples + +go 1.23.4 + +require ( + github.com/pulumi/providertest v0.1.4 + github.com/pulumi/pulumi/pkg/v3 v3.144.1 + github.com/pulumi/pulumi/sdk/v3 v3.144.1 +) + +require ( + cloud.google.com/go v0.112.1 // indirect + cloud.google.com/go/compute/metadata v0.5.0 // indirect + cloud.google.com/go/iam v1.1.6 // indirect + cloud.google.com/go/kms v1.15.7 // indirect + cloud.google.com/go/logging v1.9.0 // indirect + cloud.google.com/go/longrunning v0.5.5 // indirect + cloud.google.com/go/storage v1.39.1 // indirect + dario.cat/mergo v1.0.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1 // indirect + github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect + github.com/BurntSushi/toml v1.2.1 // indirect + github.com/Microsoft/go-winio v0.6.1 // indirect + github.com/ProtonMail/go-crypto v1.0.0 // indirect + github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect + github.com/agext/levenshtein v1.2.3 // indirect + github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect + github.com/atotto/clipboard v0.1.4 // indirect + github.com/aws/aws-sdk-go v1.50.36 // indirect + github.com/aws/aws-sdk-go-v2 v1.26.1 // indirect + github.com/aws/aws-sdk-go-v2/config v1.27.11 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.11 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 // indirect + github.com/aws/aws-sdk-go-v2/service/kms v1.30.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 // indirect + github.com/aws/smithy-go v1.20.2 // indirect + github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect + github.com/blang/semver v3.5.1+incompatible // indirect + github.com/cenkalti/backoff/v3 v3.2.2 // indirect + github.com/charmbracelet/bubbles v0.16.1 // indirect + github.com/charmbracelet/bubbletea v0.25.0 // indirect + github.com/charmbracelet/lipgloss v0.7.1 // indirect + github.com/cheggaaa/pb v1.0.29 // indirect + github.com/cloudflare/circl v1.3.7 // indirect + github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect + github.com/cyphar/filepath-securejoin v0.2.4 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/deckarep/golang-set/v2 v2.5.0 // indirect + github.com/djherbis/times v1.5.0 // indirect + github.com/edsrzf/mmap-go v1.1.0 // indirect + github.com/emirpasic/gods v1.18.1 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect + github.com/go-git/go-billy/v5 v5.5.0 // indirect + github.com/go-git/go-git/v5 v5.12.0 // indirect + github.com/go-jose/go-jose/v3 v3.0.3 // indirect + github.com/go-logr/logr v1.4.1 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/gofrs/uuid v4.2.0+incompatible // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang-jwt/jwt/v5 v5.2.1 // indirect + github.com/golang/glog v1.2.2 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.4 // indirect + github.com/google/go-querystring v1.1.0 // indirect + github.com/google/s2a-go v0.1.7 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/google/wire v0.6.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect + github.com/googleapis/gax-go/v2 v2.12.2 // indirect + github.com/gorilla/mux v1.8.0 // indirect + github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/go-retryablehttp v0.7.7 // indirect + github.com/hashicorp/go-rootcerts v1.0.2 // indirect + github.com/hashicorp/go-secure-stdlib/parseutil v0.1.8 // indirect + github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect + github.com/hashicorp/go-sockaddr v1.0.6 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hashicorp/hcl/v2 v2.22.0 // indirect + github.com/hashicorp/vault/api v1.12.0 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/kevinburke/ssh_config v1.2.0 // indirect + github.com/kylelemons/godebug v1.1.0 // indirect + github.com/lucasb-eyer/go-colorful v1.2.0 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-localereader v0.0.1 // indirect + github.com/mattn/go-runewidth v0.0.15 // indirect + github.com/mitchellh/copystructure v1.2.0 // indirect + github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mitchellh/go-ps v1.0.0 // indirect + github.com/mitchellh/go-wordwrap v1.0.1 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect + github.com/muesli/cancelreader v0.2.2 // indirect + github.com/muesli/reflow v0.3.0 // indirect + github.com/muesli/termenv v0.15.2 // indirect + github.com/natefinch/atomic v1.0.1 // indirect + github.com/nxadm/tail v1.4.11 // indirect + github.com/opentracing/basictracer-go v1.1.0 // indirect + github.com/opentracing/opentracing-go v1.2.0 // indirect + github.com/pgavlin/fx v0.1.6 // indirect + github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect + github.com/pjbgf/sha1cd v0.3.0 // indirect + github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/pkg/term v1.1.0 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect + github.com/pulumi/esc v0.10.0 // indirect + github.com/rivo/uniseg v0.4.4 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + github.com/ryanuber/go-glob v1.0.0 // indirect + github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect + github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect + github.com/segmentio/asm v1.1.3 // indirect + github.com/segmentio/encoding v0.3.5 // indirect + github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect + github.com/skeema/knownhosts v1.2.2 // indirect + github.com/spf13/cobra v1.8.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/stretchr/testify v1.9.0 // indirect + github.com/texttheater/golang-levenshtein v1.0.1 // indirect + github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect + github.com/uber/jaeger-lib v2.4.1+incompatible // indirect + github.com/xanzy/ssh-agent v0.3.3 // indirect + github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect + github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect + github.com/xeipuuv/gojsonschema v1.2.0 // indirect + github.com/zclconf/go-cty v1.13.2 // indirect + go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect + go.opentelemetry.io/otel v1.24.0 // indirect + go.opentelemetry.io/otel/metric v1.24.0 // indirect + go.opentelemetry.io/otel/trace v1.24.0 // indirect + go.uber.org/atomic v1.9.0 // indirect + gocloud.dev v0.37.0 // indirect + gocloud.dev/secrets/hashivault v0.37.0 // indirect + golang.org/x/crypto v0.31.0 // indirect + golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect + golang.org/x/mod v0.18.0 // indirect + golang.org/x/net v0.33.0 // indirect + golang.org/x/oauth2 v0.22.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect + golang.org/x/time v0.5.0 // indirect + golang.org/x/tools v0.22.0 // indirect + golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect + google.golang.org/api v0.169.0 // indirect + google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect + gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect + gopkg.in/warnings.v0 v0.1.2 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect + lukechampine.com/frand v1.4.2 // indirect +) diff --git a/examples/go.sum b/examples/go.sum new file mode 100644 index 0000000..a309874 --- /dev/null +++ b/examples/go.sum @@ -0,0 +1,640 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.112.1 h1:uJSeirPke5UNZHIb4SxfZklVSiWWVqW4oXlETwZziwM= +cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4= +cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= +cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= +cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= +cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= +cloud.google.com/go/kms v1.15.7 h1:7caV9K3yIxvlQPAcaFffhlT7d1qpxjB1wHBtjWa13SM= +cloud.google.com/go/kms v1.15.7/go.mod h1:ub54lbsa6tDkUwnu4W7Yt1aAIFLnspgh0kPGToDukeI= +cloud.google.com/go/logging v1.9.0 h1:iEIOXFO9EmSiTjDmfpbRjOxECO7R8C7b8IXUGOj7xZw= +cloud.google.com/go/logging v1.9.0/go.mod h1:1Io0vnZv4onoUnsVUQY3HZ3Igb1nBchky0A0y7BBBhE= +cloud.google.com/go/longrunning v0.5.5 h1:GOE6pZFdSrTb4KAiKnXsJBtlE6mEyaW44oKyMILWnOg= +cloud.google.com/go/longrunning v0.5.5/go.mod h1:WV2LAxD8/rg5Z1cNW6FJ/ZpX4E4VnDnoTk0yawPBB7s= +cloud.google.com/go/storage v1.39.1 h1:MvraqHKhogCOTXTlct/9C3K3+Uy2jBmFYb3/Sp6dVtY= +cloud.google.com/go/storage v1.39.1/go.mod h1:xK6xZmxZmo+fyP7+DEF6FhNc24/JAe95OLyOHCXFH1o= +dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 h1:E+OJmp2tPvt1W+amx48v1eqbjDYsgN+RzP4q16yV5eM= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1/go.mod h1:a6xsAQUZg+VsS3TJ05SRp524Hs4pZ/AeFSr5ENf0Yjo= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0 h1:U2rTu3Ef+7w9FHKIAXM6ZyqF3UOWJZ12zIm8zECAFfg= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 h1:jBQA3cKT4L2rWMpgE7Yt3Hwh2aUj8KXjIGLxjHeYNNo= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0/go.mod h1:4OG6tQ9EOP/MT0NMjDlRzWoVFxfu9rN9B2X+tlSVktg= +github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0 h1:m/sWOGCREuSBqg2htVQTBY8nOZpyajYztF0vUvSZTuM= +github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0/go.mod h1:Pu5Zksi2KrU7LPbZbNINx6fuVrUp/ffvpxdDj+i8LeE= +github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1 h1:FbH3BbSb4bvGluTesZZ+ttN/MDsnMmQP36OSnDuSXqw= +github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1/go.mod h1:9V2j0jn9jDEkCkv8w/bKTNppX/d0FVA1ud77xCIP4KA= +github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU= +github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= +github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= +github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78= +github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= +github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= +github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= +github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= +github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= +github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= +github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= +github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= +github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= +github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= +github.com/aws/aws-sdk-go v1.50.36 h1:PjWXHwZPuTLMR1NIb8nEjLucZBMzmf84TLoLbD8BZqk= +github.com/aws/aws-sdk-go v1.50.36/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/aws/aws-sdk-go-v2 v1.26.1 h1:5554eUqIYVWpU0YmeeYZ0wU64H2VLBs8TlhRB2L+EkA= +github.com/aws/aws-sdk-go-v2 v1.26.1/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 h1:x6xsQXGSmW6frevwDA+vi/wqhp1ct18mVXYN08/93to= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2/go.mod h1:lPprDr1e6cJdyYeGXnRaJoP4Md+cDBvi2eOj00BlGmg= +github.com/aws/aws-sdk-go-v2/config v1.27.11 h1:f47rANd2LQEYHda2ddSCKYId18/8BhSRM4BULGmfgNA= +github.com/aws/aws-sdk-go-v2/config v1.27.11/go.mod h1:SMsV78RIOYdve1vf36z8LmnszlRWkwMQtomCAI0/mIE= +github.com/aws/aws-sdk-go-v2/credentials v1.17.11 h1:YuIB1dJNf1Re822rriUOTxopaHHvIq0l/pX3fwO+Tzs= +github.com/aws/aws-sdk-go-v2/credentials v1.17.11/go.mod h1:AQtFPsDH9bI2O+71anW6EKL+NcD7LG3dpKGMV4SShgo= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 h1:FVJ0r5XTHSmIHJV6KuDmdYhEpvlHpiSd38RQWhut5J4= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1/go.mod h1:zusuAeqezXzAB24LGuzuekqMAEgWkVYukBec3kr3jUg= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15 h1:7Zwtt/lP3KNRkeZre7soMELMGNoBrutx8nobg1jKWmo= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15/go.mod h1:436h2adoHb57yd+8W+gYPrrA9U/R/SuAuOO42Ushzhw= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 h1:aw39xVGeRWlWx9EzGVnhOR4yOjQDHPQ6o6NmBlscyQg= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5/go.mod h1:FSaRudD0dXiMPK2UjknVwwTYyZMRsHv3TtkabsZih5I= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 h1:PG1F3OD1szkuQPzDw3CIQsRIrtTlUC3lP84taWzHlq0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5/go.mod h1:jU1li6RFryMz+so64PpKtudI+QzbKoIEivqdf6LNpOc= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.5 h1:81KE7vaZzrl7yHBYHVEzYB8sypz11NMOZ40YlWvPxsU= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.5/go.mod h1:LIt2rg7Mcgn09Ygbdh/RdIm0rQ+3BNkbP1gyVMFtRK0= +github.com/aws/aws-sdk-go-v2/service/iam v1.31.4 h1:eVm30ZIDv//r6Aogat9I88b5YX1xASSLcEDqHYRPVl0= +github.com/aws/aws-sdk-go-v2/service/iam v1.31.4/go.mod h1:aXWImQV0uTW35LM0A/T4wEg6R1/ReXUu4SM6/lUHYK0= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 h1:Ji0DY1xUsUr3I8cHps0G+XM3WWU16lP6yG8qu1GAZAs= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2/go.mod h1:5CsjAbs3NlGQyZNFACh+zztPDI7fU6eW9QsxjfnuBKg= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.7 h1:ZMeFZ5yk+Ek+jNr1+uwCd2tG89t6oTS5yVWpa6yy2es= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.7/go.mod h1:mxV05U+4JiHqIpGqqYXOHLPKUC6bDXC44bsUhNjOEwY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 h1:ogRAwT1/gxJBcSWDMZlgyFUM962F51A5CRhDLbxLdmo= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7/go.mod h1:YCsIZhXfRPLFFCl5xxY+1T9RKzOKjCut+28JSX2DnAk= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 h1:f9RyWNtS8oH7cZlbn+/JNPpjUk5+5fLd5lM9M0i49Ys= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5/go.mod h1:h5CoMZV2VF297/VLhRhO1WF+XYWOzXo+4HsObA4HjBQ= +github.com/aws/aws-sdk-go-v2/service/kms v1.30.1 h1:SBn4I0fJXF9FYOVRSVMWuhvEKoAHDikjGpS3wlmw5DE= +github.com/aws/aws-sdk-go-v2/service/kms v1.30.1/go.mod h1:2snWQJQUKsbN66vAawJuOGX7dr37pfOq9hb0tZDGIqQ= +github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1 h1:6cnno47Me9bRykw9AEv9zkXE+5or7jz8TsskTTccbgc= +github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1/go.mod h1:qmdkIIAC+GCLASF7R2whgNrJADz0QZPX+Seiw/i4S3o= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 h1:vN8hEbpRnL7+Hopy9dzmRle1xmDc7o8tmY0klsr175w= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.5/go.mod h1:qGzynb/msuZIE8I75DVRCUXw3o3ZyBmUvMwQ2t/BrGM= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4 h1:Jux+gDDyi1Lruk+KHF91tK2KCuY61kzoCpvtvJJBtOE= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4/go.mod h1:mUYPBhaF2lGiukDEjJX2BLRRKTmoUSitGDUgM4tRxak= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 h1:cwIxeBttqPN3qkaAjcEcsh8NYr8n2HZPkcKgPAi1phU= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.6/go.mod h1:FZf1/nKNEkHdGGJP/cI2MoIMquumuRK6ol3QQJNDxmw= +github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q= +github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= +github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= +github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= +github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= +github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M= +github.com/cenkalti/backoff/v3 v3.2.2/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/charmbracelet/bubbles v0.16.1 h1:6uzpAAaT9ZqKssntbvZMlksWHruQLNxg49H5WdeuYSY= +github.com/charmbracelet/bubbles v0.16.1/go.mod h1:2QCp9LFlEsBQMvIYERr7Ww2H2bA7xen1idUDIzm/+Xc= +github.com/charmbracelet/bubbletea v0.25.0 h1:bAfwk7jRz7FKFl9RzlIULPkStffg5k6pNt5dywy4TcM= +github.com/charmbracelet/bubbletea v0.25.0/go.mod h1:EN3QDR1T5ZdWmdfDzYcqOCAps45+QIJbLOBxmVNWNNg= +github.com/charmbracelet/lipgloss v0.7.1 h1:17WMwi7N1b1rVWOjMT+rCh7sQkvDU75B2hbZpc5Kc1E= +github.com/charmbracelet/lipgloss v0.7.1/go.mod h1:yG0k3giv8Qj8edTCbbg6AlQ5e8KNWpFujkNawKNhE2c= +github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= +github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= +github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= +github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/deckarep/golang-set/v2 v2.5.0 h1:hn6cEZtQ0h3J8kFrHR/NrzyOoTnjgW1+FmNJzQ7y/sA= +github.com/deckarep/golang-set/v2 v2.5.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= +github.com/djherbis/times v1.5.0 h1:79myA211VwPhFTqUk8xehWrsEO+zcIZj0zT8mXPVARU= +github.com/djherbis/times v1.5.0/go.mod h1:5q7FDLvbNg1L/KaBmPcWlVR9NmoKo3+ucqUA3ijQhA0= +github.com/edsrzf/mmap-go v1.1.0 h1:6EUwBLQ/Mcr1EYLE4Tn1VdW1A4ckqCQWZBw8Hr0kjpQ= +github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= +github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= +github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/gkampitakis/ciinfo v0.3.0 h1:gWZlOC2+RYYttL0hBqcoQhM7h1qNkVqvRCV1fOvpAv8= +github.com/gkampitakis/ciinfo v0.3.0/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= +github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M= +github.com/gkampitakis/go-diff v1.3.2/go.mod h1:LLgOrpqleQe26cte8s36HTWcTmMEur6OPYerdAAS9tk= +github.com/gkampitakis/go-snaps v0.4.9 h1:x6+GEQeYWC+cnLNsHK5uXXgEQADmlH/1EqMrjfXjzk8= +github.com/gkampitakis/go-snaps v0.4.9/go.mod h1:8HW4KX3JKV8M0GSw69CvT+Jqhd1AlBPMPpBfjBI3bdY= +github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE= +github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= +github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= +github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= +github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys= +github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY= +github.com/go-jose/go-jose/v3 v3.0.3 h1:fFKWeig/irsp7XD2zBxvnmA/XaRWp5V3CBsZXJF7G7k= +github.com/go-jose/go-jose/v3 v3.0.3/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= +github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= +github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= +github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= +github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= +github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= +github.com/google/go-replayers/grpcreplay v1.1.0 h1:S5+I3zYyZ+GQz68OfbURDdt/+cSMqCK1wrvNx7WBzTE= +github.com/google/go-replayers/grpcreplay v1.1.0/go.mod h1:qzAvJ8/wi57zq7gWqaE6AwLM6miiXUQwP1S+I9icmhk= +github.com/google/go-replayers/httpreplay v1.2.0 h1:VM1wEyyjaoU53BwrOnaf9VhAyQQEEioJvFYxYcLRKzk= +github.com/google/go-replayers/httpreplay v1.2.0/go.mod h1:WahEFFZZ7a1P4VM1qEeHy+tME4bwyqPcwWbNlUI1Mcg= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= +github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= +github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/wire v0.6.0 h1:HBkoIh4BdSxoyo9PveV8giw7ZsaBOvzWKfcg/6MrVwI= +github.com/google/wire v0.6.0/go.mod h1:F4QhpQ9EDIdJ1Mbop/NZBRB+5yrR6qg3BnctaoUk6NA= +github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= +github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= +github.com/googleapis/gax-go/v2 v2.12.2 h1:mhN09QQW1jEWeMF74zGR81R30z4VJzjZsfkUhuHF+DA= +github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= +github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= +github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISHxT2Q8+VepXU= +github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= +github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.8 h1:iBt4Ew4XEGLfh6/bPk4rSYmuZJGizr6/x/AEizP0CQc= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.8/go.mod h1:aiJI+PIApBRQG7FZTEBx5GiiX+HbOHilUdNxUZi4eV0= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 h1:kes8mmyCpxJsI7FTwtzRqEy9CdjCtrXrXGuOpxEA7Ts= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4= +github.com/hashicorp/go-sockaddr v1.0.6 h1:RSG8rKU28VTUTvEKghe5gIhIQpv8evvNpnDEyqO4u9I= +github.com/hashicorp/go-sockaddr v1.0.6/go.mod h1:uoUUmtwU7n9Dv3O4SNLeFvg0SxQ3lyjsj6+CCykpaxI= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/hcl/v2 v2.22.0 h1:hkZ3nCtqeJsDhPRFz5EA9iwcG1hNWGePOTw6oyul12M= +github.com/hashicorp/hcl/v2 v2.22.0/go.mod h1:62ZYHrXgPoX8xBnzl8QzbWq4dyDsDtfCRgIq1rbJEvA= +github.com/hashicorp/vault/api v1.12.0 h1:meCpJSesvzQyao8FCOgk2fGdoADAnbDu2WPJN1lDLJ4= +github.com/hashicorp/vault/api v1.12.0/go.mod h1:si+lJCYO7oGkIoNPAN8j3azBLTn9SjMGS+jFaHd1Cck= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= +github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= +github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= +github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= +github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= +github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= +github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= +github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= +github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D264iyp3TiX5OmNcI5cIARiQI= +github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo= +github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= +github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= +github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= +github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8= +github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo= +github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8= +github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0A= +github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM= +github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= +github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= +github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= +github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= +github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0= +github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU= +github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M= +github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 h1:LoCV5cscNVWyK5ChN/uCoIFJz8jZD63VQiGJIRgr6uo= +github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386/go.mod h1:MRxHTJrf9FhdfNQ8Hdeh9gmHevC9RJE/fu8M3JIGjoE= +github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= +github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk= +github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0= +github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= +github.com/pulumi/esc v0.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE= +github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c= +github.com/pulumi/providertest v0.1.4 h1:25AeDXEcQLtRxJgcDG5TISYpOMoVoQHhv69vzfJtHws= +github.com/pulumi/providertest v0.1.4/go.mod h1:bU07oPwpgNjGuuIT6CPnI/eLXaGHqhypFrxX5ZsABo4= +github.com/pulumi/pulumi/pkg/v3 v3.144.1 h1:64mVLQDEZa2GN52rTKSyXlA3r+APoqDXrNdkzlASyvs= +github.com/pulumi/pulumi/pkg/v3 v3.144.1/go.mod h1:q2wZOcwXVI/+OBtEXD6mLS7shhRMgsIGTo/uWfo0q04= +github.com/pulumi/pulumi/sdk/v3 v3.144.1 h1:QQtCDERihhlfvcmRzqHeBmOER1Fg1VkFj9933Lxqv00= +github.com/pulumi/pulumi/sdk/v3 v3.144.1/go.mod h1:/6gxU2XirnLlImBy5OoqV6I4HcjOf+IznNIZNZExZzo= +github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= +github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= +github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= +github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI= +github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= +github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9AmsA2Bj/iv+s4JHE= +github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= +github.com/segmentio/asm v1.1.3 h1:WM03sfUOENvvKexOLp+pCqgb/WDjsi7EK8gIsICtzhc= +github.com/segmentio/asm v1.1.3/go.mod h1:Ld3L4ZXGNcSLRg4JBsZ3//1+f/TjYl0Mzen/DQy1EJg= +github.com/segmentio/encoding v0.3.5 h1:UZEiaZ55nlXGDL92scoVuw00RmiRCazIEmvPSbSvt8Y= +github.com/segmentio/encoding v0.3.5/go.mod h1:n0JeuIqEQrQoPDGsjo8UNd1iA0U8d8+oHAA4E3G3OxM= +github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= +github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A= +github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= +github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= +github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= +github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8= +github.com/tidwall/gjson v1.17.0 h1:/Jocvlh98kcTfpN2+JzGQWQcqrPQwDrVEMApx/M5ZwM= +github.com/tidwall/gjson v1.17.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= +github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= +github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= +github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= +github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= +github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= +github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= +github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= +go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= +go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= +go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= +go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= +go.opentelemetry.io/otel/sdk v1.22.0 h1:6coWHw9xw7EfClIC/+O31R8IY3/+EiRFHevmHafB2Gw= +go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc= +go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= +go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +gocloud.dev v0.37.0 h1:XF1rN6R0qZI/9DYjN16Uy0durAmSlf58DHOcb28GPro= +gocloud.dev v0.37.0/go.mod h1:7/O4kqdInCNsc6LqgmuFnS0GRew4XNNYWpA44yQnwco= +gocloud.dev/secrets/hashivault v0.37.0 h1:5ehGtUBP29DFAgAs6bPw7fVSgqQ3TxaoK2xVcLp1x+c= +gocloud.dev/secrets/hashivault v0.37.0/go.mod h1:4ClUWjBfP8wLdGts56acjHz3mWLuATMoH9vi74FjIv8= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM= +golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= +golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= +golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= +golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= +golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= +google.golang.org/api v0.169.0 h1:QwWPy71FgMWqJN/l6jVlFHUa29a7dcUy02I8o799nPY= +google.golang.org/api v0.169.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 h1:ImUcDPHjTrAqNhlOkSocDLfG9rrNHH7w7uoKWPaWZ8s= +google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7/go.mod h1:/3XmxOjePkvmKrHuBy4zNFw7IzxJXtAgdpXi8Ll990U= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 h1:wKguEg1hsxI2/L3hUYrpo1RVi48K+uTyzKqprwLXsb8= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= +lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= +pgregory.net/rapid v0.6.1 h1:4eyrDxyht86tT4Ztm+kvlyNBLIk071gR+ZQdhphc9dQ= +pgregory.net/rapid v0.6.1/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= diff --git a/examples/simple-coredns-py/requirements.txt b/examples/simple-coredns-py/requirements.txt index 7c4529b..96a9917 100644 --- a/examples/simple-coredns-py/requirements.txt +++ b/examples/simple-coredns-py/requirements.txt @@ -1,3 +1,3 @@ pulumi>=3.0.0,<4.0.0 -pulumi-kubernetes>=3.0.0,<4.0.0 +pulumi-kubernetes>=4.0.0,<5.0.0 pulumi-kubernetes-coredns>=0.0.1 diff --git a/examples/simple-coredns-ts/package.json b/examples/simple-coredns-ts/package.json index d28b695..e3aaae6 100644 --- a/examples/simple-coredns-ts/package.json +++ b/examples/simple-coredns-ts/package.json @@ -5,6 +5,6 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/kubernetes": "^3.0.0" + "@pulumi/kubernetes": "^4.0.0" } -} +} \ No newline at end of file diff --git a/provider/cmd/pulumi-gen-kubernetes-coredns/main.go b/provider/cmd/pulumi-gen-kubernetes-coredns/main.go deleted file mode 100644 index ddc7182..0000000 --- a/provider/cmd/pulumi-gen-kubernetes-coredns/main.go +++ /dev/null @@ -1,110 +0,0 @@ -// Copyright 2016-2021, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package main - -import ( - "encoding/json" - "fmt" - "io/ioutil" - "os" - "path/filepath" - - "github.com/pkg/errors" - dotnetgen "github.com/pulumi/pulumi/pkg/v3/codegen/dotnet" - gogen "github.com/pulumi/pulumi/pkg/v3/codegen/go" - nodejsgen "github.com/pulumi/pulumi/pkg/v3/codegen/nodejs" - pygen "github.com/pulumi/pulumi/pkg/v3/codegen/python" - "github.com/pulumi/pulumi/pkg/v3/codegen/schema" -) - -func main() { - if len(os.Args) < 4 { - fmt.Printf("Usage: %s \n", os.Args[0]) - os.Exit(1) - } - - language, outdir, schemaPath := os.Args[1], os.Args[2], os.Args[3] - - err := emitSDK(language, outdir, schemaPath) - if err != nil { - fmt.Printf("Failed: %s", err.Error()) - } -} - -func emitSDK(language, outdir, schemaPath string) error { - pkg, err := readSchema(schemaPath) - if err != nil { - return err - } - - tool := "Pulumi SDK Generator" - extraFiles := map[string][]byte{} - - var generator func() (map[string][]byte, error) - switch language { - case "dotnet": - generator = func() (map[string][]byte, error) { return dotnetgen.GeneratePackage(tool, pkg, extraFiles) } - case "go": - generator = func() (map[string][]byte, error) { return gogen.GeneratePackage(tool, pkg) } - case "nodejs": - generator = func() (map[string][]byte, error) { return nodejsgen.GeneratePackage(tool, pkg, extraFiles) } - case "python": - generator = func() (map[string][]byte, error) { return pygen.GeneratePackage(tool, pkg, extraFiles) } - default: - return errors.Errorf("Unrecognized language %q", language) - } - - files, err := generator() - if err != nil { - return errors.Wrapf(err, "generating %s package", language) - } - - for f, contents := range files { - if err := emitFile(outdir, f, contents); err != nil { - return errors.Wrapf(err, "emitting file %v", f) - } - } - - return nil -} - -func readSchema(schemaPath string) (*schema.Package, error) { - schemaBytes, err := ioutil.ReadFile(schemaPath) - if err != nil { - return nil, errors.Wrap(err, "reading schema") - } - - var spec schema.PackageSpec - if err = json.Unmarshal(schemaBytes, &spec); err != nil { - return nil, errors.Wrap(err, "unmarshalling schema") - } - - pkg, err := schema.ImportSpec(spec, nil) - if err != nil { - return nil, errors.Wrap(err, "importing schema") - } - return pkg, nil -} - -func emitFile(rootDir, filename string, contents []byte) error { - outPath := filepath.Join(rootDir, filename) - if err := os.MkdirAll(filepath.Dir(outPath), 0755); err != nil { - return err - } - if err := ioutil.WriteFile(outPath, contents, 0600); err != nil { - return err - } - return nil -} diff --git a/provider/cmd/pulumi-resource-kubernetes-coredns/generate.go b/provider/cmd/pulumi-resource-kubernetes-coredns/generate.go deleted file mode 100644 index 93a196c..0000000 --- a/provider/cmd/pulumi-resource-kubernetes-coredns/generate.go +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2016-2021, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// +build ignore - -package main - -import ( - "encoding/json" - "fmt" - "io/ioutil" - "log" - "os" - - "github.com/pulumi/pulumi/pkg/v3/codegen/schema" -) - -func main() { - version, found := os.LookupEnv("VERSION") - if !found { - log.Fatal("version not found") - } - - schemaPath, found := os.LookupEnv("SCHEMA") - if !found { - log.Fatal("schema not found") - } - - schemaContents, err := ioutil.ReadFile(schemaPath) - if err != nil { - log.Fatal(err) - } - - var packageSpec schema.PackageSpec - err = json.Unmarshal(schemaContents, &packageSpec) - if err != nil { - log.Fatalf("cannot deserialize schema: %v", err) - } - - packageSpec.Version = version - versionedContents, err := json.Marshal(packageSpec) - if err != nil { - log.Fatalf("cannot reserialize schema: %v", err) - } - - err = ioutil.WriteFile("./schema.go", []byte(fmt.Sprintf(`package main -var pulumiSchema = %#v -`, versionedContents)), 0600) - if err != nil { - log.Fatal(err) - } -} diff --git a/provider/cmd/pulumi-resource-kubernetes-coredns/main.go b/provider/cmd/pulumi-resource-kubernetes-coredns/main.go index c61d150..86ee6d1 100644 --- a/provider/cmd/pulumi-resource-kubernetes-coredns/main.go +++ b/provider/cmd/pulumi-resource-kubernetes-coredns/main.go @@ -12,15 +12,18 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:generate go run ./generate.go - package main import ( + _ "embed" + "github.com/pulumi/pulumi-kubernetes-coredns/pkg/provider" "github.com/pulumi/pulumi-kubernetes-coredns/pkg/version" ) +//go:embed schema.json +var pulumiSchema []byte + func main() { provider.Serve(version.Version, pulumiSchema) } diff --git a/provider/cmd/pulumi-resource-kubernetes-coredns/schema.json b/provider/cmd/pulumi-resource-kubernetes-coredns/schema.json index b374d36..b2e1d46 100644 --- a/provider/cmd/pulumi-resource-kubernetes-coredns/schema.json +++ b/provider/cmd/pulumi-resource-kubernetes-coredns/schema.json @@ -1,6 +1,8 @@ { "name": "kubernetes-coredns", "displayName": "Kubernetes CoreDNS", + "description": "Strongly-typed CoreDNS installation", + "repository": "https://github.com/pulumi/pulumi-kubernetes-coredns", "keywords": [ "pulumi", "kubernetes", @@ -9,21 +11,23 @@ "category/infrastructure" ], "publisher": "Pulumi", + "homepage": "https://pulumi.io", + "license": "Apache-2.0", "resources": { "kubernetes-coredns:index:CoreDNS": { "description": "Enable fast and flexible in-cluster DNS.", "isComponent": true, "inputProperties": { "affinity": { - "$ref": "/kubernetes/v3.8.1/schema.json#/types/kubernetes:core/v1:Affinity", - "description": "Affinity settings for pod assignment\t." + "$ref": "/kubernetes/v4.19.0/schema.json#/types/kubernetes:core/v1:Affinity", + "description": "Affinity settings for pod assignment." }, "autoscaler": { "$ref": "#/types/kubernetes-coredns:index:CoreDNSAutoscaler", "description": "Configue a cluster-proportional-autoscaler for coredns. See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler." }, "autoscaling": { - "$ref": "/kubernetes/v3.8.1/schema.json#/types/kubernetes:autoscaling/v2beta2:HorizontalPodAutoscalerSpec", + "$ref": "/kubernetes/v4.19.0/schema.json#/types/kubernetes:autoscaling/v2beta2:HorizontalPodAutoscalerSpec", "description": "Create HorizontalPodAutoscaler object." }, "deployment": { @@ -33,21 +37,21 @@ "extraSecrets": { "description": "Optional array of secrets to mount inside coredns container. Possible usecase: need for secure connection with etcd backend. Optional array of mount points for extraVolumes.", "items": { - "$ref": "/kubernetes/v3.8.1/schema.json#/types/kubernetes:core/v1:VolumeMount" + "$ref": "/kubernetes/v4.19.0/schema.json#/types/kubernetes:core/v1:VolumeMount" }, "type": "array" }, "extraVolumeMounts": { "description": "Optional array of mount points for extraVolumes.", "items": { - "$ref": "/kubernetes/v3.8.1/schema.json#/types/kubernetes:core/v1:VolumeMount" + "$ref": "/kubernetes/v4.19.0/schema.json#/types/kubernetes:core/v1:VolumeMount" }, "type": "array" }, "extraVolumes": { "description": "Optional array of extra volumes to create.", "items": { - "$ref": "/kubernetes/v3.8.1/schema.json#/types/kubernetes:core/v1:Volume" + "$ref": "/kubernetes/v4.19.0/schema.json#/types/kubernetes:core/v1:Volume" }, "type": "array" }, @@ -68,7 +72,7 @@ "type": "boolean" }, "livenessProbe": { - "$ref": "/kubernetes/v3.8.1/schema.json#/types/kubernetes:core/v1:Probe", + "$ref": "/kubernetes/v4.19.0/schema.json#/types/kubernetes:core/v1:Probe", "description": "Configure the liveness probe. To use the livenessProbe, the health plugin needs to be enabled in CoreDNS' server config." }, "nodeSelector": { @@ -86,7 +90,7 @@ "type": "object" }, "podDisruptionBudget": { - "$ref": "/kubernetes/v3.8.1/schema.json#/types/kubernetes:policy/v1:PodDisruptionBudgetSpec", + "$ref": "/kubernetes/v4.19.0/schema.json#/types/kubernetes:policy/v1:PodDisruptionBudgetSpec", "description": "Optional PodDisruptionBudget." }, "preStopSleep": { @@ -106,7 +110,7 @@ "description": "Configure CoreDNS RBAC resources." }, "readinessProbe": { - "$ref": "/kubernetes/v3.8.1/schema.json#/types/kubernetes:core/v1:Probe", + "$ref": "/kubernetes/v4.19.0/schema.json#/types/kubernetes:core/v1:Probe", "description": "Configure the readiness probe. To use the readinessProbe, the health plugin needs to be enabled in CoreDNS' server config." }, "replicaCount": { @@ -114,11 +118,11 @@ "type": "integer" }, "resources": { - "$ref": "/kubernetes/v3.8.1/schema.json#/types/kubernetes:core/v1:ResourceRequirements", + "$ref": "/kubernetes/v4.19.0/schema.json#/types/kubernetes:core/v1:ResourceRequirements", "description": "Container resource limits." }, "rollingUpdate": { - "$ref": "/kubernetes/v3.8.1/schema.json#/types/kubernetes:apps/v1:RollingUpdateDeployment" + "$ref": "/kubernetes/v4.19.0/schema.json#/types/kubernetes:apps/v1:RollingUpdateDeployment" }, "servers": { "description": "Configuration for CoreDNS and plugins. Default zone is what Kubernetes recommends: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns-configmap-options", @@ -146,7 +150,7 @@ "tolerations": { "description": "Tolerations for pod assignment.", "items": { - "$ref": "/kubernetes/v3.8.1/schema.json#/types/kubernetes:core/v1:Toleration" + "$ref": "/kubernetes/v4.19.0/schema.json#/types/kubernetes:core/v1:Toleration" }, "type": "array" }, @@ -467,7 +471,7 @@ "type": "integer" }, "metrics": { - "$ref": "/kubernetes/v3.8.1/schema.json#/types/kubernetes:autoscaling/v2beta2:MetricSpec" + "$ref": "/kubernetes/v4.19.0/schema.json#/types/kubernetes:autoscaling/v2beta2:MetricSpec" }, "minReplicas": { "type": "integer" @@ -696,26 +700,47 @@ }, "packageReferences": { "Pulumi": "3.*", - "Pulumi.Kubernetes": "3.*" - } + "Pulumi.Kubernetes": "4.*" + }, + "respectSchemaVersion": true }, "go": { "generateResourceContainerTypes": true, - "importBasePath": "github.com/pulumi/pulumi-kubernetes-coredns/sdk/go/kubernetes-coredns" + "importBasePath": "github.com/pulumi/pulumi-kubernetes-coredns/sdk/go/kubernetes-coredns", + "generateExtraInputTypes": true, + "respectSchemaVersion": true + }, + "java": { + "basePackage": "", + "buildFiles": "gradle", + "dependencies": { + "com.google.code.findbugs:jsr305": "3.0.2", + "com.google.code.gson:gson": "2.8.9", + "com.pulumi:pulumi": "0.20.0", + "com.pulumi:kubernetes": "4.19.0" + }, + "gradleNexusPublishPluginVersion": "1.1.0", + "gradleTest": "" }, "nodejs": { "dependencies": { - "@pulumi/kubernetes": "^3.7.1" + "@pulumi/pulumi": "^3.0.0", + "@pulumi/kubernetes": "^4.0.0" }, "devDependencies": { - "typescript": "^3.7.0" - } + "typescript": "^4.3.5" + }, + "respectSchemaVersion": true }, "python": { "requires": { "pulumi": ">=3.0.0,<4.0.0", - "pulumi-kubernetes": ">=3.7.1,<4.0.0" - } + "pulumi-kubernetes": ">=4.19.0,<5.0.0" + }, + "pyproject": { + "enabled": true + }, + "respectSchemaVersion": true } } -} +} \ No newline at end of file diff --git a/provider/go.mod b/provider/go.mod index ff41cf3..ff686a0 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -1,11 +1,95 @@ module github.com/pulumi/pulumi-kubernetes-coredns -go 1.15 +go 1.22.4 require ( - github.com/pkg/errors v0.9.1 - github.com/pulumi/pulumi-go-helmbase v0.0.14 - github.com/pulumi/pulumi-kubernetes/sdk/v3 v3.19.1 - github.com/pulumi/pulumi/pkg/v3 v3.32.1 - github.com/pulumi/pulumi/sdk/v3 v3.32.1 + github.com/pulumi/pulumi-go-helmbase v0.1.0 + github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.19.0 + github.com/pulumi/pulumi/pkg/v3 v3.144.1 + github.com/pulumi/pulumi/sdk/v3 v3.144.1 +) + +require ( + dario.cat/mergo v1.0.0 // indirect + github.com/BurntSushi/toml v1.2.1 // indirect + github.com/Microsoft/go-winio v0.6.1 // indirect + github.com/ProtonMail/go-crypto v1.0.0 // indirect + github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect + github.com/agext/levenshtein v1.2.3 // indirect + github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect + github.com/atotto/clipboard v0.1.4 // indirect + github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect + github.com/blang/semver v3.5.1+incompatible // indirect + github.com/charmbracelet/bubbles v0.16.1 // indirect + github.com/charmbracelet/bubbletea v0.25.0 // indirect + github.com/charmbracelet/lipgloss v0.7.1 // indirect + github.com/cheggaaa/pb v1.0.29 // indirect + github.com/cloudflare/circl v1.3.7 // indirect + github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect + github.com/cyphar/filepath-securejoin v0.2.4 // indirect + github.com/djherbis/times v1.5.0 // indirect + github.com/emirpasic/gods v1.18.1 // indirect + github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect + github.com/go-git/go-billy/v5 v5.5.0 // indirect + github.com/go-git/go-git/v5 v5.12.0 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/glog v1.2.2 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/hcl/v2 v2.22.0 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect + github.com/kevinburke/ssh_config v1.2.0 // indirect + github.com/lucasb-eyer/go-colorful v1.2.0 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-localereader v0.0.1 // indirect + github.com/mattn/go-runewidth v0.0.15 // indirect + github.com/mitchellh/go-ps v1.0.0 // indirect + github.com/mitchellh/go-wordwrap v1.0.1 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect + github.com/muesli/cancelreader v0.2.2 // indirect + github.com/muesli/reflow v0.3.0 // indirect + github.com/muesli/termenv v0.15.2 // indirect + github.com/opentracing/basictracer-go v1.1.0 // indirect + github.com/opentracing/opentracing-go v1.2.0 // indirect + github.com/pgavlin/fx v0.1.6 // indirect + github.com/pjbgf/sha1cd v0.3.0 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/pkg/term v1.1.0 // indirect + github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect + github.com/pulumi/esc v0.10.0 // indirect + github.com/rivo/uniseg v0.4.4 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect + github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect + github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect + github.com/skeema/knownhosts v1.2.2 // indirect + github.com/spf13/cobra v1.8.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/texttheater/golang-levenshtein v1.0.1 // indirect + github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect + github.com/uber/jaeger-lib v2.4.1+incompatible // indirect + github.com/xanzy/ssh-agent v0.3.3 // indirect + github.com/zclconf/go-cty v1.13.2 // indirect + go.uber.org/atomic v1.9.0 // indirect + golang.org/x/crypto v0.31.0 // indirect + golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect + golang.org/x/mod v0.18.0 // indirect + golang.org/x/net v0.33.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect + golang.org/x/tools v0.22.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect + gopkg.in/warnings.v0 v0.1.2 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect + lukechampine.com/frand v1.4.2 // indirect ) diff --git a/provider/go.sum b/provider/go.sum index 28c4f55..400a064 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1,1393 +1,319 @@ -bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= -bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.39.0/go.mod h1:rVLT6fkc8chs9sfPtFc1SBH6em7n+ZoXaG+87tDISts= -cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= -cloud.google.com/go v0.99.0 h1:y/cM2iqGgGi5D5DQZl6D9STN/3dR/Vx5Mp8s752oJTY= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.5.0/go.mod h1:c4nNYR1qdq7eaZ+jSc5fonrQN2k3M7sWATcYTiakjEo= -cloud.google.com/go/kms v1.1.0 h1:1yc4rLqCkVDS9Zvc7m+3mJ47kw0Uo5Q5+sMjcmUVUeM= -cloud.google.com/go/kms v1.1.0/go.mod h1:WdbppnCDMDpOvoYBMn1+gNmOeEoZYqAv+HeuKARGCXI= -cloud.google.com/go/logging v1.0.0 h1:kaunpnoEh9L4hu6JUsBa8Y20LBfKnCuDhKUgdZp7oK8= -cloud.google.com/go/logging v1.0.0/go.mod h1:V1cc3ogwobYzQq5f2R7DS/GvRIrI4FKj01Gs5glwAls= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/pubsub v1.10.3/go.mod h1:FUcc28GpGxxACoklPsE1sCtbkY4Ix+ro7yvw+h82Jn4= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.15.0 h1:Ljj+ZXVEhCr/1+4ZhvtteN1ND7UUsNTlduGclLh8GO0= -cloud.google.com/go/storage v1.15.0/go.mod h1:mjjQMoxxyGH7Jr8K5qrx6N2O0AHsczI61sMNn03GIZI= -contrib.go.opencensus.io/exporter/aws v0.0.0-20200617204711-c478e41e60e9/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= -contrib.go.opencensus.io/exporter/stackdriver v0.13.5/go.mod h1:aXENhDJ1Y4lIg4EUaVTwzvYETVNZk10Pu26tevFKLUc= -contrib.go.opencensus.io/integrations/ocsql v0.1.7/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/AlecAivazis/survey/v2 v2.0.5/go.mod h1:WYBhg6f0y/fNYUuesWQc0PKbJcEliGcYHB9sNT3Bg74= -github.com/Azure/azure-amqp-common-go/v3 v3.1.0/go.mod h1:PBIGdzcO1teYoufTKMcGibdKaYZv4avS+O6LNIp8bq0= -github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U= -github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= -github.com/Azure/azure-sdk-for-go v51.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-sdk-for-go v54.0.0+incompatible h1:Bq3L9LF0DHCexlT0fccwxgrOMfjHx8LGz+d+L7gGQv4= -github.com/Azure/azure-sdk-for-go v54.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-service-bus-go v0.10.11/go.mod h1:AWw9eTTWZVZyvgpPahD1ybz3a8/vT3GsJDS8KYex55U= -github.com/Azure/azure-storage-blob-go v0.13.0 h1:lgWHvFh+UYBNVQLFHXkvul2f6yOPA9PIH82RTG2cSwc= -github.com/Azure/azure-storage-blob-go v0.13.0/go.mod h1:pA9kNqtjUeQF2zOSu4s//nUdBD+e64lEuc4sVnuOfNs= -github.com/Azure/go-amqp v0.13.0/go.mod h1:qj+o8xPCz9tMSbQ83Vp8boHahuRDl5mkNHyt1xlxUTs= -github.com/Azure/go-amqp v0.13.4/go.mod h1:wbpCKA8tR5MLgRyIu+bb+S6ECdIDdYJ0NlpFE9xsBPI= -github.com/Azure/go-amqp v0.13.7/go.mod h1:wbpCKA8tR5MLgRyIu+bb+S6ECdIDdYJ0NlpFE9xsBPI= -github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.3/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= -github.com/Azure/go-autorest/autorest v0.11.17/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= -github.com/Azure/go-autorest/autorest v0.11.18 h1:90Y4srNYrwOtAgVo3ndrQkTYn6kf1Eg/AjTFJ8Is2aM= -github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= -github.com/Azure/go-autorest/autorest/adal v0.9.2/go.mod h1:/3SMAM86bP6wC9Ev35peQDUeqFZBMH07vvUOmg4z/fE= -github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= -github.com/Azure/go-autorest/autorest/adal v0.9.11/go.mod h1:nBKAnTomx8gDtl+3ZCJv2v0KACFHWTB2drffI1B68Pk= -github.com/Azure/go-autorest/autorest/adal v0.9.13 h1:Mp5hbtOePIzM8pJVRa3YLrWWmZtoxRXqUEzCfJt3+/Q= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/azure/auth v0.5.7 h1:8DQB8yl7aLQuP+nuR5e2RO6454OvFlSTXXaNHshc16s= -github.com/Azure/go-autorest/autorest/azure/auth v0.5.7/go.mod h1:AkzUsqkrdmNhfP2i54HqINVQopw0CLDnvHpJ88Zz1eI= -github.com/Azure/go-autorest/autorest/azure/cli v0.4.2 h1:dMOmEJfkLKW/7JsokJqkyoYSgmR08hi9KrhjZb+JALY= -github.com/Azure/go-autorest/autorest/azure/cli v0.4.2/go.mod h1:7qkJkT+j6b+hIpzMOwPChJhTqS8VbsqqgULzMNRugoM= -github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/mocks v0.4.1 h1:K0laFcLE6VLTOwNgSxaGbUcLPuGXlNkbVvq4cW4nIHk= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk= -github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= -github.com/Azure/go-autorest/autorest/validation v0.3.1 h1:AgyqjAd94fwNAoTjl/WQXg4VvFeRFpO+UhNyRXqF1ac= -github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= -github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/GoogleCloudPlatform/cloudsql-proxy v1.22.0/go.mod h1:mAm5O/zik2RFmcpigNjg6nMotDL8ZXJaxKzgGVcSMFA= +dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= -github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY= -github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= -github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8 h1:xzYJEypr/85nBpB11F9br+3HUrpgb+fcm5iADzXXYEw= -github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= -github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= +github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78= +github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= +github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= +github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= -github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs= -github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= -github.com/apparentlymart/go-textseg v1.0.0 h1:rRmlIsPEEhUTIKQb7T++Nz/A5Q6C9IuX2wFoYVvnCs0= -github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/armon/go-metrics v0.3.0/go.mod h1:zXjbSimjXTd7vOpY8B0/2LpvNvDoXBuplAD+gJD3GYs= -github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= +github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/aws/aws-sdk-go v1.15.27/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= -github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.30.27/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.38.35 h1:7AlAO0FC+8nFjxiGKEmq0QLpiA8/XFr6eIxgRTwkdTg= -github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= +github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= +github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= +github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.3.0 h1:t/LhUZLVitR1Ow2YOnduCsavhwFUklBMoGVYUCqmCqk= -github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cheggaaa/pb v1.0.18/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= +github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/charmbracelet/bubbles v0.16.1 h1:6uzpAAaT9ZqKssntbvZMlksWHruQLNxg49H5WdeuYSY= +github.com/charmbracelet/bubbles v0.16.1/go.mod h1:2QCp9LFlEsBQMvIYERr7Ww2H2bA7xen1idUDIzm/+Xc= +github.com/charmbracelet/bubbletea v0.25.0 h1:bAfwk7jRz7FKFl9RzlIULPkStffg5k6pNt5dywy4TcM= +github.com/charmbracelet/bubbletea v0.25.0/go.mod h1:EN3QDR1T5ZdWmdfDzYcqOCAps45+QIJbLOBxmVNWNNg= +github.com/charmbracelet/lipgloss v0.7.1 h1:17WMwi7N1b1rVWOjMT+rCh7sQkvDU75B2hbZpc5Kc1E= +github.com/charmbracelet/lipgloss v0.7.1/go.mod h1:yG0k3giv8Qj8edTCbbg6AlQ5e8KNWpFujkNawKNhE2c= github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 h1:hzAQntlaYRkVSFEfj9OTWlVV1H155FMD8BTKktLv0QI= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490 h1:KwaoQzs/WeUxxJqiJsZ4euOly1Az/IgZXXSxlD/UBNk= -github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= -github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20200709052629-daa8e1ccc0bc/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= -github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.1/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= +github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= +github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= -github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= -github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= -github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= -github.com/djherbis/times v1.2.0/go.mod h1:CGMZlo255K5r4Yw0b9RRfFQpM2y7uOmxg4jm9HsaVf8= github.com/djherbis/times v1.5.0 h1:79myA211VwPhFTqUk8xehWrsEO+zcIZj0zT8mXPVARU= github.com/djherbis/times v1.5.0/go.mod h1:5q7FDLvbNg1L/KaBmPcWlVR9NmoKo3+ucqUA3ijQhA0= -github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg= -github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.1 h1:cgDRLG7bs59Zd+apAWuzLQL95obVYAymNJek76W3mgw= -github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v0.6.2 h1:JiO+kJTpmYGjEodY7O1Zk8oZcNz1+f30UtwtXoFUPzE= -github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= -github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= +github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= -github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible h1:TcekIExNqud5crz4xD2pavyTgWiPvpYe4Xau31I0PRk= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/frankban/quicktest v1.10.0 h1:Gfh+GAJZOAoKZsIZeZbdn2JF10kN1XHNvjsvQK8gVkE= -github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 h1:Uc+IZ7gYqAf/rSGFplbWBSHaGolEQlNLgMgSE3ccnIQ= -github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813/go.mod h1:P+oSoE9yhSRvsmYyZsshflcR6ePWYLql6UU1amW13IM= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0= -github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= -github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-ldap/ldap/v3 v3.1.3/go.mod h1:3rbOH3jRS2u6jg2rJnKAMLE/xQyCKIveG2Sa/Cohzb8= -github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= -github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= -github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= -github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/flock v0.7.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= -github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= +github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= +github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE= +github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= +github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= +github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= +github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys= +github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= +github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= -github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= -github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= -github.com/google/go-replayers/grpcreplay v1.0.0 h1:B5kVOzJ1hBgnevTgIWhSTatQ3608yu/2NnU0Ta1d0kY= -github.com/google/go-replayers/grpcreplay v1.0.0/go.mod h1:8Ig2Idjpr6gifRd6pNVggX6TC1Zw6Jx74AKp7QNH2QE= -github.com/google/go-replayers/httpreplay v0.1.2 h1:HCfx+dQzwN9XbGTHF8qJ+67WN8glL9FTWV5rraCJ/jU= -github.com/google/go-replayers/httpreplay v0.1.2/go.mod h1:YKZViNhiGgqdBlUbI2MwGpq4pXxNmhJLPHQ7cv2b5no= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible h1:xmapqc1AyLoB+ddYT6r04bD9lIjlOqGaREovi0SzFaE= -github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= -github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs= -github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/wire v0.5.0 h1:I7ELFeVBr3yfPIcc8+MWvrjk+3VjbcSzoXm3JVa+jD8= -github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1 h1:dp3bWCh+PPO1zjRRiCSczJav13sBvG4UhNyVTa1KqdU= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc= -github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= -github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= -github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= -github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v0.14.1 h1:nQcJDQwIAGnmoUWp8ubocEX40cCml/17YkF6csQLReU= -github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.1.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= -github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-retryablehttp v0.6.2/go.mod h1:gEx6HMUGxYYhJScX7W1Il64m6cc2C1mDaW3NQ9sY1FY= -github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-retryablehttp v0.7.0 h1:eu1EI/mbirUgP5C8hVsTNaGZreBDlYiwC1FZWkvQPQ4= -github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= -github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go-version v1.4.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/hcl/v2 v2.3.0/go.mod h1:d+FwDBbOLvpAM3Z6J7gPj/VoAGkNe/gm352ZhjJ/Zv8= -github.com/hashicorp/hcl/v2 v2.11.1 h1:yTyWcXcm9XB0TEkyU/JCRU6rYy4K+mgLtzn2wlrJbcc= -github.com/hashicorp/hcl/v2 v2.11.1/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg= -github.com/hashicorp/vault/api v1.0.5-0.20200519221902-385fac77e20f/go.mod h1:euTFbi2YJgwcju3imEt919lhJKF68nN1cQPq3aA+kBE= -github.com/hashicorp/vault/api v1.1.0 h1:QcxC7FuqEl0sZaIjcXB/kNEeBa0DH5z57qbWBvZwLC4= -github.com/hashicorp/vault/api v1.1.0/go.mod h1:R3Umvhlxi2TN7Ex2hzOowyeNb+SfbVWI973N+ctaFMk= -github.com/hashicorp/vault/sdk v0.1.14-0.20200519221530-14615acda45f/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10= -github.com/hashicorp/vault/sdk v0.1.14-0.20200519221838-e0cfd64bc267/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10= -github.com/hashicorp/vault/sdk v0.2.0 h1:hvVswvMA9LvXwLBFDJLIoDBXi8hj90Q+gSS7vRYmLvQ= -github.com/hashicorp/vault/sdk v0.2.0/go.mod h1:cAGI4nVnEfAyMeqt9oB+Mase8DNn3qA/LDNHURiwssY= -github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= -github.com/hexops/autogold v0.8.1/go.mod h1:97HLDXyG23akzAoRYJh/2OBs3kd80eHyKPvZw0S5ZBY= -github.com/hexops/autogold v1.3.0/go.mod h1:d4hwi2rid66Sag+BVuHgwakW/EmaFr8vdTSbWDbrDRI= -github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= -github.com/hexops/valast v1.4.0/go.mod h1:uVjKZ0smVuYlgCSPz9NRi5A04sl7lp6GtFWsROKDgEs= -github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174 h1:WlZsjVhE8Af9IcZDGgJGQpNflI3+MJSBhsgT5PCtzBQ= -github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= -github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd h1:anPrsicrIi2ColgWTVPk+TrN42hJIWlfPHSBP9S0ZkM= -github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd/go.mod h1:3LVOLeyx9XVvwPgrt2be44XgSqndprz1G18rSk8KD84= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/hashicorp/hcl/v2 v2.22.0 h1:hkZ3nCtqeJsDhPRFz5EA9iwcG1hNWGePOTw6oyul12M= +github.com/hashicorp/hcl/v2 v2.22.0/go.mod h1:62ZYHrXgPoX8xBnzl8QzbWq4dyDsDtfCRgIq1rbJEvA= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= -github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= -github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= -github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= -github.com/kevinburke/ssh_config v1.1.0 h1:pH/t1WS9NzT8go394IqZeJTMHVm6Cr6ZJ6AQ+mdNo/o= -github.com/kevinburke/ssh_config v1.1.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= +github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.8 h1:AkaSdXYQOWeaO3neb8EM634ahkXXe3jYbVh/F9lq+GI= -github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348 h1:MtvEpTB6LX3vkb4ax0b5D2DHbNAUsen0Gx5wZoq3lV4= -github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= -github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/lib/pq v1.10.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lib/pq v1.10.1/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= -github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= +github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-ieproxy v0.0.1 h1:qiyop7gCflfhwCzGyeT0gro3sF9AIg9HU98JORTkqfI= -github.com/mattn/go-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= +github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= -github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= -github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= -github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= +github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= +github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= -github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= -github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= -github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY= -github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/moby/moby v20.10.14+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= -github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= -github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mxschmitt/golang-combinations v1.0.0/go.mod h1:RbMhWvfCelHR6WROvT2bVfxJvZHoEvBj71SKe+H0MYU= -github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nightlyone/lockfile v1.0.0/go.mod h1:rywoIealpdNse2r832aiD9jRk8ErCatROs6LzC841CI= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D264iyp3TiX5OmNcI5cIARiQI= +github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo= +github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= +github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= +github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= +github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8= +github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo= +github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8= +github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= +github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0= github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 h1:LoCV5cscNVWyK5ChN/uCoIFJz8jZD63VQiGJIRgr6uo= -github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386/go.mod h1:MRxHTJrf9FhdfNQ8Hdeh9gmHevC9RJE/fu8M3JIGjoE= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4 v2.6.0+incompatible h1:Ix9yFKn1nSPBLFl/yZknTp8TU5G4Ps0JDmguYK6iH1A= -github.com/pierrec/lz4 v2.6.0+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU= +github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M= +github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= +github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk= github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/pulumi/pulumi-go-helmbase v0.0.14 h1:QhXW3s4HRZlNI4TB1DCCJ285jqvhLNaJohEw2RoeZi4= -github.com/pulumi/pulumi-go-helmbase v0.0.14/go.mod h1:1S15MZHmIKZTEZXzlAfSIzG0hFpnOC0I5yQmlDqJm3g= -github.com/pulumi/pulumi-java/pkg v0.1.0/go.mod h1:Dw5klQSJCD6hHaHN4BcCoOW+KjC6NafdBtDsy6sY6uc= -github.com/pulumi/pulumi-kubernetes/sdk/v3 v3.18.3/go.mod h1:w+Y1d8uqc+gv7JYWLF4rfzvTsIIHR1SCL+GG6sX1xMM= -github.com/pulumi/pulumi-kubernetes/sdk/v3 v3.19.1 h1:GoSbF0gAD6uDVxlVJFsJO8UgSaEEMPqk2r7iK8R5EZY= -github.com/pulumi/pulumi-kubernetes/sdk/v3 v3.19.1/go.mod h1:w+Y1d8uqc+gv7JYWLF4rfzvTsIIHR1SCL+GG6sX1xMM= -github.com/pulumi/pulumi-yaml v0.3.0/go.mod h1:6pQ0QcQqLYbq+i5vYjir/gDnpCvTkKcHqB5+mt0d3So= -github.com/pulumi/pulumi/pkg/v3 v3.26.0/go.mod h1:L9E+MXe05AbrSmX1GjX3jIrVNpE2RrauKEjME+BNzi4= -github.com/pulumi/pulumi/pkg/v3 v3.31.1-0.20220429232336-81582c4dcb93/go.mod h1:bO/BHZJoG2Mm8C3dxP414vLPvjxFfsetPE3Ep7Ffgro= -github.com/pulumi/pulumi/pkg/v3 v3.32.1 h1:/T11ipnOHw60QUWv2iV994tGL3fp5d4/5yDA3M7orZM= -github.com/pulumi/pulumi/pkg/v3 v3.32.1/go.mod h1:TNPDg+H4Mzy5ldOJNpkzqPYTuYH8ehorPFtnQd3pRUU= -github.com/pulumi/pulumi/sdk/v3 v3.16.0/go.mod h1:252ou/zAU1g6E8iTwe2Y9ht7pb5BDl2fJlOuAgZCHiA= -github.com/pulumi/pulumi/sdk/v3 v3.26.0/go.mod h1:VsxW+TGv2VBLe/MeqsAr9r0zKzK/gbAhFT9QxYr24cY= -github.com/pulumi/pulumi/sdk/v3 v3.28.0/go.mod h1:Oe6AnW5MjJE5X2UJeqeXm1Al7qahdLVhIPeiKuoqxAw= -github.com/pulumi/pulumi/sdk/v3 v3.31.0/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= -github.com/pulumi/pulumi/sdk/v3 v3.31.1/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= -github.com/pulumi/pulumi/sdk/v3 v3.32.1 h1:g7bcNmaL1/gKHFL35cWLpMad0GSIWAcj/1KDK0hy7bU= -github.com/pulumi/pulumi/sdk/v3 v3.32.1/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= -github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0= +github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= +github.com/pulumi/esc v0.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE= +github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c= +github.com/pulumi/pulumi-go-helmbase v0.1.0 h1:MkmnbQzMsqpio5ABYIfh1M3tEti+ZNR27ShVRpf7R3U= +github.com/pulumi/pulumi-go-helmbase v0.1.0/go.mod h1:gUKGtykBC4cgb5QBXXx38nehO/7dL4pp342Q7WBTRnw= +github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.19.0 h1:7AjJpUyW6YHHpZr0bI6Fy1A3/b7ERxq1LAo5mlyNN1Y= +github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.19.0/go.mod h1:ATS+UN8pguMxypQAK+SaPewesU+UN5dpf93PNqVuHzs= +github.com/pulumi/pulumi/pkg/v3 v3.144.1 h1:64mVLQDEZa2GN52rTKSyXlA3r+APoqDXrNdkzlASyvs= +github.com/pulumi/pulumi/pkg/v3 v3.144.1/go.mod h1:q2wZOcwXVI/+OBtEXD6mLS7shhRMgsIGTo/uWfo0q04= +github.com/pulumi/pulumi/sdk/v3 v3.144.1 h1:QQtCDERihhlfvcmRzqHeBmOER1Fg1VkFj9933Lxqv00= +github.com/pulumi/pulumi/sdk/v3 v3.144.1/go.mod h1:/6gxU2XirnLlImBy5OoqV6I4HcjOf+IznNIZNZExZzo= +github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= -github.com/rjeczalik/notify v0.9.2 h1:MiTWrPj55mNDHEiIX5YUSKefw/+lCQVoAFmD6oQm5w8= -github.com/rjeczalik/notify v0.9.2/go.mod h1:aErll2f0sUX9PXZnVNyeiObbmTlk5jnMoCa4QEjJeqM= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= -github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= +github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= -github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= -github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94/go.mod h1:b18R55ulyQ/h3RaWyloPyER7fWQVZvimKKhnI5OfrJQ= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9AmsA2Bj/iv+s4JHE= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= -github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/shirou/gopsutil v3.21.7+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= -github.com/shirou/gopsutil/v3 v3.22.3/go.mod h1:D01hZJ4pVHPpCTZ3m3T2+wDF2YAGfd+H4ifUguaQzHM= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= -github.com/shurcooL/go-goon v0.0.0-20210110234559-7585751d9a17/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= -github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= -github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= +github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A= +github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= +github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= -github.com/src-d/gcfg v1.4.0 h1:xXbNR5AlLSA315x2UO+fTSSAXCDf+Ar38/6oyGbDKQ4= -github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= +github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/texttheater/golang-levenshtein v0.0.0-20191208221605-eb6844b05fc6/go.mod h1:XDKHRm5ThF8YJjx001LtgelzsoaEcvnA7lVWz9EeX3g= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8= -github.com/tklauser/go-sysconf v0.3.8/go.mod h1:z4zYWRS+X53WUKtBcmDg1comV3fPhdQnzasnIHUoLDU= -github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= -github.com/tklauser/numcpus v0.2.3/go.mod h1:vpEPS/JC+oZGGQ/My/vJnNsvMDQL6PwOqt8dsCw5j+E= -github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 h1:X9dsIWPuuEJlPX//UmRKophhOKCGXc46RVIGuttks68= -github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7/go.mod h1:UxoP3EypF8JfGEjAII8jx1q8rQyDnX8qdTCs/UQBVIE= -github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= -github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= -github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= -github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= -github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= -github.com/xanzy/ssh-agent v0.3.1 h1:AmzO1SSWxw73zxFZPRwaMN1MohDw8UyHnmuxyceTEGo= -github.com/xanzy/ssh-agent v0.3.1/go.mod h1:QIE4lCeL7nkC25x+yA3LBIYfwCc1TFziCtG7cBAac6w= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= -github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= +github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= -github.com/zclconf/go-cty v1.3.1/go.mod h1:YO23e2L18AG+ZYQfSobnY4G65nvwvprPCxBHkufUH1k= -github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= -github.com/zclconf/go-cty v1.10.0 h1:mp9ZXQeIcN8kAwuqorjH+Q+njbJKjLrvB2yIh4q7U+0= -github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= -github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.opencensus.io v0.15.0/go.mod h1:UffZAU+4sDEINUGP/B7UfBBkq4fqLu9zXAX7ke6CHW0= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= +github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= -gocloud.dev v0.23.0 h1:u/6F8slWwaZPgGpjpNp0jzH+1P/M2ri7qEP3lFgbqBE= -gocloud.dev v0.23.0/go.mod h1:zklCCIIo1N9ELkU2S2E7tW8P8eeMU7oGLeQCXdDwx9Q= -gocloud.dev/secrets/hashivault v0.23.0 h1:u9/KMKY44dy1iEpawBreRZWrQGxS8HdrqiyuBP6v7i4= -gocloud.dev/secrets/hashivault v0.23.0/go.mod h1:JkedtcYw0IqNMru0glghf+dkoszG0WFjal3PCpucxBs= -golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200317142112-1b76d66859c6/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210506145944-38f3c27a63bf/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= -golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838 h1:71vQrMauZZhcTVK6KdYM+rklehEEwb3E+ZhaE5jrPrE= -golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6 h1:QE6XYQK6naiK1EPAe1g/ILLxN5RBoH5xkJk3CqlMI/Y= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM= +golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= +golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210420210106-798c2154c571/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210505214959-0714010a04ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180926160741-c2ed4eda69e7/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190530182044-ad28b68e88f1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210218084038-e8e29180ff58/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210223095934-7937bea0104d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210412220455-f1c623a9e750/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210503173754-0981d6026fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816074244-15123e1e1f71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210817190340-bfb29a6856f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27 h1:XDXtA5hveEEV8JB2l7nhMTp3t3cHp9ZpwcdjqyEWLlo= -golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba h1:O8mE0/t419eoIwhTFpKVkHiTs/Igowgfkj25AcZrtiE= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191010075000-0337d82405ff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200608174601-1b747fd94509/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210101214203-2dba1e4ea05c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= +golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM= -gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPjXu+YNeGvK9VTSHY6+Qihc= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.5.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.10.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.45.0/go.mod h1:ISLIJCedJolbZvDfAk+Ctuq5hf+aJ33WgtUsfyFoLXA= -google.golang.org/api v0.46.0/go.mod h1:ceL4oozhkAiTID8XMmJBsIxID/9wMXJVVFXPg4ylg3I= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.58.0/go.mod h1:cAbP2FsxoGVNwtgNAmmn3y5G1TWAiVYRmg4yku3lv+E= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.62.0 h1:PhGymJMXfGBzc4lBRmrx9+1w4w2wEzURHNGF/sD/xGc= -google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190508193815-b515fa19cec8/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= -google.golang.org/genproto v0.0.0-20190708153700-3bdd9d9f5532/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= -google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200608115520-7c474a2e3482/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210413151531-c14fb6ef47c3/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210420162539-3c870d7478d2/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210423144448-3a41ef94ed2b/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210506142907-4a47615972c2/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211018162055-cf77aa76bad2/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220201184016-50beb8ab5c44 h1:0UVUC7VWA/mIU+5a4hVWH6xa234gLcRX8ZcrFKmWWKA= -google.golang.org/genproto v0.0.0-20220201184016-50beb8ab5c44/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.44.0 h1:weqSxi/TMs1SqFRMHCtBgXRs8k3X39QIDEZ0pRcttUg= -google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f h1:AQkMzsSzHWrgZWqGRpuRaRPDmyNibcXlpGcnQJ7HxZw= -gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f/go.mod h1:CaHjv79TCgAvXMSFJSVgonHXYWxnhzI3eoHtnX5UgUo= -gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w= -gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/src-d/go-billy.v4 v4.3.2 h1:0SQA1pRztfTFx2miS8sA97XvooFeNOmvUenF4o0EcVg= -gopkg.in/src-d/go-billy.v4 v4.3.2/go.mod h1:nDjArDMp+XMs1aFAESLRjfGSgfvoYN0hDfzEk0GjC98= -gopkg.in/src-d/go-git-fixtures.v3 v3.5.0 h1:ivZFOIltbce2Mo8IjzUHAFoq/IylO9WHhNOAJK+LsJg= -gopkg.in/src-d/go-git-fixtures.v3 v3.5.0/go.mod h1:dLBcvytrw/TYZsNTWCnkNF2DSIlzWYqTe3rJR56Ac7g= -gopkg.in/src-d/go-git.v4 v4.13.1 h1:SRtFyV8Kxc0UP7aCHcijOMQGPxHSmMOPrzulQWolkYE= -gopkg.in/src-d/go-git.v4 v4.13.1/go.mod h1:nx5NYcxdKxq5fpltdHnPa2Exj4Sx0EclMWZQbYDu2z8= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/v3 v3.0.2 h1:kG1BFyqVHuQoVQiR1bWGnfz/fmHvvuiSPIV7rvl360E= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -mvdan.cc/gofumpt v0.0.0-20210107193838-d24d34e18d44/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= -mvdan.cc/gofumpt v0.1.0/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= -nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g= -pgregory.net/rapid v0.4.7/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= -sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600 h1:hfyJ5ku9yFtLVOiSxa3IN+dx5eBQT9mPmKFypAmg8XM= -sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= -sourcegraph.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67/go.mod h1:L5q+DGLGOQFpo1snNEkLOJT2d1YTW66rWNzatr3He1k= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= +lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= +pgregory.net/rapid v0.6.1 h1:4eyrDxyht86tT4Ztm+kvlyNBLIk071gR+ZQdhphc9dQ= +pgregory.net/rapid v0.6.1/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= diff --git a/provider/pkg/provider/chart.go b/provider/pkg/provider/chart.go index aabdf01..38d6e86 100644 --- a/provider/pkg/provider/chart.go +++ b/provider/pkg/provider/chart.go @@ -16,11 +16,11 @@ package provider import ( helmbase "github.com/pulumi/pulumi-go-helmbase" - appsv1 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/apps/v1" - autoscaling "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/autoscaling/v2beta2" - corev1 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/core/v1" - helmv3 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/helm/v3" - policyv1 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/policy/v1" + appsv1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/apps/v1" + autoscaling "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/autoscaling/v2beta2" + corev1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/core/v1" + helmv3 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/helm/v3" + policyv1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/policy/v1" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/dotnet/CoreDNS.cs b/sdk/dotnet/CoreDNS.cs index 7f2336d..80eb70d 100644 --- a/sdk/dotnet/CoreDNS.cs +++ b/sdk/dotnet/CoreDNS.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -13,7 +13,7 @@ namespace Pulumi.KubernetesCoreDNS /// Enable fast and flexible in-cluster DNS. /// [KubernetesCoreDNSResourceType("kubernetes-coredns:index:CoreDNS")] - public partial class CoreDNS : Pulumi.ComponentResource + public partial class CoreDNS : global::Pulumi.ComponentResource { /// /// Detailed information about the status of the underlying Helm deployment. @@ -47,10 +47,10 @@ private static ComponentResourceOptions MakeResourceOptions(ComponentResourceOpt } } - public sealed class CoreDNSArgs : Pulumi.ResourceArgs + public sealed class CoreDNSArgs : global::Pulumi.ResourceArgs { /// - /// Affinity settings for pod assignment . + /// Affinity settings for pod assignment. /// [Input("affinity")] public Input? Affinity { get; set; } @@ -277,5 +277,6 @@ public InputList ZoneFiles public CoreDNSArgs() { } + public static new CoreDNSArgs Empty => new CoreDNSArgs(); } } diff --git a/sdk/dotnet/Inputs/CoreDNSAutoscalerArgs.cs b/sdk/dotnet/Inputs/CoreDNSAutoscalerArgs.cs index 5dc8fa6..dc0f7df 100644 --- a/sdk/dotnet/Inputs/CoreDNSAutoscalerArgs.cs +++ b/sdk/dotnet/Inputs/CoreDNSAutoscalerArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -10,7 +10,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs { - public sealed class CoreDNSAutoscalerArgs : Pulumi.ResourceArgs + public sealed class CoreDNSAutoscalerArgs : global::Pulumi.ResourceArgs { /// /// Number of cores in the cluster per coredns replica. @@ -63,5 +63,6 @@ public sealed class CoreDNSAutoscalerArgs : Pulumi.ResourceArgs public CoreDNSAutoscalerArgs() { } + public static new CoreDNSAutoscalerArgs Empty => new CoreDNSAutoscalerArgs(); } } diff --git a/sdk/dotnet/Inputs/CoreDNSDeploymentArgs.cs b/sdk/dotnet/Inputs/CoreDNSDeploymentArgs.cs index b87ec89..3328fa9 100644 --- a/sdk/dotnet/Inputs/CoreDNSDeploymentArgs.cs +++ b/sdk/dotnet/Inputs/CoreDNSDeploymentArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -10,7 +10,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs { - public sealed class CoreDNSDeploymentArgs : Pulumi.ResourceArgs + public sealed class CoreDNSDeploymentArgs : global::Pulumi.ResourceArgs { /// /// Optionally disable the main deployment and its respective resources. @@ -27,5 +27,6 @@ public sealed class CoreDNSDeploymentArgs : Pulumi.ResourceArgs public CoreDNSDeploymentArgs() { } + public static new CoreDNSDeploymentArgs Empty => new CoreDNSDeploymentArgs(); } } diff --git a/sdk/dotnet/Inputs/CoreDNSHPAArgs.cs b/sdk/dotnet/Inputs/CoreDNSHPAArgs.cs index 82e3b37..a555200 100644 --- a/sdk/dotnet/Inputs/CoreDNSHPAArgs.cs +++ b/sdk/dotnet/Inputs/CoreDNSHPAArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -10,7 +10,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs { - public sealed class CoreDNSHPAArgs : Pulumi.ResourceArgs + public sealed class CoreDNSHPAArgs : global::Pulumi.ResourceArgs { [Input("enabled")] public Input? Enabled { get; set; } @@ -27,5 +27,6 @@ public sealed class CoreDNSHPAArgs : Pulumi.ResourceArgs public CoreDNSHPAArgs() { } + public static new CoreDNSHPAArgs Empty => new CoreDNSHPAArgs(); } } diff --git a/sdk/dotnet/Inputs/CoreDNSImageArgs.cs b/sdk/dotnet/Inputs/CoreDNSImageArgs.cs index 1d9c648..40d9699 100644 --- a/sdk/dotnet/Inputs/CoreDNSImageArgs.cs +++ b/sdk/dotnet/Inputs/CoreDNSImageArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -10,7 +10,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs { - public sealed class CoreDNSImageArgs : Pulumi.ResourceArgs + public sealed class CoreDNSImageArgs : global::Pulumi.ResourceArgs { /// /// Image pull policy. @@ -45,5 +45,6 @@ public InputList PullSecrets public CoreDNSImageArgs() { } + public static new CoreDNSImageArgs Empty => new CoreDNSImageArgs(); } } diff --git a/sdk/dotnet/Inputs/CoreDNSPrometheusArgs.cs b/sdk/dotnet/Inputs/CoreDNSPrometheusArgs.cs index 3a1d5a7..f307e24 100644 --- a/sdk/dotnet/Inputs/CoreDNSPrometheusArgs.cs +++ b/sdk/dotnet/Inputs/CoreDNSPrometheusArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -10,7 +10,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs { - public sealed class CoreDNSPrometheusArgs : Pulumi.ResourceArgs + public sealed class CoreDNSPrometheusArgs : global::Pulumi.ResourceArgs { [Input("monitor")] public Input? Monitor { get; set; } @@ -21,5 +21,6 @@ public sealed class CoreDNSPrometheusArgs : Pulumi.ResourceArgs public CoreDNSPrometheusArgs() { } + public static new CoreDNSPrometheusArgs Empty => new CoreDNSPrometheusArgs(); } } diff --git a/sdk/dotnet/Inputs/CoreDNSPrometheusMonitorArgs.cs b/sdk/dotnet/Inputs/CoreDNSPrometheusMonitorArgs.cs index e5cc167..40fb315 100644 --- a/sdk/dotnet/Inputs/CoreDNSPrometheusMonitorArgs.cs +++ b/sdk/dotnet/Inputs/CoreDNSPrometheusMonitorArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -10,7 +10,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs { - public sealed class CoreDNSPrometheusMonitorArgs : Pulumi.ResourceArgs + public sealed class CoreDNSPrometheusMonitorArgs : global::Pulumi.ResourceArgs { [Input("additionalLabels")] private InputMap? _additionalLabels; @@ -39,5 +39,6 @@ public InputMap AdditionalLabels public CoreDNSPrometheusMonitorArgs() { } + public static new CoreDNSPrometheusMonitorArgs Empty => new CoreDNSPrometheusMonitorArgs(); } } diff --git a/sdk/dotnet/Inputs/CoreDNSPrometheusServiceArgs.cs b/sdk/dotnet/Inputs/CoreDNSPrometheusServiceArgs.cs index 106a200..2388861 100644 --- a/sdk/dotnet/Inputs/CoreDNSPrometheusServiceArgs.cs +++ b/sdk/dotnet/Inputs/CoreDNSPrometheusServiceArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -10,7 +10,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs { - public sealed class CoreDNSPrometheusServiceArgs : Pulumi.ResourceArgs + public sealed class CoreDNSPrometheusServiceArgs : global::Pulumi.ResourceArgs { [Input("annotations")] private InputMap? _annotations; @@ -33,5 +33,6 @@ public InputMap Annotations public CoreDNSPrometheusServiceArgs() { } + public static new CoreDNSPrometheusServiceArgs Empty => new CoreDNSPrometheusServiceArgs(); } } diff --git a/sdk/dotnet/Inputs/CoreDNSRBACArgs.cs b/sdk/dotnet/Inputs/CoreDNSRBACArgs.cs index 1829dc6..faba4ee 100644 --- a/sdk/dotnet/Inputs/CoreDNSRBACArgs.cs +++ b/sdk/dotnet/Inputs/CoreDNSRBACArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -10,7 +10,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs { - public sealed class CoreDNSRBACArgs : Pulumi.ResourceArgs + public sealed class CoreDNSRBACArgs : global::Pulumi.ResourceArgs { /// /// If true, create & use RBAC resources @@ -33,5 +33,6 @@ public sealed class CoreDNSRBACArgs : Pulumi.ResourceArgs public CoreDNSRBACArgs() { } + public static new CoreDNSRBACArgs Empty => new CoreDNSRBACArgs(); } } diff --git a/sdk/dotnet/Inputs/CoreDNSServerArgs.cs b/sdk/dotnet/Inputs/CoreDNSServerArgs.cs index 8af9e80..714de57 100644 --- a/sdk/dotnet/Inputs/CoreDNSServerArgs.cs +++ b/sdk/dotnet/Inputs/CoreDNSServerArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -10,7 +10,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs { - public sealed class CoreDNSServerArgs : Pulumi.ResourceArgs + public sealed class CoreDNSServerArgs : global::Pulumi.ResourceArgs { [Input("plugins")] private InputList? _plugins; @@ -45,5 +45,6 @@ public InputList Zones public CoreDNSServerArgs() { } + public static new CoreDNSServerArgs Empty => new CoreDNSServerArgs(); } } diff --git a/sdk/dotnet/Inputs/CoreDNSServerPluginArgs.cs b/sdk/dotnet/Inputs/CoreDNSServerPluginArgs.cs index 4661659..9c4c271 100644 --- a/sdk/dotnet/Inputs/CoreDNSServerPluginArgs.cs +++ b/sdk/dotnet/Inputs/CoreDNSServerPluginArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -10,7 +10,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs { - public sealed class CoreDNSServerPluginArgs : Pulumi.ResourceArgs + public sealed class CoreDNSServerPluginArgs : global::Pulumi.ResourceArgs { /// /// if the plugin supports extra block style config, supply it here @@ -33,5 +33,6 @@ public sealed class CoreDNSServerPluginArgs : Pulumi.ResourceArgs public CoreDNSServerPluginArgs() { } + public static new CoreDNSServerPluginArgs Empty => new CoreDNSServerPluginArgs(); } } diff --git a/sdk/dotnet/Inputs/CoreDNSServerZoneArgs.cs b/sdk/dotnet/Inputs/CoreDNSServerZoneArgs.cs index 62748fe..f39e5e7 100644 --- a/sdk/dotnet/Inputs/CoreDNSServerZoneArgs.cs +++ b/sdk/dotnet/Inputs/CoreDNSServerZoneArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -10,7 +10,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs { - public sealed class CoreDNSServerZoneArgs : Pulumi.ResourceArgs + public sealed class CoreDNSServerZoneArgs : global::Pulumi.ResourceArgs { /// /// optional, defaults to "" (which equals "dns://" in CoreDNS) @@ -33,5 +33,6 @@ public sealed class CoreDNSServerZoneArgs : Pulumi.ResourceArgs public CoreDNSServerZoneArgs() { } + public static new CoreDNSServerZoneArgs Empty => new CoreDNSServerZoneArgs(); } } diff --git a/sdk/dotnet/Inputs/CoreDNSServiceAccountArgs.cs b/sdk/dotnet/Inputs/CoreDNSServiceAccountArgs.cs index 05918e7..c6cee84 100644 --- a/sdk/dotnet/Inputs/CoreDNSServiceAccountArgs.cs +++ b/sdk/dotnet/Inputs/CoreDNSServiceAccountArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -10,7 +10,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs { - public sealed class CoreDNSServiceAccountArgs : Pulumi.ResourceArgs + public sealed class CoreDNSServiceAccountArgs : global::Pulumi.ResourceArgs { [Input("annotations")] private InputMap? _annotations; @@ -35,5 +35,6 @@ public InputMap Annotations public CoreDNSServiceAccountArgs() { } + public static new CoreDNSServiceAccountArgs Empty => new CoreDNSServiceAccountArgs(); } } diff --git a/sdk/dotnet/Inputs/CoreDNSServiceArgs.cs b/sdk/dotnet/Inputs/CoreDNSServiceArgs.cs index aa60524..c0fdab3 100644 --- a/sdk/dotnet/Inputs/CoreDNSServiceArgs.cs +++ b/sdk/dotnet/Inputs/CoreDNSServiceArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -10,7 +10,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs { - public sealed class CoreDNSServiceArgs : Pulumi.ResourceArgs + public sealed class CoreDNSServiceArgs : global::Pulumi.ResourceArgs { [Input("annotations")] private InputMap? _annotations; @@ -63,5 +63,6 @@ public InputList ExternalIPs public CoreDNSServiceArgs() { } + public static new CoreDNSServiceArgs Empty => new CoreDNSServiceArgs(); } } diff --git a/sdk/dotnet/Inputs/CoreDNSZoneFileArgs.cs b/sdk/dotnet/Inputs/CoreDNSZoneFileArgs.cs index 756763e..2e397ca 100644 --- a/sdk/dotnet/Inputs/CoreDNSZoneFileArgs.cs +++ b/sdk/dotnet/Inputs/CoreDNSZoneFileArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -10,7 +10,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs { - public sealed class CoreDNSZoneFileArgs : Pulumi.ResourceArgs + public sealed class CoreDNSZoneFileArgs : global::Pulumi.ResourceArgs { [Input("contents")] public Input? Contents { get; set; } @@ -24,5 +24,6 @@ public sealed class CoreDNSZoneFileArgs : Pulumi.ResourceArgs public CoreDNSZoneFileArgs() { } + public static new CoreDNSZoneFileArgs Empty => new CoreDNSZoneFileArgs(); } } diff --git a/sdk/dotnet/Inputs/ReleaseArgs.cs b/sdk/dotnet/Inputs/ReleaseArgs.cs index db34ef7..42d90c9 100644 --- a/sdk/dotnet/Inputs/ReleaseArgs.cs +++ b/sdk/dotnet/Inputs/ReleaseArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -15,7 +15,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs /// A Chart is a Helm package. It contains all of the resource definitions necessary to run an application, tool, or service inside of a Kubernetes cluster. /// Note - Helm Release is currently in BETA and may change. Use in production environment is discouraged. /// - public sealed class ReleaseArgs : Pulumi.ResourceArgs + public sealed class ReleaseArgs : global::Pulumi.ResourceArgs { /// /// If set, installation process purges chart on fail. `skipAwait` will be disabled automatically if atomic is used. @@ -242,5 +242,6 @@ public InputMap Values public ReleaseArgs() { } + public static new ReleaseArgs Empty => new ReleaseArgs(); } } diff --git a/sdk/dotnet/Inputs/RepositoryOptsArgs.cs b/sdk/dotnet/Inputs/RepositoryOptsArgs.cs index 446a652..214ad15 100644 --- a/sdk/dotnet/Inputs/RepositoryOptsArgs.cs +++ b/sdk/dotnet/Inputs/RepositoryOptsArgs.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -13,7 +13,7 @@ namespace Pulumi.KubernetesCoreDNS.Inputs /// /// Specification defining the Helm chart repository to use. /// - public sealed class RepositoryOptsArgs : Pulumi.ResourceArgs + public sealed class RepositoryOptsArgs : global::Pulumi.ResourceArgs { /// /// The Repository's CA File @@ -64,5 +64,6 @@ public Input? Password public RepositoryOptsArgs() { } + public static new RepositoryOptsArgs Empty => new RepositoryOptsArgs(); } } diff --git a/sdk/dotnet/Outputs/ReleaseStatus.cs b/sdk/dotnet/Outputs/ReleaseStatus.cs index 50b1716..f7eefea 100644 --- a/sdk/dotnet/Outputs/ReleaseStatus.cs +++ b/sdk/dotnet/Outputs/ReleaseStatus.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; diff --git a/sdk/dotnet/Provider.cs b/sdk/dotnet/Provider.cs index 3ccf84f..3a88fb8 100644 --- a/sdk/dotnet/Provider.cs +++ b/sdk/dotnet/Provider.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; @@ -10,7 +10,7 @@ namespace Pulumi.KubernetesCoreDNS { [KubernetesCoreDNSResourceType("pulumi:providers:kubernetes-coredns")] - public partial class Provider : Pulumi.ProviderResource + public partial class Provider : global::Pulumi.ProviderResource { /// /// Create a Provider resource with the given unique name, arguments, and options. @@ -37,10 +37,11 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? } } - public sealed class ProviderArgs : Pulumi.ResourceArgs + public sealed class ProviderArgs : global::Pulumi.ResourceArgs { public ProviderArgs() { } + public static new ProviderArgs Empty => new ProviderArgs(); } } diff --git a/sdk/dotnet/Pulumi.KubernetesCoreDNS.csproj b/sdk/dotnet/Pulumi.KubernetesCoreDNS.csproj index 3029d4d..dd92ab1 100644 --- a/sdk/dotnet/Pulumi.KubernetesCoreDNS.csproj +++ b/sdk/dotnet/Pulumi.KubernetesCoreDNS.csproj @@ -4,15 +4,15 @@ true Pulumi Pulumi - - - - + Strongly-typed CoreDNS installation + Apache-2.0 + https://pulumi.io + https://github.com/pulumi/pulumi-kubernetes-coredns logo.png + 1.0.0-alpha.0+dev - netcoreapp3.1 + net6.0 enable - false @@ -39,14 +39,14 @@ - + - + diff --git a/sdk/dotnet/README.md b/sdk/dotnet/README.md index e69de29..33beac8 100644 --- a/sdk/dotnet/README.md +++ b/sdk/dotnet/README.md @@ -0,0 +1 @@ +Strongly-typed CoreDNS installation diff --git a/sdk/dotnet/Utilities.cs b/sdk/dotnet/Utilities.cs index 541bb0e..78efec4 100644 --- a/sdk/dotnet/Utilities.cs +++ b/sdk/dotnet/Utilities.cs @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** namespace Pulumi.KubernetesCoreDNS @@ -56,6 +56,13 @@ static class Utilities return dst; } + public static global::Pulumi.InvokeOutputOptions WithDefaults(this global::Pulumi.InvokeOutputOptions? src) + { + var dst = src ?? new global::Pulumi.InvokeOutputOptions{}; + dst.Version = src?.Version ?? Version; + return dst; + } + private readonly static string version; public static string Version => version; @@ -74,7 +81,7 @@ static Utilities() } } - internal sealed class KubernetesCoreDNSResourceTypeAttribute : Pulumi.ResourceTypeAttribute + internal sealed class KubernetesCoreDNSResourceTypeAttribute : global::Pulumi.ResourceTypeAttribute { public KubernetesCoreDNSResourceTypeAttribute(string type) : base(type, Utilities.Version) { diff --git a/sdk/dotnet/pulumi-plugin.json b/sdk/dotnet/pulumi-plugin.json index ab9997c..cad90a1 100644 --- a/sdk/dotnet/pulumi-plugin.json +++ b/sdk/dotnet/pulumi-plugin.json @@ -1,4 +1,5 @@ { "resource": true, - "name": "kubernetes-coredns" + "name": "kubernetes-coredns", + "version": "1.0.0-alpha.0+dev" } diff --git a/sdk/go/kubernetes/coreDNS.go b/sdk/go/kubernetes-coredns/coreDNS.go similarity index 80% rename from sdk/go/kubernetes/coreDNS.go rename to sdk/go/kubernetes-coredns/coreDNS.go index c975357..176c60d 100644 --- a/sdk/go/kubernetes/coreDNS.go +++ b/sdk/go/kubernetes-coredns/coreDNS.go @@ -1,16 +1,17 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** -package kubernetes +package kubernetescoredns import ( "context" "reflect" - appsv1 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/apps/v1" - autoscalingv2beta2 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/autoscaling/v2beta2" - corev1 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/core/v1" - policyv1 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/policy/v1" + "github.com/pulumi/pulumi-kubernetes-coredns/sdk/go/kubernetes-coredns/internal" + appsv1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/apps/v1" + autoscalingv2beta2 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/autoscaling/v2beta2" + corev1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/core/v1" + policyv1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/policy/v1" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -29,6 +30,7 @@ func NewCoreDNS(ctx *pulumi.Context, args = &CoreDNSArgs{} } + opts = internal.PkgResourceDefaultOpts(opts) var resource CoreDNS err := ctx.RegisterRemoteComponentResource("kubernetes-coredns:index:CoreDNS", name, args, &resource, opts...) if err != nil { @@ -38,7 +40,7 @@ func NewCoreDNS(ctx *pulumi.Context, } type coreDNSArgs struct { - // Affinity settings for pod assignment . + // Affinity settings for pod assignment. Affinity *corev1.Affinity `pulumi:"affinity"` // Configue a cluster-proportional-autoscaler for coredns. See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler. Autoscaler *CoreDNSAutoscaler `pulumi:"autoscaler"` @@ -101,7 +103,7 @@ type coreDNSArgs struct { // The set of arguments for constructing a CoreDNS resource. type CoreDNSArgs struct { - // Affinity settings for pod assignment . + // Affinity settings for pod assignment. Affinity corev1.AffinityPtrInput // Configue a cluster-proportional-autoscaler for coredns. See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler. Autoscaler CoreDNSAutoscalerPtrInput @@ -174,7 +176,7 @@ type CoreDNSInput interface { } func (*CoreDNS) ElementType() reflect.Type { - return reflect.TypeOf((*CoreDNS)(nil)) + return reflect.TypeOf((**CoreDNS)(nil)).Elem() } func (i *CoreDNS) ToCoreDNSOutput() CoreDNSOutput { @@ -185,39 +187,10 @@ func (i *CoreDNS) ToCoreDNSOutputWithContext(ctx context.Context) CoreDNSOutput return pulumi.ToOutputWithContext(ctx, i).(CoreDNSOutput) } -func (i *CoreDNS) ToCoreDNSPtrOutput() CoreDNSPtrOutput { - return i.ToCoreDNSPtrOutputWithContext(context.Background()) -} - -func (i *CoreDNS) ToCoreDNSPtrOutputWithContext(ctx context.Context) CoreDNSPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CoreDNSPtrOutput) -} - -type CoreDNSPtrInput interface { - pulumi.Input - - ToCoreDNSPtrOutput() CoreDNSPtrOutput - ToCoreDNSPtrOutputWithContext(ctx context.Context) CoreDNSPtrOutput -} - -type coreDNSPtrType CoreDNSArgs - -func (*coreDNSPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**CoreDNS)(nil)) -} - -func (i *coreDNSPtrType) ToCoreDNSPtrOutput() CoreDNSPtrOutput { - return i.ToCoreDNSPtrOutputWithContext(context.Background()) -} - -func (i *coreDNSPtrType) ToCoreDNSPtrOutputWithContext(ctx context.Context) CoreDNSPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CoreDNSPtrOutput) -} - // CoreDNSArrayInput is an input type that accepts CoreDNSArray and CoreDNSArrayOutput values. // You can construct a concrete instance of `CoreDNSArrayInput` via: // -// CoreDNSArray{ CoreDNSArgs{...} } +// CoreDNSArray{ CoreDNSArgs{...} } type CoreDNSArrayInput interface { pulumi.Input @@ -242,7 +215,7 @@ func (i CoreDNSArray) ToCoreDNSArrayOutputWithContext(ctx context.Context) CoreD // CoreDNSMapInput is an input type that accepts CoreDNSMap and CoreDNSMapOutput values. // You can construct a concrete instance of `CoreDNSMapInput` via: // -// CoreDNSMap{ "key": CoreDNSArgs{...} } +// CoreDNSMap{ "key": CoreDNSArgs{...} } type CoreDNSMapInput interface { pulumi.Input @@ -267,7 +240,7 @@ func (i CoreDNSMap) ToCoreDNSMapOutputWithContext(ctx context.Context) CoreDNSMa type CoreDNSOutput struct{ *pulumi.OutputState } func (CoreDNSOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CoreDNS)(nil)) + return reflect.TypeOf((**CoreDNS)(nil)).Elem() } func (o CoreDNSOutput) ToCoreDNSOutput() CoreDNSOutput { @@ -278,44 +251,15 @@ func (o CoreDNSOutput) ToCoreDNSOutputWithContext(ctx context.Context) CoreDNSOu return o } -func (o CoreDNSOutput) ToCoreDNSPtrOutput() CoreDNSPtrOutput { - return o.ToCoreDNSPtrOutputWithContext(context.Background()) -} - -func (o CoreDNSOutput) ToCoreDNSPtrOutputWithContext(ctx context.Context) CoreDNSPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v CoreDNS) *CoreDNS { - return &v - }).(CoreDNSPtrOutput) -} - -type CoreDNSPtrOutput struct{ *pulumi.OutputState } - -func (CoreDNSPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**CoreDNS)(nil)) -} - -func (o CoreDNSPtrOutput) ToCoreDNSPtrOutput() CoreDNSPtrOutput { - return o -} - -func (o CoreDNSPtrOutput) ToCoreDNSPtrOutputWithContext(ctx context.Context) CoreDNSPtrOutput { - return o -} - -func (o CoreDNSPtrOutput) Elem() CoreDNSOutput { - return o.ApplyT(func(v *CoreDNS) CoreDNS { - if v != nil { - return *v - } - var ret CoreDNS - return ret - }).(CoreDNSOutput) +// Detailed information about the status of the underlying Helm deployment. +func (o CoreDNSOutput) Status() ReleaseStatusOutput { + return o.ApplyT(func(v *CoreDNS) ReleaseStatusOutput { return v.Status }).(ReleaseStatusOutput) } type CoreDNSArrayOutput struct{ *pulumi.OutputState } func (CoreDNSArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]CoreDNS)(nil)) + return reflect.TypeOf((*[]*CoreDNS)(nil)).Elem() } func (o CoreDNSArrayOutput) ToCoreDNSArrayOutput() CoreDNSArrayOutput { @@ -327,15 +271,15 @@ func (o CoreDNSArrayOutput) ToCoreDNSArrayOutputWithContext(ctx context.Context) } func (o CoreDNSArrayOutput) Index(i pulumi.IntInput) CoreDNSOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) CoreDNS { - return vs[0].([]CoreDNS)[vs[1].(int)] + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CoreDNS { + return vs[0].([]*CoreDNS)[vs[1].(int)] }).(CoreDNSOutput) } type CoreDNSMapOutput struct{ *pulumi.OutputState } func (CoreDNSMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]CoreDNS)(nil)) + return reflect.TypeOf((*map[string]*CoreDNS)(nil)).Elem() } func (o CoreDNSMapOutput) ToCoreDNSMapOutput() CoreDNSMapOutput { @@ -347,14 +291,16 @@ func (o CoreDNSMapOutput) ToCoreDNSMapOutputWithContext(ctx context.Context) Cor } func (o CoreDNSMapOutput) MapIndex(k pulumi.StringInput) CoreDNSOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) CoreDNS { - return vs[0].(map[string]CoreDNS)[vs[1].(string)] + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CoreDNS { + return vs[0].(map[string]*CoreDNS)[vs[1].(string)] }).(CoreDNSOutput) } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSInput)(nil)).Elem(), &CoreDNS{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSArrayInput)(nil)).Elem(), CoreDNSArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSMapInput)(nil)).Elem(), CoreDNSMap{}) pulumi.RegisterOutputType(CoreDNSOutput{}) - pulumi.RegisterOutputType(CoreDNSPtrOutput{}) pulumi.RegisterOutputType(CoreDNSArrayOutput{}) pulumi.RegisterOutputType(CoreDNSMapOutput{}) } diff --git a/sdk/go/kubernetes-coredns/doc.go b/sdk/go/kubernetes-coredns/doc.go new file mode 100644 index 0000000..09ab282 --- /dev/null +++ b/sdk/go/kubernetes-coredns/doc.go @@ -0,0 +1,2 @@ +// Strongly-typed CoreDNS installation +package kubernetescoredns diff --git a/sdk/go/kubernetes/init.go b/sdk/go/kubernetes-coredns/init.go similarity index 78% rename from sdk/go/kubernetes/init.go rename to sdk/go/kubernetes-coredns/init.go index e42275f..5bbc23f 100644 --- a/sdk/go/kubernetes/init.go +++ b/sdk/go/kubernetes-coredns/init.go @@ -1,12 +1,13 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** -package kubernetes +package kubernetescoredns import ( "fmt" "github.com/blang/semver" + "github.com/pulumi/pulumi-kubernetes-coredns/sdk/go/kubernetes-coredns/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -49,9 +50,9 @@ func (p *pkg) ConstructProvider(ctx *pulumi.Context, name, typ, urn string) (pul } func init() { - version, err := PkgVersion() + version, err := internal.PkgVersion() if err != nil { - fmt.Printf("failed to determine package version. defaulting to v1: %v\n", err) + version = semver.Version{Major: 1} } pulumi.RegisterResourceModule( "kubernetes-coredns", diff --git a/sdk/go/kubernetes-coredns/internal/pulumiUtilities.go b/sdk/go/kubernetes-coredns/internal/pulumiUtilities.go new file mode 100644 index 0000000..e182137 --- /dev/null +++ b/sdk/go/kubernetes-coredns/internal/pulumiUtilities.go @@ -0,0 +1,184 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package internal + +import ( + "fmt" + "os" + "reflect" + "regexp" + "strconv" + "strings" + + "github.com/blang/semver" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +import ( + "github.com/pulumi/pulumi/sdk/v3/go/pulumi/internals" +) + +type envParser func(v string) interface{} + +func ParseEnvBool(v string) interface{} { + b, err := strconv.ParseBool(v) + if err != nil { + return nil + } + return b +} + +func ParseEnvInt(v string) interface{} { + i, err := strconv.ParseInt(v, 0, 0) + if err != nil { + return nil + } + return int(i) +} + +func ParseEnvFloat(v string) interface{} { + f, err := strconv.ParseFloat(v, 64) + if err != nil { + return nil + } + return f +} + +func ParseEnvStringArray(v string) interface{} { + var result pulumi.StringArray + for _, item := range strings.Split(v, ";") { + result = append(result, pulumi.String(item)) + } + return result +} + +func GetEnvOrDefault(def interface{}, parser envParser, vars ...string) interface{} { + for _, v := range vars { + if value, ok := os.LookupEnv(v); ok { + if parser != nil { + return parser(value) + } + return value + } + } + return def +} + +// PkgVersion uses reflection to determine the version of the current package. +// If a version cannot be determined, v1 will be assumed. The second return +// value is always nil. +func PkgVersion() (semver.Version, error) { + // emptyVersion defaults to v0.0.0 + if !SdkVersion.Equals(semver.Version{}) { + return SdkVersion, nil + } + type sentinal struct{} + pkgPath := reflect.TypeOf(sentinal{}).PkgPath() + re := regexp.MustCompile("^.*/pulumi-kubernetes-coredns/sdk(/v\\d+)?") + if match := re.FindStringSubmatch(pkgPath); match != nil { + vStr := match[1] + if len(vStr) == 0 { // If the version capture group was empty, default to v1. + return semver.Version{Major: 1}, nil + } + return semver.MustParse(fmt.Sprintf("%s.0.0", vStr[2:])), nil + } + return semver.Version{Major: 1}, nil +} + +// isZero is a null safe check for if a value is it's types zero value. +func IsZero(v interface{}) bool { + if v == nil { + return true + } + return reflect.ValueOf(v).IsZero() +} + +func CallPlain( + ctx *pulumi.Context, + tok string, + args pulumi.Input, + output pulumi.Output, + self pulumi.Resource, + property string, + resultPtr reflect.Value, + errorPtr *error, + opts ...pulumi.InvokeOption, +) { + res, err := callPlainInner(ctx, tok, args, output, self, opts...) + if err != nil { + *errorPtr = err + return + } + + v := reflect.ValueOf(res) + + // extract res.property field if asked to do so + if property != "" { + v = v.FieldByName("Res") + } + + // return by setting the result pointer; this style of returns shortens the generated code without generics + resultPtr.Elem().Set(v) +} + +func callPlainInner( + ctx *pulumi.Context, + tok string, + args pulumi.Input, + output pulumi.Output, + self pulumi.Resource, + opts ...pulumi.InvokeOption, +) (any, error) { + o, err := ctx.Call(tok, args, output, self, opts...) + if err != nil { + return nil, err + } + + outputData, err := internals.UnsafeAwaitOutput(ctx.Context(), o) + if err != nil { + return nil, err + } + + // Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency. + known := outputData.Known + value := outputData.Value + secret := outputData.Secret + + problem := "" + if !known { + problem = "an unknown value" + } else if secret { + problem = "a secret value" + } + + if problem != "" { + return nil, fmt.Errorf("Plain resource method %q incorrectly returned %s. "+ + "This is an error in the provider, please report this to the provider developer.", + tok, problem) + } + + return value, nil +} + +// PkgResourceDefaultOpts provides package level defaults to pulumi.OptionResource. +func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { + defaults := []pulumi.ResourceOption{} + + version := semver.MustParse("1.0.0-alpha.0+dev") + if !version.Equals(semver.Version{}) { + defaults = append(defaults, pulumi.Version(version.String())) + } + return append(defaults, opts...) +} + +// PkgInvokeDefaultOpts provides package level defaults to pulumi.OptionInvoke. +func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { + defaults := []pulumi.InvokeOption{} + + version := semver.MustParse("1.0.0-alpha.0+dev") + if !version.Equals(semver.Version{}) { + defaults = append(defaults, pulumi.Version(version.String())) + } + return append(defaults, opts...) +} diff --git a/sdk/go/kubernetes-coredns/internal/pulumiVersion.go b/sdk/go/kubernetes-coredns/internal/pulumiVersion.go new file mode 100644 index 0000000..4ad7cb8 --- /dev/null +++ b/sdk/go/kubernetes-coredns/internal/pulumiVersion.go @@ -0,0 +1,11 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package internal + +import ( + "github.com/blang/semver" +) + +var SdkVersion semver.Version = semver.Version{} +var pluginDownloadURL string = "" diff --git a/sdk/go/kubernetes-coredns/provider.go b/sdk/go/kubernetes-coredns/provider.go new file mode 100644 index 0000000..791d60e --- /dev/null +++ b/sdk/go/kubernetes-coredns/provider.go @@ -0,0 +1,81 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package kubernetescoredns + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-kubernetes-coredns/sdk/go/kubernetes-coredns/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type Provider struct { + pulumi.ProviderResourceState +} + +// NewProvider registers a new resource with the given unique name, arguments, and options. +func NewProvider(ctx *pulumi.Context, + name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error) { + if args == nil { + args = &ProviderArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource Provider + err := ctx.RegisterResource("pulumi:providers:kubernetes-coredns", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +type providerArgs struct { +} + +// The set of arguments for constructing a Provider resource. +type ProviderArgs struct { +} + +func (ProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*providerArgs)(nil)).Elem() +} + +type ProviderInput interface { + pulumi.Input + + ToProviderOutput() ProviderOutput + ToProviderOutputWithContext(ctx context.Context) ProviderOutput +} + +func (*Provider) ElementType() reflect.Type { + return reflect.TypeOf((**Provider)(nil)).Elem() +} + +func (i *Provider) ToProviderOutput() ProviderOutput { + return i.ToProviderOutputWithContext(context.Background()) +} + +func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput) +} + +type ProviderOutput struct{ *pulumi.OutputState } + +func (ProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Provider)(nil)).Elem() +} + +func (o ProviderOutput) ToProviderOutput() ProviderOutput { + return o +} + +func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { + return o +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProviderInput)(nil)).Elem(), &Provider{}) + pulumi.RegisterOutputType(ProviderOutput{}) +} diff --git a/sdk/go/kubernetes-coredns/pulumi-plugin.json b/sdk/go/kubernetes-coredns/pulumi-plugin.json new file mode 100644 index 0000000..cad90a1 --- /dev/null +++ b/sdk/go/kubernetes-coredns/pulumi-plugin.json @@ -0,0 +1,5 @@ +{ + "resource": true, + "name": "kubernetes-coredns", + "version": "1.0.0-alpha.0+dev" +} diff --git a/sdk/go/kubernetes/pulumiTypes.go b/sdk/go/kubernetes-coredns/pulumiTypes.go similarity index 94% rename from sdk/go/kubernetes/pulumiTypes.go rename to sdk/go/kubernetes-coredns/pulumiTypes.go index ff838c9..b9b3ee3 100644 --- a/sdk/go/kubernetes/pulumiTypes.go +++ b/sdk/go/kubernetes-coredns/pulumiTypes.go @@ -1,16 +1,19 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** -package kubernetes +package kubernetescoredns import ( "context" "reflect" - autoscalingv2beta2 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/autoscaling/v2beta2" + "github.com/pulumi/pulumi-kubernetes-coredns/sdk/go/kubernetes-coredns/internal" + autoscalingv2beta2 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/autoscaling/v2beta2" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +var _ = internal.GetEnvOrDefault + type CoreDNSAutoscaler struct { // Number of cores in the cluster per coredns replica. CoresPerReplica *int `pulumi:"coresPerReplica"` @@ -33,7 +36,7 @@ type CoreDNSAutoscaler struct { // CoreDNSAutoscalerInput is an input type that accepts CoreDNSAutoscalerArgs and CoreDNSAutoscalerOutput values. // You can construct a concrete instance of `CoreDNSAutoscalerInput` via: // -// CoreDNSAutoscalerArgs{...} +// CoreDNSAutoscalerArgs{...} type CoreDNSAutoscalerInput interface { pulumi.Input @@ -83,11 +86,11 @@ func (i CoreDNSAutoscalerArgs) ToCoreDNSAutoscalerPtrOutputWithContext(ctx conte // CoreDNSAutoscalerPtrInput is an input type that accepts CoreDNSAutoscalerArgs, CoreDNSAutoscalerPtr and CoreDNSAutoscalerPtrOutput values. // You can construct a concrete instance of `CoreDNSAutoscalerPtrInput` via: // -// CoreDNSAutoscalerArgs{...} +// CoreDNSAutoscalerArgs{...} // -// or: +// or: // -// nil +// nil type CoreDNSAutoscalerPtrInput interface { pulumi.Input @@ -291,7 +294,7 @@ type CoreDNSDeployment struct { // CoreDNSDeploymentInput is an input type that accepts CoreDNSDeploymentArgs and CoreDNSDeploymentOutput values. // You can construct a concrete instance of `CoreDNSDeploymentInput` via: // -// CoreDNSDeploymentArgs{...} +// CoreDNSDeploymentArgs{...} type CoreDNSDeploymentInput interface { pulumi.Input @@ -329,11 +332,11 @@ func (i CoreDNSDeploymentArgs) ToCoreDNSDeploymentPtrOutputWithContext(ctx conte // CoreDNSDeploymentPtrInput is an input type that accepts CoreDNSDeploymentArgs, CoreDNSDeploymentPtr and CoreDNSDeploymentPtrOutput values. // You can construct a concrete instance of `CoreDNSDeploymentPtrInput` via: // -// CoreDNSDeploymentArgs{...} +// CoreDNSDeploymentArgs{...} // -// or: +// or: // -// nil +// nil type CoreDNSDeploymentPtrInput interface { pulumi.Input @@ -447,7 +450,7 @@ type CoreDNSHPA struct { // CoreDNSHPAInput is an input type that accepts CoreDNSHPAArgs and CoreDNSHPAOutput values. // You can construct a concrete instance of `CoreDNSHPAInput` via: // -// CoreDNSHPAArgs{...} +// CoreDNSHPAArgs{...} type CoreDNSHPAInput interface { pulumi.Input @@ -456,10 +459,10 @@ type CoreDNSHPAInput interface { } type CoreDNSHPAArgs struct { - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - MaxReplicas pulumi.IntPtrInput `pulumi:"maxReplicas"` - Metrics autoscalingv2beta2.MetricSpecPtrInput `pulumi:"metrics"` - MinReplicas pulumi.IntPtrInput `pulumi:"minReplicas"` + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + MaxReplicas pulumi.IntPtrInput `pulumi:"maxReplicas"` + Metrics *autoscalingv2beta2.MetricSpecInput `pulumi:"metrics"` + MinReplicas pulumi.IntPtrInput `pulumi:"minReplicas"` } func (CoreDNSHPAArgs) ElementType() reflect.Type { @@ -485,11 +488,11 @@ func (i CoreDNSHPAArgs) ToCoreDNSHPAPtrOutputWithContext(ctx context.Context) Co // CoreDNSHPAPtrInput is an input type that accepts CoreDNSHPAArgs, CoreDNSHPAPtr and CoreDNSHPAPtrOutput values. // You can construct a concrete instance of `CoreDNSHPAPtrInput` via: // -// CoreDNSHPAArgs{...} +// CoreDNSHPAArgs{...} // -// or: +// or: // -// nil +// nil type CoreDNSHPAPtrInput interface { pulumi.Input @@ -547,8 +550,8 @@ func (o CoreDNSHPAOutput) MaxReplicas() pulumi.IntPtrOutput { return o.ApplyT(func(v CoreDNSHPA) *int { return v.MaxReplicas }).(pulumi.IntPtrOutput) } -func (o CoreDNSHPAOutput) Metrics() autoscalingv2beta2.MetricSpecPtrOutput { - return o.ApplyT(func(v CoreDNSHPA) *autoscalingv2beta2.MetricSpec { return v.Metrics }).(autoscalingv2beta2.MetricSpecPtrOutput) +func (o CoreDNSHPAOutput) Metrics() *autoscalingv2beta2.MetricSpecOutput { + return o.ApplyT(func(v CoreDNSHPA) *autoscalingv2beta2.MetricSpec { return v.Metrics }).(*autoscalingv2beta2.MetricSpecOutput) } func (o CoreDNSHPAOutput) MinReplicas() pulumi.IntPtrOutput { @@ -597,13 +600,13 @@ func (o CoreDNSHPAPtrOutput) MaxReplicas() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } -func (o CoreDNSHPAPtrOutput) Metrics() autoscalingv2beta2.MetricSpecPtrOutput { +func (o CoreDNSHPAPtrOutput) Metrics() *autoscalingv2beta2.MetricSpecOutput { return o.ApplyT(func(v *CoreDNSHPA) *autoscalingv2beta2.MetricSpec { if v == nil { return nil } return v.Metrics - }).(autoscalingv2beta2.MetricSpecPtrOutput) + }).(*autoscalingv2beta2.MetricSpecOutput) } func (o CoreDNSHPAPtrOutput) MinReplicas() pulumi.IntPtrOutput { @@ -629,7 +632,7 @@ type CoreDNSImage struct { // CoreDNSImageInput is an input type that accepts CoreDNSImageArgs and CoreDNSImageOutput values. // You can construct a concrete instance of `CoreDNSImageInput` via: // -// CoreDNSImageArgs{...} +// CoreDNSImageArgs{...} type CoreDNSImageInput interface { pulumi.Input @@ -671,11 +674,11 @@ func (i CoreDNSImageArgs) ToCoreDNSImagePtrOutputWithContext(ctx context.Context // CoreDNSImagePtrInput is an input type that accepts CoreDNSImageArgs, CoreDNSImagePtr and CoreDNSImagePtrOutput values. // You can construct a concrete instance of `CoreDNSImagePtrInput` via: // -// CoreDNSImageArgs{...} +// CoreDNSImageArgs{...} // -// or: +// or: // -// nil +// nil type CoreDNSImagePtrInput interface { pulumi.Input @@ -817,7 +820,7 @@ type CoreDNSPrometheus struct { // CoreDNSPrometheusInput is an input type that accepts CoreDNSPrometheusArgs and CoreDNSPrometheusOutput values. // You can construct a concrete instance of `CoreDNSPrometheusInput` via: // -// CoreDNSPrometheusArgs{...} +// CoreDNSPrometheusArgs{...} type CoreDNSPrometheusInput interface { pulumi.Input @@ -853,11 +856,11 @@ func (i CoreDNSPrometheusArgs) ToCoreDNSPrometheusPtrOutputWithContext(ctx conte // CoreDNSPrometheusPtrInput is an input type that accepts CoreDNSPrometheusArgs, CoreDNSPrometheusPtr and CoreDNSPrometheusPtrOutput values. // You can construct a concrete instance of `CoreDNSPrometheusPtrInput` via: // -// CoreDNSPrometheusArgs{...} +// CoreDNSPrometheusArgs{...} // -// or: +// or: // -// nil +// nil type CoreDNSPrometheusPtrInput interface { pulumi.Input @@ -969,7 +972,7 @@ type CoreDNSPrometheusMonitor struct { // CoreDNSPrometheusMonitorInput is an input type that accepts CoreDNSPrometheusMonitorArgs and CoreDNSPrometheusMonitorOutput values. // You can construct a concrete instance of `CoreDNSPrometheusMonitorInput` via: // -// CoreDNSPrometheusMonitorArgs{...} +// CoreDNSPrometheusMonitorArgs{...} type CoreDNSPrometheusMonitorInput interface { pulumi.Input @@ -1009,11 +1012,11 @@ func (i CoreDNSPrometheusMonitorArgs) ToCoreDNSPrometheusMonitorPtrOutputWithCon // CoreDNSPrometheusMonitorPtrInput is an input type that accepts CoreDNSPrometheusMonitorArgs, CoreDNSPrometheusMonitorPtr and CoreDNSPrometheusMonitorPtrOutput values. // You can construct a concrete instance of `CoreDNSPrometheusMonitorPtrInput` via: // -// CoreDNSPrometheusMonitorArgs{...} +// CoreDNSPrometheusMonitorArgs{...} // -// or: +// or: // -// nil +// nil type CoreDNSPrometheusMonitorPtrInput interface { pulumi.Input @@ -1142,7 +1145,7 @@ type CoreDNSPrometheusService struct { // CoreDNSPrometheusServiceInput is an input type that accepts CoreDNSPrometheusServiceArgs and CoreDNSPrometheusServiceOutput values. // You can construct a concrete instance of `CoreDNSPrometheusServiceInput` via: // -// CoreDNSPrometheusServiceArgs{...} +// CoreDNSPrometheusServiceArgs{...} type CoreDNSPrometheusServiceInput interface { pulumi.Input @@ -1180,11 +1183,11 @@ func (i CoreDNSPrometheusServiceArgs) ToCoreDNSPrometheusServicePtrOutputWithCon // CoreDNSPrometheusServicePtrInput is an input type that accepts CoreDNSPrometheusServiceArgs, CoreDNSPrometheusServicePtr and CoreDNSPrometheusServicePtrOutput values. // You can construct a concrete instance of `CoreDNSPrometheusServicePtrInput` via: // -// CoreDNSPrometheusServiceArgs{...} +// CoreDNSPrometheusServiceArgs{...} // -// or: +// or: // -// nil +// nil type CoreDNSPrometheusServicePtrInput interface { pulumi.Input @@ -1300,7 +1303,7 @@ type CoreDNSRBAC struct { // CoreDNSRBACInput is an input type that accepts CoreDNSRBACArgs and CoreDNSRBACOutput values. // You can construct a concrete instance of `CoreDNSRBACInput` via: // -// CoreDNSRBACArgs{...} +// CoreDNSRBACArgs{...} type CoreDNSRBACInput interface { pulumi.Input @@ -1340,11 +1343,11 @@ func (i CoreDNSRBACArgs) ToCoreDNSRBACPtrOutputWithContext(ctx context.Context) // CoreDNSRBACPtrInput is an input type that accepts CoreDNSRBACArgs, CoreDNSRBACPtr and CoreDNSRBACPtrOutput values. // You can construct a concrete instance of `CoreDNSRBACPtrInput` via: // -// CoreDNSRBACArgs{...} +// CoreDNSRBACArgs{...} // -// or: +// or: // -// nil +// nil type CoreDNSRBACPtrInput interface { pulumi.Input @@ -1475,7 +1478,7 @@ type CoreDNSServer struct { // CoreDNSServerInput is an input type that accepts CoreDNSServerArgs and CoreDNSServerOutput values. // You can construct a concrete instance of `CoreDNSServerInput` via: // -// CoreDNSServerArgs{...} +// CoreDNSServerArgs{...} type CoreDNSServerInput interface { pulumi.Input @@ -1507,7 +1510,7 @@ func (i CoreDNSServerArgs) ToCoreDNSServerOutputWithContext(ctx context.Context) // CoreDNSServerArrayInput is an input type that accepts CoreDNSServerArray and CoreDNSServerArrayOutput values. // You can construct a concrete instance of `CoreDNSServerArrayInput` via: // -// CoreDNSServerArray{ CoreDNSServerArgs{...} } +// CoreDNSServerArray{ CoreDNSServerArgs{...} } type CoreDNSServerArrayInput interface { pulumi.Input @@ -1590,7 +1593,7 @@ type CoreDNSServerPlugin struct { // CoreDNSServerPluginInput is an input type that accepts CoreDNSServerPluginArgs and CoreDNSServerPluginOutput values. // You can construct a concrete instance of `CoreDNSServerPluginInput` via: // -// CoreDNSServerPluginArgs{...} +// CoreDNSServerPluginArgs{...} type CoreDNSServerPluginInput interface { pulumi.Input @@ -1622,7 +1625,7 @@ func (i CoreDNSServerPluginArgs) ToCoreDNSServerPluginOutputWithContext(ctx cont // CoreDNSServerPluginArrayInput is an input type that accepts CoreDNSServerPluginArray and CoreDNSServerPluginArrayOutput values. // You can construct a concrete instance of `CoreDNSServerPluginArrayInput` via: // -// CoreDNSServerPluginArray{ CoreDNSServerPluginArgs{...} } +// CoreDNSServerPluginArray{ CoreDNSServerPluginArgs{...} } type CoreDNSServerPluginArrayInput interface { pulumi.Input @@ -1705,7 +1708,7 @@ type CoreDNSServerZone struct { // CoreDNSServerZoneInput is an input type that accepts CoreDNSServerZoneArgs and CoreDNSServerZoneOutput values. // You can construct a concrete instance of `CoreDNSServerZoneInput` via: // -// CoreDNSServerZoneArgs{...} +// CoreDNSServerZoneArgs{...} type CoreDNSServerZoneInput interface { pulumi.Input @@ -1737,7 +1740,7 @@ func (i CoreDNSServerZoneArgs) ToCoreDNSServerZoneOutputWithContext(ctx context. // CoreDNSServerZoneArrayInput is an input type that accepts CoreDNSServerZoneArray and CoreDNSServerZoneArrayOutput values. // You can construct a concrete instance of `CoreDNSServerZoneArrayInput` via: // -// CoreDNSServerZoneArray{ CoreDNSServerZoneArgs{...} } +// CoreDNSServerZoneArray{ CoreDNSServerZoneArgs{...} } type CoreDNSServerZoneArrayInput interface { pulumi.Input @@ -1826,7 +1829,7 @@ type CoreDNSService struct { // CoreDNSServiceInput is an input type that accepts CoreDNSServiceArgs and CoreDNSServiceOutput values. // You can construct a concrete instance of `CoreDNSServiceInput` via: // -// CoreDNSServiceArgs{...} +// CoreDNSServiceArgs{...} type CoreDNSServiceInput interface { pulumi.Input @@ -1872,11 +1875,11 @@ func (i CoreDNSServiceArgs) ToCoreDNSServicePtrOutputWithContext(ctx context.Con // CoreDNSServicePtrInput is an input type that accepts CoreDNSServiceArgs, CoreDNSServicePtr and CoreDNSServicePtrOutput values. // You can construct a concrete instance of `CoreDNSServicePtrInput` via: // -// CoreDNSServiceArgs{...} +// CoreDNSServiceArgs{...} // -// or: +// or: // -// nil +// nil type CoreDNSServicePtrInput interface { pulumi.Input @@ -2051,7 +2054,7 @@ type CoreDNSServiceAccount struct { // CoreDNSServiceAccountInput is an input type that accepts CoreDNSServiceAccountArgs and CoreDNSServiceAccountOutput values. // You can construct a concrete instance of `CoreDNSServiceAccountInput` via: // -// CoreDNSServiceAccountArgs{...} +// CoreDNSServiceAccountArgs{...} type CoreDNSServiceAccountInput interface { pulumi.Input @@ -2090,11 +2093,11 @@ func (i CoreDNSServiceAccountArgs) ToCoreDNSServiceAccountPtrOutputWithContext(c // CoreDNSServiceAccountPtrInput is an input type that accepts CoreDNSServiceAccountArgs, CoreDNSServiceAccountPtr and CoreDNSServiceAccountPtrOutput values. // You can construct a concrete instance of `CoreDNSServiceAccountPtrInput` via: // -// CoreDNSServiceAccountArgs{...} +// CoreDNSServiceAccountArgs{...} // -// or: +// or: // -// nil +// nil type CoreDNSServiceAccountPtrInput interface { pulumi.Input @@ -2220,7 +2223,7 @@ type CoreDNSZoneFile struct { // CoreDNSZoneFileInput is an input type that accepts CoreDNSZoneFileArgs and CoreDNSZoneFileOutput values. // You can construct a concrete instance of `CoreDNSZoneFileInput` via: // -// CoreDNSZoneFileArgs{...} +// CoreDNSZoneFileArgs{...} type CoreDNSZoneFileInput interface { pulumi.Input @@ -2249,7 +2252,7 @@ func (i CoreDNSZoneFileArgs) ToCoreDNSZoneFileOutputWithContext(ctx context.Cont // CoreDNSZoneFileArrayInput is an input type that accepts CoreDNSZoneFileArray and CoreDNSZoneFileArrayOutput values. // You can construct a concrete instance of `CoreDNSZoneFileArrayInput` via: // -// CoreDNSZoneFileArray{ CoreDNSZoneFileArgs{...} } +// CoreDNSZoneFileArray{ CoreDNSZoneFileArgs{...} } type CoreDNSZoneFileArrayInput interface { pulumi.Input @@ -2392,7 +2395,7 @@ type Release struct { // ReleaseInput is an input type that accepts ReleaseArgs and ReleaseOutput values. // You can construct a concrete instance of `ReleaseInput` via: // -// ReleaseArgs{...} +// ReleaseArgs{...} type ReleaseInput interface { pulumi.Input @@ -2495,11 +2498,11 @@ func (i ReleaseArgs) ToReleasePtrOutputWithContext(ctx context.Context) ReleaseP // ReleasePtrInput is an input type that accepts ReleaseArgs, ReleasePtr and ReleasePtrOutput values. // You can construct a concrete instance of `ReleasePtrInput` via: // -// ReleaseArgs{...} +// ReleaseArgs{...} // -// or: +// or: // -// nil +// nil type ReleasePtrInput interface { pulumi.Input @@ -3091,7 +3094,7 @@ type ReleaseStatus struct { // ReleaseStatusInput is an input type that accepts ReleaseStatusArgs and ReleaseStatusOutput values. // You can construct a concrete instance of `ReleaseStatusInput` via: // -// ReleaseStatusArgs{...} +// ReleaseStatusArgs{...} type ReleaseStatusInput interface { pulumi.Input @@ -3128,47 +3131,6 @@ func (i ReleaseStatusArgs) ToReleaseStatusOutputWithContext(ctx context.Context) return pulumi.ToOutputWithContext(ctx, i).(ReleaseStatusOutput) } -func (i ReleaseStatusArgs) ToReleaseStatusPtrOutput() ReleaseStatusPtrOutput { - return i.ToReleaseStatusPtrOutputWithContext(context.Background()) -} - -func (i ReleaseStatusArgs) ToReleaseStatusPtrOutputWithContext(ctx context.Context) ReleaseStatusPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ReleaseStatusOutput).ToReleaseStatusPtrOutputWithContext(ctx) -} - -// ReleaseStatusPtrInput is an input type that accepts ReleaseStatusArgs, ReleaseStatusPtr and ReleaseStatusPtrOutput values. -// You can construct a concrete instance of `ReleaseStatusPtrInput` via: -// -// ReleaseStatusArgs{...} -// -// or: -// -// nil -type ReleaseStatusPtrInput interface { - pulumi.Input - - ToReleaseStatusPtrOutput() ReleaseStatusPtrOutput - ToReleaseStatusPtrOutputWithContext(context.Context) ReleaseStatusPtrOutput -} - -type releaseStatusPtrType ReleaseStatusArgs - -func ReleaseStatusPtr(v *ReleaseStatusArgs) ReleaseStatusPtrInput { - return (*releaseStatusPtrType)(v) -} - -func (*releaseStatusPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ReleaseStatus)(nil)).Elem() -} - -func (i *releaseStatusPtrType) ToReleaseStatusPtrOutput() ReleaseStatusPtrOutput { - return i.ToReleaseStatusPtrOutputWithContext(context.Background()) -} - -func (i *releaseStatusPtrType) ToReleaseStatusPtrOutputWithContext(ctx context.Context) ReleaseStatusPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ReleaseStatusPtrOutput) -} - type ReleaseStatusOutput struct{ *pulumi.OutputState } func (ReleaseStatusOutput) ElementType() reflect.Type { @@ -3183,16 +3145,6 @@ func (o ReleaseStatusOutput) ToReleaseStatusOutputWithContext(ctx context.Contex return o } -func (o ReleaseStatusOutput) ToReleaseStatusPtrOutput() ReleaseStatusPtrOutput { - return o.ToReleaseStatusPtrOutputWithContext(context.Background()) -} - -func (o ReleaseStatusOutput) ToReleaseStatusPtrOutputWithContext(ctx context.Context) ReleaseStatusPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ReleaseStatus) *ReleaseStatus { - return &v - }).(ReleaseStatusPtrOutput) -} - // The version number of the application being deployed. func (o ReleaseStatusOutput) AppVersion() pulumi.StringOutput { return o.ApplyT(func(v ReleaseStatus) string { return v.AppVersion }).(pulumi.StringOutput) @@ -3228,100 +3180,6 @@ func (o ReleaseStatusOutput) Version() pulumi.StringOutput { return o.ApplyT(func(v ReleaseStatus) string { return v.Version }).(pulumi.StringOutput) } -type ReleaseStatusPtrOutput struct{ *pulumi.OutputState } - -func (ReleaseStatusPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ReleaseStatus)(nil)).Elem() -} - -func (o ReleaseStatusPtrOutput) ToReleaseStatusPtrOutput() ReleaseStatusPtrOutput { - return o -} - -func (o ReleaseStatusPtrOutput) ToReleaseStatusPtrOutputWithContext(ctx context.Context) ReleaseStatusPtrOutput { - return o -} - -func (o ReleaseStatusPtrOutput) Elem() ReleaseStatusOutput { - return o.ApplyT(func(v *ReleaseStatus) ReleaseStatus { - if v != nil { - return *v - } - var ret ReleaseStatus - return ret - }).(ReleaseStatusOutput) -} - -// The version number of the application being deployed. -func (o ReleaseStatusPtrOutput) AppVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ReleaseStatus) *string { - if v == nil { - return nil - } - return &v.AppVersion - }).(pulumi.StringPtrOutput) -} - -// The name of the chart. -func (o ReleaseStatusPtrOutput) Chart() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ReleaseStatus) *string { - if v == nil { - return nil - } - return &v.Chart - }).(pulumi.StringPtrOutput) -} - -// Name is the name of the release. -func (o ReleaseStatusPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ReleaseStatus) *string { - if v == nil { - return nil - } - return &v.Name - }).(pulumi.StringPtrOutput) -} - -// Namespace is the kubernetes namespace of the release. -func (o ReleaseStatusPtrOutput) Namespace() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ReleaseStatus) *string { - if v == nil { - return nil - } - return &v.Namespace - }).(pulumi.StringPtrOutput) -} - -// Version is an int32 which represents the version of the release. -func (o ReleaseStatusPtrOutput) Revision() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ReleaseStatus) *int { - if v == nil { - return nil - } - return &v.Revision - }).(pulumi.IntPtrOutput) -} - -// Status of the release. -func (o ReleaseStatusPtrOutput) Status() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ReleaseStatus) *string { - if v == nil { - return nil - } - return &v.Status - }).(pulumi.StringPtrOutput) -} - -// A SemVer 2 conformant version string of the chart. -func (o ReleaseStatusPtrOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ReleaseStatus) *string { - if v == nil { - return nil - } - return &v.Version - }).(pulumi.StringPtrOutput) -} - // Specification defining the Helm chart repository to use. type RepositoryOpts struct { // The Repository's CA File @@ -3341,7 +3199,7 @@ type RepositoryOpts struct { // RepositoryOptsInput is an input type that accepts RepositoryOptsArgs and RepositoryOptsOutput values. // You can construct a concrete instance of `RepositoryOptsInput` via: // -// RepositoryOptsArgs{...} +// RepositoryOptsArgs{...} type RepositoryOptsInput interface { pulumi.Input @@ -3388,11 +3246,11 @@ func (i RepositoryOptsArgs) ToRepositoryOptsPtrOutputWithContext(ctx context.Con // RepositoryOptsPtrInput is an input type that accepts RepositoryOptsArgs, RepositoryOptsPtr and RepositoryOptsPtrOutput values. // You can construct a concrete instance of `RepositoryOptsPtrInput` via: // -// RepositoryOptsArgs{...} +// RepositoryOptsArgs{...} // -// or: +// or: // -// nil +// nil type RepositoryOptsPtrInput interface { pulumi.Input @@ -3558,6 +3416,39 @@ func (o RepositoryOptsPtrOutput) Username() pulumi.StringPtrOutput { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSAutoscalerInput)(nil)).Elem(), CoreDNSAutoscalerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSAutoscalerPtrInput)(nil)).Elem(), CoreDNSAutoscalerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSDeploymentInput)(nil)).Elem(), CoreDNSDeploymentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSDeploymentPtrInput)(nil)).Elem(), CoreDNSDeploymentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSHPAInput)(nil)).Elem(), CoreDNSHPAArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSHPAPtrInput)(nil)).Elem(), CoreDNSHPAArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSImageInput)(nil)).Elem(), CoreDNSImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSImagePtrInput)(nil)).Elem(), CoreDNSImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSPrometheusInput)(nil)).Elem(), CoreDNSPrometheusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSPrometheusPtrInput)(nil)).Elem(), CoreDNSPrometheusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSPrometheusMonitorInput)(nil)).Elem(), CoreDNSPrometheusMonitorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSPrometheusMonitorPtrInput)(nil)).Elem(), CoreDNSPrometheusMonitorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSPrometheusServiceInput)(nil)).Elem(), CoreDNSPrometheusServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSPrometheusServicePtrInput)(nil)).Elem(), CoreDNSPrometheusServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSRBACInput)(nil)).Elem(), CoreDNSRBACArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSRBACPtrInput)(nil)).Elem(), CoreDNSRBACArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSServerInput)(nil)).Elem(), CoreDNSServerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSServerArrayInput)(nil)).Elem(), CoreDNSServerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSServerPluginInput)(nil)).Elem(), CoreDNSServerPluginArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSServerPluginArrayInput)(nil)).Elem(), CoreDNSServerPluginArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSServerZoneInput)(nil)).Elem(), CoreDNSServerZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSServerZoneArrayInput)(nil)).Elem(), CoreDNSServerZoneArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSServiceInput)(nil)).Elem(), CoreDNSServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSServicePtrInput)(nil)).Elem(), CoreDNSServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSServiceAccountInput)(nil)).Elem(), CoreDNSServiceAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSServiceAccountPtrInput)(nil)).Elem(), CoreDNSServiceAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSZoneFileInput)(nil)).Elem(), CoreDNSZoneFileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CoreDNSZoneFileArrayInput)(nil)).Elem(), CoreDNSZoneFileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReleaseInput)(nil)).Elem(), ReleaseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReleasePtrInput)(nil)).Elem(), ReleaseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReleaseStatusInput)(nil)).Elem(), ReleaseStatusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RepositoryOptsInput)(nil)).Elem(), RepositoryOptsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RepositoryOptsPtrInput)(nil)).Elem(), RepositoryOptsArgs{}) pulumi.RegisterOutputType(CoreDNSAutoscalerOutput{}) pulumi.RegisterOutputType(CoreDNSAutoscalerPtrOutput{}) pulumi.RegisterOutputType(CoreDNSDeploymentOutput{}) @@ -3589,7 +3480,6 @@ func init() { pulumi.RegisterOutputType(ReleaseOutput{}) pulumi.RegisterOutputType(ReleasePtrOutput{}) pulumi.RegisterOutputType(ReleaseStatusOutput{}) - pulumi.RegisterOutputType(ReleaseStatusPtrOutput{}) pulumi.RegisterOutputType(RepositoryOptsOutput{}) pulumi.RegisterOutputType(RepositoryOptsPtrOutput{}) } diff --git a/sdk/go/kubernetes/doc.go b/sdk/go/kubernetes/doc.go deleted file mode 100644 index 7d6f3f0..0000000 --- a/sdk/go/kubernetes/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -// Package kubernetes-coredns exports types, functions, subpackages for provisioning kubernetes-coredns resources. -// -package kubernetes diff --git a/sdk/go/kubernetes/provider.go b/sdk/go/kubernetes/provider.go deleted file mode 100644 index 298c5c7..0000000 --- a/sdk/go/kubernetes/provider.go +++ /dev/null @@ -1,142 +0,0 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package kubernetes - -import ( - "context" - "reflect" - - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -type Provider struct { - pulumi.ProviderResourceState -} - -// NewProvider registers a new resource with the given unique name, arguments, and options. -func NewProvider(ctx *pulumi.Context, - name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error) { - if args == nil { - args = &ProviderArgs{} - } - - var resource Provider - err := ctx.RegisterResource("pulumi:providers:kubernetes-coredns", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -type providerArgs struct { -} - -// The set of arguments for constructing a Provider resource. -type ProviderArgs struct { -} - -func (ProviderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*providerArgs)(nil)).Elem() -} - -type ProviderInput interface { - pulumi.Input - - ToProviderOutput() ProviderOutput - ToProviderOutputWithContext(ctx context.Context) ProviderOutput -} - -func (*Provider) ElementType() reflect.Type { - return reflect.TypeOf((*Provider)(nil)) -} - -func (i *Provider) ToProviderOutput() ProviderOutput { - return i.ToProviderOutputWithContext(context.Background()) -} - -func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { - return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput) -} - -func (i *Provider) ToProviderPtrOutput() ProviderPtrOutput { - return i.ToProviderPtrOutputWithContext(context.Background()) -} - -func (i *Provider) ToProviderPtrOutputWithContext(ctx context.Context) ProviderPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ProviderPtrOutput) -} - -type ProviderPtrInput interface { - pulumi.Input - - ToProviderPtrOutput() ProviderPtrOutput - ToProviderPtrOutputWithContext(ctx context.Context) ProviderPtrOutput -} - -type providerPtrType ProviderArgs - -func (*providerPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**Provider)(nil)) -} - -func (i *providerPtrType) ToProviderPtrOutput() ProviderPtrOutput { - return i.ToProviderPtrOutputWithContext(context.Background()) -} - -func (i *providerPtrType) ToProviderPtrOutputWithContext(ctx context.Context) ProviderPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ProviderPtrOutput) -} - -type ProviderOutput struct{ *pulumi.OutputState } - -func (ProviderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*Provider)(nil)) -} - -func (o ProviderOutput) ToProviderOutput() ProviderOutput { - return o -} - -func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { - return o -} - -func (o ProviderOutput) ToProviderPtrOutput() ProviderPtrOutput { - return o.ToProviderPtrOutputWithContext(context.Background()) -} - -func (o ProviderOutput) ToProviderPtrOutputWithContext(ctx context.Context) ProviderPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v Provider) *Provider { - return &v - }).(ProviderPtrOutput) -} - -type ProviderPtrOutput struct{ *pulumi.OutputState } - -func (ProviderPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**Provider)(nil)) -} - -func (o ProviderPtrOutput) ToProviderPtrOutput() ProviderPtrOutput { - return o -} - -func (o ProviderPtrOutput) ToProviderPtrOutputWithContext(ctx context.Context) ProviderPtrOutput { - return o -} - -func (o ProviderPtrOutput) Elem() ProviderOutput { - return o.ApplyT(func(v *Provider) Provider { - if v != nil { - return *v - } - var ret Provider - return ret - }).(ProviderOutput) -} - -func init() { - pulumi.RegisterOutputType(ProviderOutput{}) - pulumi.RegisterOutputType(ProviderPtrOutput{}) -} diff --git a/sdk/go/kubernetes/pulumiUtilities.go b/sdk/go/kubernetes/pulumiUtilities.go deleted file mode 100644 index e518bf6..0000000 --- a/sdk/go/kubernetes/pulumiUtilities.go +++ /dev/null @@ -1,77 +0,0 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package kubernetes - -import ( - "fmt" - "os" - "reflect" - "regexp" - "strconv" - "strings" - - "github.com/blang/semver" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -type envParser func(v string) interface{} - -func parseEnvBool(v string) interface{} { - b, err := strconv.ParseBool(v) - if err != nil { - return nil - } - return b -} - -func parseEnvInt(v string) interface{} { - i, err := strconv.ParseInt(v, 0, 0) - if err != nil { - return nil - } - return int(i) -} - -func parseEnvFloat(v string) interface{} { - f, err := strconv.ParseFloat(v, 64) - if err != nil { - return nil - } - return f -} - -func parseEnvStringArray(v string) interface{} { - var result pulumi.StringArray - for _, item := range strings.Split(v, ";") { - result = append(result, pulumi.String(item)) - } - return result -} - -func getEnvOrDefault(def interface{}, parser envParser, vars ...string) interface{} { - for _, v := range vars { - if value := os.Getenv(v); value != "" { - if parser != nil { - return parser(value) - } - return value - } - } - return def -} - -// PkgVersion uses reflection to determine the version of the current package. -func PkgVersion() (semver.Version, error) { - type sentinal struct{} - pkgPath := reflect.TypeOf(sentinal{}).PkgPath() - re := regexp.MustCompile("^.*/pulumi-kubernetes-coredns/sdk(/v\\d+)?") - if match := re.FindStringSubmatch(pkgPath); match != nil { - vStr := match[1] - if len(vStr) == 0 { // If the version capture group was empty, default to v1. - return semver.Version{Major: 1}, nil - } - return semver.MustParse(fmt.Sprintf("%s.0.0", vStr[2:])), nil - } - return semver.Version{}, fmt.Errorf("failed to determine the package version from %s", pkgPath) -} diff --git a/sdk/java/README.md b/sdk/java/README.md new file mode 100644 index 0000000..08d59dd --- /dev/null +++ b/sdk/java/README.md @@ -0,0 +1,29 @@ +# Pulumi Kubernetes CoreDNS Component + +This repo contains the Pulumi CoreDNS component for Kubernetes. CoreDNS is a fast and flexible +DNS server, providing DNS services to your cluster. + +This component wraps [the official CoreDNS Helm Chart](https://github.com/coredns/helm), +and offers a Pulumi-friendly and strongly-typed way to manage CoreDNS installations. + +For examples of usage, see [the official documentation](https://coredns.io/), +or refer to [the examples](/examples) in this repo. + +## To Use + +To use this component, first install the Pulumi Package: + +Afterwards, import the library and instantiate it within your Pulumi program: + +## Configuration + +This component supports all of the configuration options of the [official Helm chart]( +https://github.com/coredns/helm#configuration), except that these +are strongly typed so you will get IDE support and static error checking. + +The Helm deployment uses reasonable defaults, including the chart name and repo URL, however, +if you need to override them, you may do so using the `helmOptions` parameter. Refer to +[the API docs for the `kubernetes:helm/v3:Release` Pulumi type]( +https://www.pulumi.com/docs/reference/pkg/kubernetes/helm/v3/release/#inputs) for a full set of choices. + +For complete details, refer to the Pulumi Package details within the Pulumi Registry. diff --git a/sdk/java/settings.gradle b/sdk/java/settings.gradle new file mode 100644 index 0000000..326375a --- /dev/null +++ b/sdk/java/settings.gradle @@ -0,0 +1,14 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +pluginManagement { + repositories { + maven { // The google mirror is less flaky than mavenCentral() + url("https://maven-central.storage-download.googleapis.com/maven2/") + } + gradlePluginPortal() + } +} + +rootProject.name = "com.pulumi.kubernetes-coredns" +include("lib") diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/CoreDNS.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/CoreDNS.java new file mode 100644 index 0000000..33ad747 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/CoreDNS.java @@ -0,0 +1,75 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns; + +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.kubernetescoredns.CoreDNSArgs; +import com.pulumi.kubernetescoredns.Utilities; +import com.pulumi.kubernetescoredns.outputs.ReleaseStatus; +import javax.annotation.Nullable; + +/** + * Enable fast and flexible in-cluster DNS. + * + */ +@ResourceType(type="kubernetes-coredns:index:CoreDNS") +public class CoreDNS extends com.pulumi.resources.ComponentResource { + /** + * Detailed information about the status of the underlying Helm deployment. + * + */ + @Export(name="status", refs={ReleaseStatus.class}, tree="[0]") + private Output status; + + /** + * @return Detailed information about the status of the underlying Helm deployment. + * + */ + public Output status() { + return this.status; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public CoreDNS(java.lang.String name) { + this(name, CoreDNSArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public CoreDNS(java.lang.String name, @Nullable CoreDNSArgs 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 CoreDNS(java.lang.String name, @Nullable CoreDNSArgs args, @Nullable com.pulumi.resources.ComponentResourceOptions options) { + super("kubernetes-coredns:index:CoreDNS", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), true); + } + + private static CoreDNSArgs makeArgs(@Nullable CoreDNSArgs args, @Nullable com.pulumi.resources.ComponentResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? CoreDNSArgs.Empty : args; + } + + private static com.pulumi.resources.ComponentResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.ComponentResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.ComponentResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.ComponentResourceOptions.merge(defaultOptions, options, id); + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/CoreDNSArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/CoreDNSArgs.java new file mode 100644 index 0000000..e918e32 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/CoreDNSArgs.java @@ -0,0 +1,1220 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.kubernetes.apps.v1.inputs.RollingUpdateDeploymentArgs; +import com.pulumi.kubernetes.autoscaling.v2beta2.inputs.HorizontalPodAutoscalerSpecArgs; +import com.pulumi.kubernetes.core.v1.inputs.AffinityArgs; +import com.pulumi.kubernetes.core.v1.inputs.ProbeArgs; +import com.pulumi.kubernetes.core.v1.inputs.ResourceRequirementsArgs; +import com.pulumi.kubernetes.core.v1.inputs.TolerationArgs; +import com.pulumi.kubernetes.core.v1.inputs.VolumeArgs; +import com.pulumi.kubernetes.core.v1.inputs.VolumeMountArgs; +import com.pulumi.kubernetes.policy.v1.inputs.PodDisruptionBudgetSpecArgs; +import com.pulumi.kubernetescoredns.inputs.CoreDNSAutoscalerArgs; +import com.pulumi.kubernetescoredns.inputs.CoreDNSDeploymentArgs; +import com.pulumi.kubernetescoredns.inputs.CoreDNSHPAArgs; +import com.pulumi.kubernetescoredns.inputs.CoreDNSImageArgs; +import com.pulumi.kubernetescoredns.inputs.CoreDNSPrometheusArgs; +import com.pulumi.kubernetescoredns.inputs.CoreDNSRBACArgs; +import com.pulumi.kubernetescoredns.inputs.CoreDNSServerArgs; +import com.pulumi.kubernetescoredns.inputs.CoreDNSServiceAccountArgs; +import com.pulumi.kubernetescoredns.inputs.CoreDNSServiceArgs; +import com.pulumi.kubernetescoredns.inputs.CoreDNSZoneFileArgs; +import com.pulumi.kubernetescoredns.inputs.ReleaseArgs; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CoreDNSArgs extends com.pulumi.resources.ResourceArgs { + + public static final CoreDNSArgs Empty = new CoreDNSArgs(); + + /** + * Affinity settings for pod assignment. + * + */ + @Import(name="affinity") + private @Nullable Output affinity; + + /** + * @return Affinity settings for pod assignment. + * + */ + public Optional> affinity() { + return Optional.ofNullable(this.affinity); + } + + /** + * Configue a cluster-proportional-autoscaler for coredns. See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler. + * + */ + @Import(name="autoscaler") + private @Nullable Output autoscaler; + + /** + * @return Configue a cluster-proportional-autoscaler for coredns. See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler. + * + */ + public Optional> autoscaler() { + return Optional.ofNullable(this.autoscaler); + } + + /** + * Create HorizontalPodAutoscaler object. + * + */ + @Import(name="autoscaling") + private @Nullable Output autoscaling; + + /** + * @return Create HorizontalPodAutoscaler object. + * + */ + public Optional> autoscaling() { + return Optional.ofNullable(this.autoscaling); + } + + /** + * Configure the CoreDNS Deployment. + * + */ + @Import(name="deployment") + private @Nullable Output deployment; + + /** + * @return Configure the CoreDNS Deployment. + * + */ + public Optional> deployment() { + return Optional.ofNullable(this.deployment); + } + + /** + * Optional array of secrets to mount inside coredns container. Possible usecase: need for secure connection with etcd backend. Optional array of mount points for extraVolumes. + * + */ + @Import(name="extraSecrets") + private @Nullable Output> extraSecrets; + + /** + * @return Optional array of secrets to mount inside coredns container. Possible usecase: need for secure connection with etcd backend. Optional array of mount points for extraVolumes. + * + */ + public Optional>> extraSecrets() { + return Optional.ofNullable(this.extraSecrets); + } + + /** + * Optional array of mount points for extraVolumes. + * + */ + @Import(name="extraVolumeMounts") + private @Nullable Output> extraVolumeMounts; + + /** + * @return Optional array of mount points for extraVolumes. + * + */ + public Optional>> extraVolumeMounts() { + return Optional.ofNullable(this.extraVolumeMounts); + } + + /** + * Optional array of extra volumes to create. + * + */ + @Import(name="extraVolumes") + private @Nullable Output> extraVolumes; + + /** + * @return Optional array of extra volumes to create. + * + */ + public Optional>> extraVolumes() { + return Optional.ofNullable(this.extraVolumes); + } + + /** + * HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args. + * + */ + @Import(name="helmOptions") + private @Nullable Output helmOptions; + + /** + * @return HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args. + * + */ + public Optional> helmOptions() { + return Optional.ofNullable(this.helmOptions); + } + + /** + * Alternative configuration for HPA deployment if wanted. + * + */ + @Import(name="hpa") + private @Nullable Output hpa; + + /** + * @return Alternative configuration for HPA deployment if wanted. + * + */ + public Optional> hpa() { + return Optional.ofNullable(this.hpa); + } + + /** + * The image to pull. + * + */ + @Import(name="image") + private @Nullable Output image; + + /** + * @return The image to pull. + * + */ + public Optional> image() { + return Optional.ofNullable(this.image); + } + + /** + * Specifies whether chart should be deployed as cluster-service or normal k8s app. + * + */ + @Import(name="isClusterService") + private @Nullable Output isClusterService; + + /** + * @return Specifies whether chart should be deployed as cluster-service or normal k8s app. + * + */ + public Optional> isClusterService() { + return Optional.ofNullable(this.isClusterService); + } + + /** + * Configure the liveness probe. To use the livenessProbe, the health plugin needs to be enabled in CoreDNS' server config. + * + */ + @Import(name="livenessProbe") + private @Nullable Output livenessProbe; + + /** + * @return Configure the liveness probe. To use the livenessProbe, the health plugin needs to be enabled in CoreDNS' server config. + * + */ + public Optional> livenessProbe() { + return Optional.ofNullable(this.livenessProbe); + } + + /** + * Node labels for pod assignment. + * + */ + @Import(name="nodeSelector") + private @Nullable Output> nodeSelector; + + /** + * @return Node labels for pod assignment. + * + */ + public Optional>> nodeSelector() { + return Optional.ofNullable(this.nodeSelector); + } + + /** + * Optional Pod only Annotations. + * + */ + @Import(name="podAnnotations") + private @Nullable Output> podAnnotations; + + /** + * @return Optional Pod only Annotations. + * + */ + public Optional>> podAnnotations() { + return Optional.ofNullable(this.podAnnotations); + } + + /** + * Optional PodDisruptionBudget. + * + */ + @Import(name="podDisruptionBudget") + private @Nullable Output podDisruptionBudget; + + /** + * @return Optional PodDisruptionBudget. + * + */ + public Optional> podDisruptionBudget() { + return Optional.ofNullable(this.podDisruptionBudget); + } + + /** + * Under heavy load it takes more that standard time to remove Pod endpoint from a cluster. This will delay termination of our pod by `preStopSleep`. To make sure kube-proxy has enough time to catch up. + * + */ + @Import(name="preStopSleep") + private @Nullable Output preStopSleep; + + /** + * @return Under heavy load it takes more that standard time to remove Pod endpoint from a cluster. This will delay termination of our pod by `preStopSleep`. To make sure kube-proxy has enough time to catch up. + * + */ + public Optional> preStopSleep() { + return Optional.ofNullable(this.preStopSleep); + } + + /** + * Optional priority class to be used for the coredns pods. Used for autoscaler if autoscaler.priorityClassName not set. + * + */ + @Import(name="priorityClassName") + private @Nullable Output priorityClassName; + + /** + * @return Optional priority class to be used for the coredns pods. Used for autoscaler if autoscaler.priorityClassName not set. + * + */ + public Optional> priorityClassName() { + return Optional.ofNullable(this.priorityClassName); + } + + /** + * Configure Prometheus installation. + * + */ + @Import(name="prometheus") + private @Nullable Output prometheus; + + /** + * @return Configure Prometheus installation. + * + */ + public Optional> prometheus() { + return Optional.ofNullable(this.prometheus); + } + + /** + * Configure CoreDNS RBAC resources. + * + */ + @Import(name="rbac") + private @Nullable Output rbac; + + /** + * @return Configure CoreDNS RBAC resources. + * + */ + public Optional> rbac() { + return Optional.ofNullable(this.rbac); + } + + /** + * Configure the readiness probe. To use the readinessProbe, the health plugin needs to be enabled in CoreDNS' server config. + * + */ + @Import(name="readinessProbe") + private @Nullable Output readinessProbe; + + /** + * @return Configure the readiness probe. To use the readinessProbe, the health plugin needs to be enabled in CoreDNS' server config. + * + */ + public Optional> readinessProbe() { + return Optional.ofNullable(this.readinessProbe); + } + + /** + * Number of replicas. + * + */ + @Import(name="replicaCount") + private @Nullable Output replicaCount; + + /** + * @return Number of replicas. + * + */ + public Optional> replicaCount() { + return Optional.ofNullable(this.replicaCount); + } + + /** + * Container resource limits. + * + */ + @Import(name="resources") + private @Nullable Output resources; + + /** + * @return Container resource limits. + * + */ + public Optional> resources() { + return Optional.ofNullable(this.resources); + } + + @Import(name="rollingUpdate") + private @Nullable Output rollingUpdate; + + public Optional> rollingUpdate() { + return Optional.ofNullable(this.rollingUpdate); + } + + /** + * Configuration for CoreDNS and plugins. Default zone is what Kubernetes recommends: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns-configmap-options + * + */ + @Import(name="servers") + private @Nullable Output> servers; + + /** + * @return Configuration for CoreDNS and plugins. Default zone is what Kubernetes recommends: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns-configmap-options + * + */ + public Optional>> servers() { + return Optional.ofNullable(this.servers); + } + + /** + * Configure CoreDNS Service parameters. + * + */ + @Import(name="service") + private @Nullable Output service; + + /** + * @return Configure CoreDNS Service parameters. + * + */ + public Optional> service() { + return Optional.ofNullable(this.service); + } + + /** + * Configure CoreDNS Service Account. + * + */ + @Import(name="serviceAccount") + private @Nullable Output serviceAccount; + + /** + * @return Configure CoreDNS Service Account. + * + */ + public Optional> serviceAccount() { + return Optional.ofNullable(this.serviceAccount); + } + + /** + * Kubernetes Service type. + * + */ + @Import(name="serviceType") + private @Nullable Output serviceType; + + /** + * @return Kubernetes Service type. + * + */ + public Optional> serviceType() { + return Optional.ofNullable(this.serviceType); + } + + /** + * Optional duration in seconds the pod needs to terminate gracefully. + * + */ + @Import(name="terminationGracePeriodSeconds") + private @Nullable Output terminationGracePeriodSeconds; + + /** + * @return Optional duration in seconds the pod needs to terminate gracefully. + * + */ + public Optional> terminationGracePeriodSeconds() { + return Optional.ofNullable(this.terminationGracePeriodSeconds); + } + + /** + * Tolerations for pod assignment. + * + */ + @Import(name="tolerations") + private @Nullable Output> tolerations; + + /** + * @return Tolerations for pod assignment. + * + */ + public Optional>> tolerations() { + return Optional.ofNullable(this.tolerations); + } + + /** + * Configure custom Zone files. + * + */ + @Import(name="zoneFiles") + private @Nullable Output> zoneFiles; + + /** + * @return Configure custom Zone files. + * + */ + public Optional>> zoneFiles() { + return Optional.ofNullable(this.zoneFiles); + } + + private CoreDNSArgs() {} + + private CoreDNSArgs(CoreDNSArgs $) { + this.affinity = $.affinity; + this.autoscaler = $.autoscaler; + this.autoscaling = $.autoscaling; + this.deployment = $.deployment; + this.extraSecrets = $.extraSecrets; + this.extraVolumeMounts = $.extraVolumeMounts; + this.extraVolumes = $.extraVolumes; + this.helmOptions = $.helmOptions; + this.hpa = $.hpa; + this.image = $.image; + this.isClusterService = $.isClusterService; + this.livenessProbe = $.livenessProbe; + this.nodeSelector = $.nodeSelector; + this.podAnnotations = $.podAnnotations; + this.podDisruptionBudget = $.podDisruptionBudget; + this.preStopSleep = $.preStopSleep; + this.priorityClassName = $.priorityClassName; + this.prometheus = $.prometheus; + this.rbac = $.rbac; + this.readinessProbe = $.readinessProbe; + this.replicaCount = $.replicaCount; + this.resources = $.resources; + this.rollingUpdate = $.rollingUpdate; + this.servers = $.servers; + this.service = $.service; + this.serviceAccount = $.serviceAccount; + this.serviceType = $.serviceType; + this.terminationGracePeriodSeconds = $.terminationGracePeriodSeconds; + this.tolerations = $.tolerations; + this.zoneFiles = $.zoneFiles; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CoreDNSArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CoreDNSArgs $; + + public Builder() { + $ = new CoreDNSArgs(); + } + + public Builder(CoreDNSArgs defaults) { + $ = new CoreDNSArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param affinity Affinity settings for pod assignment. + * + * @return builder + * + */ + public Builder affinity(@Nullable Output affinity) { + $.affinity = affinity; + return this; + } + + /** + * @param affinity Affinity settings for pod assignment. + * + * @return builder + * + */ + public Builder affinity(AffinityArgs affinity) { + return affinity(Output.of(affinity)); + } + + /** + * @param autoscaler Configue a cluster-proportional-autoscaler for coredns. See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler. + * + * @return builder + * + */ + public Builder autoscaler(@Nullable Output autoscaler) { + $.autoscaler = autoscaler; + return this; + } + + /** + * @param autoscaler Configue a cluster-proportional-autoscaler for coredns. See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler. + * + * @return builder + * + */ + public Builder autoscaler(CoreDNSAutoscalerArgs autoscaler) { + return autoscaler(Output.of(autoscaler)); + } + + /** + * @param autoscaling Create HorizontalPodAutoscaler object. + * + * @return builder + * + */ + public Builder autoscaling(@Nullable Output autoscaling) { + $.autoscaling = autoscaling; + return this; + } + + /** + * @param autoscaling Create HorizontalPodAutoscaler object. + * + * @return builder + * + */ + public Builder autoscaling(HorizontalPodAutoscalerSpecArgs autoscaling) { + return autoscaling(Output.of(autoscaling)); + } + + /** + * @param deployment Configure the CoreDNS Deployment. + * + * @return builder + * + */ + public Builder deployment(@Nullable Output deployment) { + $.deployment = deployment; + return this; + } + + /** + * @param deployment Configure the CoreDNS Deployment. + * + * @return builder + * + */ + public Builder deployment(CoreDNSDeploymentArgs deployment) { + return deployment(Output.of(deployment)); + } + + /** + * @param extraSecrets Optional array of secrets to mount inside coredns container. Possible usecase: need for secure connection with etcd backend. Optional array of mount points for extraVolumes. + * + * @return builder + * + */ + public Builder extraSecrets(@Nullable Output> extraSecrets) { + $.extraSecrets = extraSecrets; + return this; + } + + /** + * @param extraSecrets Optional array of secrets to mount inside coredns container. Possible usecase: need for secure connection with etcd backend. Optional array of mount points for extraVolumes. + * + * @return builder + * + */ + public Builder extraSecrets(List extraSecrets) { + return extraSecrets(Output.of(extraSecrets)); + } + + /** + * @param extraSecrets Optional array of secrets to mount inside coredns container. Possible usecase: need for secure connection with etcd backend. Optional array of mount points for extraVolumes. + * + * @return builder + * + */ + public Builder extraSecrets(VolumeMountArgs... extraSecrets) { + return extraSecrets(List.of(extraSecrets)); + } + + /** + * @param extraVolumeMounts Optional array of mount points for extraVolumes. + * + * @return builder + * + */ + public Builder extraVolumeMounts(@Nullable Output> extraVolumeMounts) { + $.extraVolumeMounts = extraVolumeMounts; + return this; + } + + /** + * @param extraVolumeMounts Optional array of mount points for extraVolumes. + * + * @return builder + * + */ + public Builder extraVolumeMounts(List extraVolumeMounts) { + return extraVolumeMounts(Output.of(extraVolumeMounts)); + } + + /** + * @param extraVolumeMounts Optional array of mount points for extraVolumes. + * + * @return builder + * + */ + public Builder extraVolumeMounts(VolumeMountArgs... extraVolumeMounts) { + return extraVolumeMounts(List.of(extraVolumeMounts)); + } + + /** + * @param extraVolumes Optional array of extra volumes to create. + * + * @return builder + * + */ + public Builder extraVolumes(@Nullable Output> extraVolumes) { + $.extraVolumes = extraVolumes; + return this; + } + + /** + * @param extraVolumes Optional array of extra volumes to create. + * + * @return builder + * + */ + public Builder extraVolumes(List extraVolumes) { + return extraVolumes(Output.of(extraVolumes)); + } + + /** + * @param extraVolumes Optional array of extra volumes to create. + * + * @return builder + * + */ + public Builder extraVolumes(VolumeArgs... extraVolumes) { + return extraVolumes(List.of(extraVolumes)); + } + + /** + * @param helmOptions HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args. + * + * @return builder + * + */ + public Builder helmOptions(@Nullable Output helmOptions) { + $.helmOptions = helmOptions; + return this; + } + + /** + * @param helmOptions HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args. + * + * @return builder + * + */ + public Builder helmOptions(ReleaseArgs helmOptions) { + return helmOptions(Output.of(helmOptions)); + } + + /** + * @param hpa Alternative configuration for HPA deployment if wanted. + * + * @return builder + * + */ + public Builder hpa(@Nullable Output hpa) { + $.hpa = hpa; + return this; + } + + /** + * @param hpa Alternative configuration for HPA deployment if wanted. + * + * @return builder + * + */ + public Builder hpa(CoreDNSHPAArgs hpa) { + return hpa(Output.of(hpa)); + } + + /** + * @param image The image to pull. + * + * @return builder + * + */ + public Builder image(@Nullable Output image) { + $.image = image; + return this; + } + + /** + * @param image The image to pull. + * + * @return builder + * + */ + public Builder image(CoreDNSImageArgs image) { + return image(Output.of(image)); + } + + /** + * @param isClusterService Specifies whether chart should be deployed as cluster-service or normal k8s app. + * + * @return builder + * + */ + public Builder isClusterService(@Nullable Output isClusterService) { + $.isClusterService = isClusterService; + return this; + } + + /** + * @param isClusterService Specifies whether chart should be deployed as cluster-service or normal k8s app. + * + * @return builder + * + */ + public Builder isClusterService(Boolean isClusterService) { + return isClusterService(Output.of(isClusterService)); + } + + /** + * @param livenessProbe Configure the liveness probe. To use the livenessProbe, the health plugin needs to be enabled in CoreDNS' server config. + * + * @return builder + * + */ + public Builder livenessProbe(@Nullable Output livenessProbe) { + $.livenessProbe = livenessProbe; + return this; + } + + /** + * @param livenessProbe Configure the liveness probe. To use the livenessProbe, the health plugin needs to be enabled in CoreDNS' server config. + * + * @return builder + * + */ + public Builder livenessProbe(ProbeArgs livenessProbe) { + return livenessProbe(Output.of(livenessProbe)); + } + + /** + * @param nodeSelector Node labels for pod assignment. + * + * @return builder + * + */ + public Builder nodeSelector(@Nullable Output> nodeSelector) { + $.nodeSelector = nodeSelector; + return this; + } + + /** + * @param nodeSelector Node labels for pod assignment. + * + * @return builder + * + */ + public Builder nodeSelector(Map nodeSelector) { + return nodeSelector(Output.of(nodeSelector)); + } + + /** + * @param podAnnotations Optional Pod only Annotations. + * + * @return builder + * + */ + public Builder podAnnotations(@Nullable Output> podAnnotations) { + $.podAnnotations = podAnnotations; + return this; + } + + /** + * @param podAnnotations Optional Pod only Annotations. + * + * @return builder + * + */ + public Builder podAnnotations(Map podAnnotations) { + return podAnnotations(Output.of(podAnnotations)); + } + + /** + * @param podDisruptionBudget Optional PodDisruptionBudget. + * + * @return builder + * + */ + public Builder podDisruptionBudget(@Nullable Output podDisruptionBudget) { + $.podDisruptionBudget = podDisruptionBudget; + return this; + } + + /** + * @param podDisruptionBudget Optional PodDisruptionBudget. + * + * @return builder + * + */ + public Builder podDisruptionBudget(PodDisruptionBudgetSpecArgs podDisruptionBudget) { + return podDisruptionBudget(Output.of(podDisruptionBudget)); + } + + /** + * @param preStopSleep Under heavy load it takes more that standard time to remove Pod endpoint from a cluster. This will delay termination of our pod by `preStopSleep`. To make sure kube-proxy has enough time to catch up. + * + * @return builder + * + */ + public Builder preStopSleep(@Nullable Output preStopSleep) { + $.preStopSleep = preStopSleep; + return this; + } + + /** + * @param preStopSleep Under heavy load it takes more that standard time to remove Pod endpoint from a cluster. This will delay termination of our pod by `preStopSleep`. To make sure kube-proxy has enough time to catch up. + * + * @return builder + * + */ + public Builder preStopSleep(Integer preStopSleep) { + return preStopSleep(Output.of(preStopSleep)); + } + + /** + * @param priorityClassName Optional priority class to be used for the coredns pods. Used for autoscaler if autoscaler.priorityClassName not set. + * + * @return builder + * + */ + public Builder priorityClassName(@Nullable Output priorityClassName) { + $.priorityClassName = priorityClassName; + return this; + } + + /** + * @param priorityClassName Optional priority class to be used for the coredns pods. Used for autoscaler if autoscaler.priorityClassName not set. + * + * @return builder + * + */ + public Builder priorityClassName(String priorityClassName) { + return priorityClassName(Output.of(priorityClassName)); + } + + /** + * @param prometheus Configure Prometheus installation. + * + * @return builder + * + */ + public Builder prometheus(@Nullable Output prometheus) { + $.prometheus = prometheus; + return this; + } + + /** + * @param prometheus Configure Prometheus installation. + * + * @return builder + * + */ + public Builder prometheus(CoreDNSPrometheusArgs prometheus) { + return prometheus(Output.of(prometheus)); + } + + /** + * @param rbac Configure CoreDNS RBAC resources. + * + * @return builder + * + */ + public Builder rbac(@Nullable Output rbac) { + $.rbac = rbac; + return this; + } + + /** + * @param rbac Configure CoreDNS RBAC resources. + * + * @return builder + * + */ + public Builder rbac(CoreDNSRBACArgs rbac) { + return rbac(Output.of(rbac)); + } + + /** + * @param readinessProbe Configure the readiness probe. To use the readinessProbe, the health plugin needs to be enabled in CoreDNS' server config. + * + * @return builder + * + */ + public Builder readinessProbe(@Nullable Output readinessProbe) { + $.readinessProbe = readinessProbe; + return this; + } + + /** + * @param readinessProbe Configure the readiness probe. To use the readinessProbe, the health plugin needs to be enabled in CoreDNS' server config. + * + * @return builder + * + */ + public Builder readinessProbe(ProbeArgs readinessProbe) { + return readinessProbe(Output.of(readinessProbe)); + } + + /** + * @param replicaCount Number of replicas. + * + * @return builder + * + */ + public Builder replicaCount(@Nullable Output replicaCount) { + $.replicaCount = replicaCount; + return this; + } + + /** + * @param replicaCount Number of replicas. + * + * @return builder + * + */ + public Builder replicaCount(Integer replicaCount) { + return replicaCount(Output.of(replicaCount)); + } + + /** + * @param resources Container resource limits. + * + * @return builder + * + */ + public Builder resources(@Nullable Output resources) { + $.resources = resources; + return this; + } + + /** + * @param resources Container resource limits. + * + * @return builder + * + */ + public Builder resources(ResourceRequirementsArgs resources) { + return resources(Output.of(resources)); + } + + public Builder rollingUpdate(@Nullable Output rollingUpdate) { + $.rollingUpdate = rollingUpdate; + return this; + } + + public Builder rollingUpdate(RollingUpdateDeploymentArgs rollingUpdate) { + return rollingUpdate(Output.of(rollingUpdate)); + } + + /** + * @param servers Configuration for CoreDNS and plugins. Default zone is what Kubernetes recommends: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns-configmap-options + * + * @return builder + * + */ + public Builder servers(@Nullable Output> servers) { + $.servers = servers; + return this; + } + + /** + * @param servers Configuration for CoreDNS and plugins. Default zone is what Kubernetes recommends: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns-configmap-options + * + * @return builder + * + */ + public Builder servers(List servers) { + return servers(Output.of(servers)); + } + + /** + * @param servers Configuration for CoreDNS and plugins. Default zone is what Kubernetes recommends: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns-configmap-options + * + * @return builder + * + */ + public Builder servers(CoreDNSServerArgs... servers) { + return servers(List.of(servers)); + } + + /** + * @param service Configure CoreDNS Service parameters. + * + * @return builder + * + */ + public Builder service(@Nullable Output service) { + $.service = service; + return this; + } + + /** + * @param service Configure CoreDNS Service parameters. + * + * @return builder + * + */ + public Builder service(CoreDNSServiceArgs service) { + return service(Output.of(service)); + } + + /** + * @param serviceAccount Configure CoreDNS Service Account. + * + * @return builder + * + */ + public Builder serviceAccount(@Nullable Output serviceAccount) { + $.serviceAccount = serviceAccount; + return this; + } + + /** + * @param serviceAccount Configure CoreDNS Service Account. + * + * @return builder + * + */ + public Builder serviceAccount(CoreDNSServiceAccountArgs serviceAccount) { + return serviceAccount(Output.of(serviceAccount)); + } + + /** + * @param serviceType Kubernetes Service type. + * + * @return builder + * + */ + public Builder serviceType(@Nullable Output serviceType) { + $.serviceType = serviceType; + return this; + } + + /** + * @param serviceType Kubernetes Service type. + * + * @return builder + * + */ + public Builder serviceType(String serviceType) { + return serviceType(Output.of(serviceType)); + } + + /** + * @param terminationGracePeriodSeconds Optional duration in seconds the pod needs to terminate gracefully. + * + * @return builder + * + */ + public Builder terminationGracePeriodSeconds(@Nullable Output terminationGracePeriodSeconds) { + $.terminationGracePeriodSeconds = terminationGracePeriodSeconds; + return this; + } + + /** + * @param terminationGracePeriodSeconds Optional duration in seconds the pod needs to terminate gracefully. + * + * @return builder + * + */ + public Builder terminationGracePeriodSeconds(Integer terminationGracePeriodSeconds) { + return terminationGracePeriodSeconds(Output.of(terminationGracePeriodSeconds)); + } + + /** + * @param tolerations Tolerations for pod assignment. + * + * @return builder + * + */ + public Builder tolerations(@Nullable Output> tolerations) { + $.tolerations = tolerations; + return this; + } + + /** + * @param tolerations Tolerations for pod assignment. + * + * @return builder + * + */ + public Builder tolerations(List tolerations) { + return tolerations(Output.of(tolerations)); + } + + /** + * @param tolerations Tolerations for pod assignment. + * + * @return builder + * + */ + public Builder tolerations(TolerationArgs... tolerations) { + return tolerations(List.of(tolerations)); + } + + /** + * @param zoneFiles Configure custom Zone files. + * + * @return builder + * + */ + public Builder zoneFiles(@Nullable Output> zoneFiles) { + $.zoneFiles = zoneFiles; + return this; + } + + /** + * @param zoneFiles Configure custom Zone files. + * + * @return builder + * + */ + public Builder zoneFiles(List zoneFiles) { + return zoneFiles(Output.of(zoneFiles)); + } + + /** + * @param zoneFiles Configure custom Zone files. + * + * @return builder + * + */ + public Builder zoneFiles(CoreDNSZoneFileArgs... zoneFiles) { + return zoneFiles(List.of(zoneFiles)); + } + + public CoreDNSArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/Provider.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/Provider.java new file mode 100644 index 0000000..0c70254 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/Provider.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.kubernetescoredns.ProviderArgs; +import com.pulumi.kubernetescoredns.Utilities; +import javax.annotation.Nullable; + +@ResourceType(type="pulumi:providers:kubernetes-coredns") +public class Provider extends com.pulumi.resources.ProviderResource { + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Provider(java.lang.String name) { + this(name, ProviderArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Provider(java.lang.String name, @Nullable ProviderArgs 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 Provider(java.lang.String name, @Nullable ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("kubernetes-coredns", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private static ProviderArgs makeArgs(@Nullable ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ProviderArgs.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); + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/ProviderArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/ProviderArgs.java new file mode 100644 index 0000000..13fc643 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/ProviderArgs.java @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns; + + + + +public final class ProviderArgs extends com.pulumi.resources.ResourceArgs { + + public static final ProviderArgs Empty = new ProviderArgs(); + + public static Builder builder() { + return new Builder(); + } + + public static final class Builder { + private ProviderArgs $; + + public Builder() { + $ = new ProviderArgs(); + } + public ProviderArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/Utilities.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/Utilities.java new file mode 100644 index 0000000..8cb62d7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/Utilities.java @@ -0,0 +1,102 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns; + + + + + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.util.Optional; +import java.util.stream.Collectors; +import javax.annotation.Nullable; +import com.pulumi.core.internal.Environment; +import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; + +public class Utilities { + + public static Optional getEnv(java.lang.String... names) { + for (var n : names) { + var value = Environment.getEnvironmentVariable(n); + if (value.isValue()) { + return Optional.of(value.value()); + } + } + return Optional.empty(); + } + + public static Optional getEnvBoolean(java.lang.String... names) { + for (var n : names) { + var value = Environment.getBooleanEnvironmentVariable(n); + if (value.isValue()) { + return Optional.of(value.value()); + } + } + return Optional.empty(); + } + + public static Optional getEnvInteger(java.lang.String... names) { + for (var n : names) { + var value = Environment.getIntegerEnvironmentVariable(n); + if (value.isValue()) { + return Optional.of(value.value()); + } + } + return Optional.empty(); + } + + public static Optional getEnvDouble(java.lang.String... names) { + for (var n : names) { + var value = Environment.getDoubleEnvironmentVariable(n); + if (value.isValue()) { + return Optional.of(value.value()); + } + } + return Optional.empty(); + } + + public static InvokeOptions withVersion(@Nullable InvokeOptions options) { + if (options != null && options.getVersion().isPresent()) { + return options; + } + return new InvokeOptions( + options == null ? null : options.getParent().orElse(null), + options == null ? null : options.getProvider().orElse(null), + getVersion() + ); + } + + public static InvokeOutputOptions withVersion(@Nullable InvokeOutputOptions options) { + if (options != null && options.getVersion().isPresent()) { + return options; + } + return new InvokeOutputOptions( + options == null ? null : options.getParent().orElse(null), + options == null ? null : options.getProvider().orElse(null), + getVersion(), + options == null ? null : options.getDependsOn() + ); + } + + private static final java.lang.String version; + public static java.lang.String getVersion() { + return version; + } + + static { + var resourceName = "com/pulumi/kubernetes-coredns/version.txt"; + var versionFile = Utilities.class.getClassLoader().getResourceAsStream(resourceName); + if (versionFile == null) { + throw new IllegalStateException( + java.lang.String.format("expected resource '%s' on Classpath, not found", resourceName) + ); + } + version = new BufferedReader(new InputStreamReader(versionFile)) + .lines() + .collect(Collectors.joining("\n")) + .trim(); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSAutoscalerArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSAutoscalerArgs.java new file mode 100644 index 0000000..b16602b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSAutoscalerArgs.java @@ -0,0 +1,344 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.kubernetescoredns.inputs.CoreDNSImageArgs; +import java.lang.Boolean; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CoreDNSAutoscalerArgs extends com.pulumi.resources.ResourceArgs { + + public static final CoreDNSAutoscalerArgs Empty = new CoreDNSAutoscalerArgs(); + + /** + * Number of cores in the cluster per coredns replica. + * + */ + @Import(name="coresPerReplica") + private @Nullable Output coresPerReplica; + + /** + * @return Number of cores in the cluster per coredns replica. + * + */ + public Optional> coresPerReplica() { + return Optional.ofNullable(this.coresPerReplica); + } + + /** + * Enabled the cluster-proportional-autoscaler. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Enabled the cluster-proportional-autoscaler. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + /** + * The image to pull from for the autoscaler. + * + */ + @Import(name="image") + private @Nullable Output image; + + /** + * @return The image to pull from for the autoscaler. + * + */ + public Optional> image() { + return Optional.ofNullable(this.image); + } + + /** + * Whether to include unschedulable nodes in the nodes/cores calculations - this requires version 1.8.0+ of the autoscaler. + * + */ + @Import(name="includeUnschedulableNodes") + private @Nullable Output includeUnschedulableNodes; + + /** + * @return Whether to include unschedulable nodes in the nodes/cores calculations - this requires version 1.8.0+ of the autoscaler. + * + */ + public Optional> includeUnschedulableNodes() { + return Optional.ofNullable(this.includeUnschedulableNodes); + } + + /** + * Max size of replicaCount + * + */ + @Import(name="max") + private @Nullable Output max; + + /** + * @return Max size of replicaCount + * + */ + public Optional> max() { + return Optional.ofNullable(this.max); + } + + /** + * Min size of replicaCount + * + */ + @Import(name="min") + private @Nullable Output min; + + /** + * @return Min size of replicaCount + * + */ + public Optional> min() { + return Optional.ofNullable(this.min); + } + + /** + * Number of nodes in the cluster per coredns replica. + * + */ + @Import(name="nodesPerReplica") + private @Nullable Output nodesPerReplica; + + /** + * @return Number of nodes in the cluster per coredns replica. + * + */ + public Optional> nodesPerReplica() { + return Optional.ofNullable(this.nodesPerReplica); + } + + /** + * If true does not allow single points of failure to form. + * + */ + @Import(name="preventSinglePointFailure") + private @Nullable Output preventSinglePointFailure; + + /** + * @return If true does not allow single points of failure to form. + * + */ + public Optional> preventSinglePointFailure() { + return Optional.ofNullable(this.preventSinglePointFailure); + } + + private CoreDNSAutoscalerArgs() {} + + private CoreDNSAutoscalerArgs(CoreDNSAutoscalerArgs $) { + this.coresPerReplica = $.coresPerReplica; + this.enabled = $.enabled; + this.image = $.image; + this.includeUnschedulableNodes = $.includeUnschedulableNodes; + this.max = $.max; + this.min = $.min; + this.nodesPerReplica = $.nodesPerReplica; + this.preventSinglePointFailure = $.preventSinglePointFailure; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CoreDNSAutoscalerArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CoreDNSAutoscalerArgs $; + + public Builder() { + $ = new CoreDNSAutoscalerArgs(); + } + + public Builder(CoreDNSAutoscalerArgs defaults) { + $ = new CoreDNSAutoscalerArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param coresPerReplica Number of cores in the cluster per coredns replica. + * + * @return builder + * + */ + public Builder coresPerReplica(@Nullable Output coresPerReplica) { + $.coresPerReplica = coresPerReplica; + return this; + } + + /** + * @param coresPerReplica Number of cores in the cluster per coredns replica. + * + * @return builder + * + */ + public Builder coresPerReplica(Integer coresPerReplica) { + return coresPerReplica(Output.of(coresPerReplica)); + } + + /** + * @param enabled Enabled the cluster-proportional-autoscaler. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Enabled the cluster-proportional-autoscaler. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + /** + * @param image The image to pull from for the autoscaler. + * + * @return builder + * + */ + public Builder image(@Nullable Output image) { + $.image = image; + return this; + } + + /** + * @param image The image to pull from for the autoscaler. + * + * @return builder + * + */ + public Builder image(CoreDNSImageArgs image) { + return image(Output.of(image)); + } + + /** + * @param includeUnschedulableNodes Whether to include unschedulable nodes in the nodes/cores calculations - this requires version 1.8.0+ of the autoscaler. + * + * @return builder + * + */ + public Builder includeUnschedulableNodes(@Nullable Output includeUnschedulableNodes) { + $.includeUnschedulableNodes = includeUnschedulableNodes; + return this; + } + + /** + * @param includeUnschedulableNodes Whether to include unschedulable nodes in the nodes/cores calculations - this requires version 1.8.0+ of the autoscaler. + * + * @return builder + * + */ + public Builder includeUnschedulableNodes(Boolean includeUnschedulableNodes) { + return includeUnschedulableNodes(Output.of(includeUnschedulableNodes)); + } + + /** + * @param max Max size of replicaCount + * + * @return builder + * + */ + public Builder max(@Nullable Output max) { + $.max = max; + return this; + } + + /** + * @param max Max size of replicaCount + * + * @return builder + * + */ + public Builder max(Integer max) { + return max(Output.of(max)); + } + + /** + * @param min Min size of replicaCount + * + * @return builder + * + */ + public Builder min(@Nullable Output min) { + $.min = min; + return this; + } + + /** + * @param min Min size of replicaCount + * + * @return builder + * + */ + public Builder min(Integer min) { + return min(Output.of(min)); + } + + /** + * @param nodesPerReplica Number of nodes in the cluster per coredns replica. + * + * @return builder + * + */ + public Builder nodesPerReplica(@Nullable Output nodesPerReplica) { + $.nodesPerReplica = nodesPerReplica; + return this; + } + + /** + * @param nodesPerReplica Number of nodes in the cluster per coredns replica. + * + * @return builder + * + */ + public Builder nodesPerReplica(Integer nodesPerReplica) { + return nodesPerReplica(Output.of(nodesPerReplica)); + } + + /** + * @param preventSinglePointFailure If true does not allow single points of failure to form. + * + * @return builder + * + */ + public Builder preventSinglePointFailure(@Nullable Output preventSinglePointFailure) { + $.preventSinglePointFailure = preventSinglePointFailure; + return this; + } + + /** + * @param preventSinglePointFailure If true does not allow single points of failure to form. + * + * @return builder + * + */ + public Builder preventSinglePointFailure(Boolean preventSinglePointFailure) { + return preventSinglePointFailure(Output.of(preventSinglePointFailure)); + } + + public CoreDNSAutoscalerArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSDeploymentArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSDeploymentArgs.java new file mode 100644 index 0000000..a7a9f36 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSDeploymentArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CoreDNSDeploymentArgs extends com.pulumi.resources.ResourceArgs { + + public static final CoreDNSDeploymentArgs Empty = new CoreDNSDeploymentArgs(); + + /** + * Optionally disable the main deployment and its respective resources. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Optionally disable the main deployment and its respective resources. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + /** + * Name of the deployment if deployment.enabled is true. Otherwise the name of an existing deployment for the autoscaler or HPA to target. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the deployment if deployment.enabled is true. Otherwise the name of an existing deployment for the autoscaler or HPA to target. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + private CoreDNSDeploymentArgs() {} + + private CoreDNSDeploymentArgs(CoreDNSDeploymentArgs $) { + this.enabled = $.enabled; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CoreDNSDeploymentArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CoreDNSDeploymentArgs $; + + public Builder() { + $ = new CoreDNSDeploymentArgs(); + } + + public Builder(CoreDNSDeploymentArgs defaults) { + $ = new CoreDNSDeploymentArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enabled Optionally disable the main deployment and its respective resources. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Optionally disable the main deployment and its respective resources. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + /** + * @param name Name of the deployment if deployment.enabled is true. Otherwise the name of an existing deployment for the autoscaler or HPA to target. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the deployment if deployment.enabled is true. Otherwise the name of an existing deployment for the autoscaler or HPA to target. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public CoreDNSDeploymentArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSHPAArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSHPAArgs.java new file mode 100644 index 0000000..971ead7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSHPAArgs.java @@ -0,0 +1,116 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.kubernetes.autoscaling.v2beta2.inputs.MetricSpecArgs; +import java.lang.Boolean; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CoreDNSHPAArgs extends com.pulumi.resources.ResourceArgs { + + public static final CoreDNSHPAArgs Empty = new CoreDNSHPAArgs(); + + @Import(name="enabled") + private @Nullable Output enabled; + + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + @Import(name="maxReplicas") + private @Nullable Output maxReplicas; + + public Optional> maxReplicas() { + return Optional.ofNullable(this.maxReplicas); + } + + @Import(name="metrics") + private @Nullable Output metrics; + + public Optional> metrics() { + return Optional.ofNullable(this.metrics); + } + + @Import(name="minReplicas") + private @Nullable Output minReplicas; + + public Optional> minReplicas() { + return Optional.ofNullable(this.minReplicas); + } + + private CoreDNSHPAArgs() {} + + private CoreDNSHPAArgs(CoreDNSHPAArgs $) { + this.enabled = $.enabled; + this.maxReplicas = $.maxReplicas; + this.metrics = $.metrics; + this.minReplicas = $.minReplicas; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CoreDNSHPAArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CoreDNSHPAArgs $; + + public Builder() { + $ = new CoreDNSHPAArgs(); + } + + public Builder(CoreDNSHPAArgs defaults) { + $ = new CoreDNSHPAArgs(Objects.requireNonNull(defaults)); + } + + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + public Builder maxReplicas(@Nullable Output maxReplicas) { + $.maxReplicas = maxReplicas; + return this; + } + + public Builder maxReplicas(Integer maxReplicas) { + return maxReplicas(Output.of(maxReplicas)); + } + + public Builder metrics(@Nullable Output metrics) { + $.metrics = metrics; + return this; + } + + public Builder metrics(MetricSpecArgs metrics) { + return metrics(Output.of(metrics)); + } + + public Builder minReplicas(@Nullable Output minReplicas) { + $.minReplicas = minReplicas; + return this; + } + + public Builder minReplicas(Integer minReplicas) { + return minReplicas(Output.of(minReplicas)); + } + + public CoreDNSHPAArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSImageArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSImageArgs.java new file mode 100644 index 0000000..02cd5eb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSImageArgs.java @@ -0,0 +1,205 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CoreDNSImageArgs extends com.pulumi.resources.ResourceArgs { + + public static final CoreDNSImageArgs Empty = new CoreDNSImageArgs(); + + /** + * Image pull policy. + * + */ + @Import(name="pullPolicy") + private @Nullable Output pullPolicy; + + /** + * @return Image pull policy. + * + */ + public Optional> pullPolicy() { + return Optional.ofNullable(this.pullPolicy); + } + + /** + * Specify container image pull secrets. + * + */ + @Import(name="pullSecrets") + private @Nullable Output> pullSecrets; + + /** + * @return Specify container image pull secrets. + * + */ + public Optional>> pullSecrets() { + return Optional.ofNullable(this.pullSecrets); + } + + /** + * The image repository to pull from. + * + */ + @Import(name="repository") + private @Nullable Output repository; + + /** + * @return The image repository to pull from. + * + */ + public Optional> repository() { + return Optional.ofNullable(this.repository); + } + + /** + * The image tag to pull from. + * + */ + @Import(name="tag") + private @Nullable Output tag; + + /** + * @return The image tag to pull from. + * + */ + public Optional> tag() { + return Optional.ofNullable(this.tag); + } + + private CoreDNSImageArgs() {} + + private CoreDNSImageArgs(CoreDNSImageArgs $) { + this.pullPolicy = $.pullPolicy; + this.pullSecrets = $.pullSecrets; + this.repository = $.repository; + this.tag = $.tag; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CoreDNSImageArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CoreDNSImageArgs $; + + public Builder() { + $ = new CoreDNSImageArgs(); + } + + public Builder(CoreDNSImageArgs defaults) { + $ = new CoreDNSImageArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param pullPolicy Image pull policy. + * + * @return builder + * + */ + public Builder pullPolicy(@Nullable Output pullPolicy) { + $.pullPolicy = pullPolicy; + return this; + } + + /** + * @param pullPolicy Image pull policy. + * + * @return builder + * + */ + public Builder pullPolicy(String pullPolicy) { + return pullPolicy(Output.of(pullPolicy)); + } + + /** + * @param pullSecrets Specify container image pull secrets. + * + * @return builder + * + */ + public Builder pullSecrets(@Nullable Output> pullSecrets) { + $.pullSecrets = pullSecrets; + return this; + } + + /** + * @param pullSecrets Specify container image pull secrets. + * + * @return builder + * + */ + public Builder pullSecrets(List pullSecrets) { + return pullSecrets(Output.of(pullSecrets)); + } + + /** + * @param pullSecrets Specify container image pull secrets. + * + * @return builder + * + */ + public Builder pullSecrets(String... pullSecrets) { + return pullSecrets(List.of(pullSecrets)); + } + + /** + * @param repository The image repository to pull from. + * + * @return builder + * + */ + public Builder repository(@Nullable Output repository) { + $.repository = repository; + return this; + } + + /** + * @param repository The image repository to pull from. + * + * @return builder + * + */ + public Builder repository(String repository) { + return repository(Output.of(repository)); + } + + /** + * @param tag The image tag to pull from. + * + * @return builder + * + */ + public Builder tag(@Nullable Output tag) { + $.tag = tag; + return this; + } + + /** + * @param tag The image tag to pull from. + * + * @return builder + * + */ + public Builder tag(String tag) { + return tag(Output.of(tag)); + } + + public CoreDNSImageArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSPrometheusArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSPrometheusArgs.java new file mode 100644 index 0000000..52f0460 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSPrometheusArgs.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.kubernetescoredns.inputs.CoreDNSPrometheusMonitorArgs; +import com.pulumi.kubernetescoredns.inputs.CoreDNSPrometheusServiceArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CoreDNSPrometheusArgs extends com.pulumi.resources.ResourceArgs { + + public static final CoreDNSPrometheusArgs Empty = new CoreDNSPrometheusArgs(); + + @Import(name="monitor") + private @Nullable Output monitor; + + public Optional> monitor() { + return Optional.ofNullable(this.monitor); + } + + @Import(name="service") + private @Nullable Output service; + + public Optional> service() { + return Optional.ofNullable(this.service); + } + + private CoreDNSPrometheusArgs() {} + + private CoreDNSPrometheusArgs(CoreDNSPrometheusArgs $) { + this.monitor = $.monitor; + this.service = $.service; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CoreDNSPrometheusArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CoreDNSPrometheusArgs $; + + public Builder() { + $ = new CoreDNSPrometheusArgs(); + } + + public Builder(CoreDNSPrometheusArgs defaults) { + $ = new CoreDNSPrometheusArgs(Objects.requireNonNull(defaults)); + } + + public Builder monitor(@Nullable Output monitor) { + $.monitor = monitor; + return this; + } + + public Builder monitor(CoreDNSPrometheusMonitorArgs monitor) { + return monitor(Output.of(monitor)); + } + + public Builder service(@Nullable Output service) { + $.service = service; + return this; + } + + public Builder service(CoreDNSPrometheusServiceArgs service) { + return service(Output.of(service)); + } + + public CoreDNSPrometheusArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSPrometheusMonitorArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSPrometheusMonitorArgs.java new file mode 100644 index 0000000..87ce36e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSPrometheusMonitorArgs.java @@ -0,0 +1,159 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CoreDNSPrometheusMonitorArgs extends com.pulumi.resources.ResourceArgs { + + public static final CoreDNSPrometheusMonitorArgs Empty = new CoreDNSPrometheusMonitorArgs(); + + /** + * Additional labels that can be used so ServiceMonitor will be discovered by Prometheus. + * + */ + @Import(name="additionalLabels") + private @Nullable Output> additionalLabels; + + /** + * @return Additional labels that can be used so ServiceMonitor will be discovered by Prometheus. + * + */ + public Optional>> additionalLabels() { + return Optional.ofNullable(this.additionalLabels); + } + + /** + * Set this to true to create ServiceMonitor for Prometheus operator. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Set this to true to create ServiceMonitor for Prometheus operator. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + /** + * Selector to select which namespaces the Endpoints objects are discovered from. + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return Selector to select which namespaces the Endpoints objects are discovered from. + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + private CoreDNSPrometheusMonitorArgs() {} + + private CoreDNSPrometheusMonitorArgs(CoreDNSPrometheusMonitorArgs $) { + this.additionalLabels = $.additionalLabels; + this.enabled = $.enabled; + this.namespace = $.namespace; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CoreDNSPrometheusMonitorArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CoreDNSPrometheusMonitorArgs $; + + public Builder() { + $ = new CoreDNSPrometheusMonitorArgs(); + } + + public Builder(CoreDNSPrometheusMonitorArgs defaults) { + $ = new CoreDNSPrometheusMonitorArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param additionalLabels Additional labels that can be used so ServiceMonitor will be discovered by Prometheus. + * + * @return builder + * + */ + public Builder additionalLabels(@Nullable Output> additionalLabels) { + $.additionalLabels = additionalLabels; + return this; + } + + /** + * @param additionalLabels Additional labels that can be used so ServiceMonitor will be discovered by Prometheus. + * + * @return builder + * + */ + public Builder additionalLabels(Map additionalLabels) { + return additionalLabels(Output.of(additionalLabels)); + } + + /** + * @param enabled Set this to true to create ServiceMonitor for Prometheus operator. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Set this to true to create ServiceMonitor for Prometheus operator. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + /** + * @param namespace Selector to select which namespaces the Endpoints objects are discovered from. + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace Selector to select which namespaces the Endpoints objects are discovered from. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + public CoreDNSPrometheusMonitorArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSPrometheusServiceArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSPrometheusServiceArgs.java new file mode 100644 index 0000000..a05df05 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSPrometheusServiceArgs.java @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CoreDNSPrometheusServiceArgs extends com.pulumi.resources.ResourceArgs { + + public static final CoreDNSPrometheusServiceArgs Empty = new CoreDNSPrometheusServiceArgs(); + + /** + * Annotations to add to the metrics Service. + * + */ + @Import(name="annotations") + private @Nullable Output> annotations; + + /** + * @return Annotations to add to the metrics Service. + * + */ + public Optional>> annotations() { + return Optional.ofNullable(this.annotations); + } + + /** + * Set this to true to create Service for Prometheus metrics. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Set this to true to create Service for Prometheus metrics. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + private CoreDNSPrometheusServiceArgs() {} + + private CoreDNSPrometheusServiceArgs(CoreDNSPrometheusServiceArgs $) { + this.annotations = $.annotations; + this.enabled = $.enabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CoreDNSPrometheusServiceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CoreDNSPrometheusServiceArgs $; + + public Builder() { + $ = new CoreDNSPrometheusServiceArgs(); + } + + public Builder(CoreDNSPrometheusServiceArgs defaults) { + $ = new CoreDNSPrometheusServiceArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param annotations Annotations to add to the metrics Service. + * + * @return builder + * + */ + public Builder annotations(@Nullable Output> annotations) { + $.annotations = annotations; + return this; + } + + /** + * @param annotations Annotations to add to the metrics Service. + * + * @return builder + * + */ + public Builder annotations(Map annotations) { + return annotations(Output.of(annotations)); + } + + /** + * @param enabled Set this to true to create Service for Prometheus metrics. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Set this to true to create Service for Prometheus metrics. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + public CoreDNSPrometheusServiceArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSRBACArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSRBACArgs.java new file mode 100644 index 0000000..770bdd5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSRBACArgs.java @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CoreDNSRBACArgs extends com.pulumi.resources.ResourceArgs { + + public static final CoreDNSRBACArgs Empty = new CoreDNSRBACArgs(); + + /** + * If true, create & use RBAC resources + * + */ + @Import(name="create") + private @Nullable Output create; + + /** + * @return If true, create & use RBAC resources + * + */ + public Optional> create() { + return Optional.ofNullable(this.create); + } + + /** + * The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * If true, create and use PodSecurityPolicy + * + */ + @Import(name="pspEnable") + private @Nullable Output pspEnable; + + /** + * @return If true, create and use PodSecurityPolicy + * + */ + public Optional> pspEnable() { + return Optional.ofNullable(this.pspEnable); + } + + private CoreDNSRBACArgs() {} + + private CoreDNSRBACArgs(CoreDNSRBACArgs $) { + this.create = $.create; + this.name = $.name; + this.pspEnable = $.pspEnable; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CoreDNSRBACArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CoreDNSRBACArgs $; + + public Builder() { + $ = new CoreDNSRBACArgs(); + } + + public Builder(CoreDNSRBACArgs defaults) { + $ = new CoreDNSRBACArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param create If true, create & use RBAC resources + * + * @return builder + * + */ + public Builder create(@Nullable Output create) { + $.create = create; + return this; + } + + /** + * @param create If true, create & use RBAC resources + * + * @return builder + * + */ + public Builder create(Boolean create) { + return create(Output.of(create)); + } + + /** + * @param name The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param pspEnable If true, create and use PodSecurityPolicy + * + * @return builder + * + */ + public Builder pspEnable(@Nullable Output pspEnable) { + $.pspEnable = pspEnable; + return this; + } + + /** + * @param pspEnable If true, create and use PodSecurityPolicy + * + * @return builder + * + */ + public Builder pspEnable(Boolean pspEnable) { + return pspEnable(Output.of(pspEnable)); + } + + public CoreDNSRBACArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSServerArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSServerArgs.java new file mode 100644 index 0000000..c3fd4a5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSServerArgs.java @@ -0,0 +1,180 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.kubernetescoredns.inputs.CoreDNSServerPluginArgs; +import com.pulumi.kubernetescoredns.inputs.CoreDNSServerZoneArgs; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CoreDNSServerArgs extends com.pulumi.resources.ResourceArgs { + + public static final CoreDNSServerArgs Empty = new CoreDNSServerArgs(); + + /** + * the plugins to use for this server block. + * + */ + @Import(name="plugins") + private @Nullable Output> plugins; + + /** + * @return the plugins to use for this server block. + * + */ + public Optional>> plugins() { + return Optional.ofNullable(this.plugins); + } + + /** + * optional, defaults to "" (which equals 53 in CoreDNS). + * + */ + @Import(name="port") + private @Nullable Output port; + + /** + * @return optional, defaults to "" (which equals 53 in CoreDNS). + * + */ + public Optional> port() { + return Optional.ofNullable(this.port); + } + + /** + * the `zones` block can be left out entirely, defaults to "." + * + */ + @Import(name="zones") + private @Nullable Output> zones; + + /** + * @return the `zones` block can be left out entirely, defaults to "." + * + */ + public Optional>> zones() { + return Optional.ofNullable(this.zones); + } + + private CoreDNSServerArgs() {} + + private CoreDNSServerArgs(CoreDNSServerArgs $) { + this.plugins = $.plugins; + this.port = $.port; + this.zones = $.zones; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CoreDNSServerArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CoreDNSServerArgs $; + + public Builder() { + $ = new CoreDNSServerArgs(); + } + + public Builder(CoreDNSServerArgs defaults) { + $ = new CoreDNSServerArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param plugins the plugins to use for this server block. + * + * @return builder + * + */ + public Builder plugins(@Nullable Output> plugins) { + $.plugins = plugins; + return this; + } + + /** + * @param plugins the plugins to use for this server block. + * + * @return builder + * + */ + public Builder plugins(List plugins) { + return plugins(Output.of(plugins)); + } + + /** + * @param plugins the plugins to use for this server block. + * + * @return builder + * + */ + public Builder plugins(CoreDNSServerPluginArgs... plugins) { + return plugins(List.of(plugins)); + } + + /** + * @param port optional, defaults to "" (which equals 53 in CoreDNS). + * + * @return builder + * + */ + public Builder port(@Nullable Output port) { + $.port = port; + return this; + } + + /** + * @param port optional, defaults to "" (which equals 53 in CoreDNS). + * + * @return builder + * + */ + public Builder port(Integer port) { + return port(Output.of(port)); + } + + /** + * @param zones the `zones` block can be left out entirely, defaults to "." + * + * @return builder + * + */ + public Builder zones(@Nullable Output> zones) { + $.zones = zones; + return this; + } + + /** + * @param zones the `zones` block can be left out entirely, defaults to "." + * + * @return builder + * + */ + public Builder zones(List zones) { + return zones(Output.of(zones)); + } + + /** + * @param zones the `zones` block can be left out entirely, defaults to "." + * + * @return builder + * + */ + public Builder zones(CoreDNSServerZoneArgs... zones) { + return zones(List.of(zones)); + } + + public CoreDNSServerArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSServerPluginArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSServerPluginArgs.java new file mode 100644 index 0000000..eeed053 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSServerPluginArgs.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CoreDNSServerPluginArgs extends com.pulumi.resources.ResourceArgs { + + public static final CoreDNSServerPluginArgs Empty = new CoreDNSServerPluginArgs(); + + /** + * if the plugin supports extra block style config, supply it here + * + */ + @Import(name="configBlock") + private @Nullable Output configBlock; + + /** + * @return if the plugin supports extra block style config, supply it here + * + */ + public Optional> configBlock() { + return Optional.ofNullable(this.configBlock); + } + + /** + * name of plugin, if used multiple times ensure that the plugin supports it! + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return name of plugin, if used multiple times ensure that the plugin supports it! + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * list of parameters after the plugin + * + */ + @Import(name="parameters") + private @Nullable Output parameters; + + /** + * @return list of parameters after the plugin + * + */ + public Optional> parameters() { + return Optional.ofNullable(this.parameters); + } + + private CoreDNSServerPluginArgs() {} + + private CoreDNSServerPluginArgs(CoreDNSServerPluginArgs $) { + this.configBlock = $.configBlock; + this.name = $.name; + this.parameters = $.parameters; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CoreDNSServerPluginArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CoreDNSServerPluginArgs $; + + public Builder() { + $ = new CoreDNSServerPluginArgs(); + } + + public Builder(CoreDNSServerPluginArgs defaults) { + $ = new CoreDNSServerPluginArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param configBlock if the plugin supports extra block style config, supply it here + * + * @return builder + * + */ + public Builder configBlock(@Nullable Output configBlock) { + $.configBlock = configBlock; + return this; + } + + /** + * @param configBlock if the plugin supports extra block style config, supply it here + * + * @return builder + * + */ + public Builder configBlock(String configBlock) { + return configBlock(Output.of(configBlock)); + } + + /** + * @param name name of plugin, if used multiple times ensure that the plugin supports it! + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name name of plugin, if used multiple times ensure that the plugin supports it! + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param parameters list of parameters after the plugin + * + * @return builder + * + */ + public Builder parameters(@Nullable Output parameters) { + $.parameters = parameters; + return this; + } + + /** + * @param parameters list of parameters after the plugin + * + * @return builder + * + */ + public Builder parameters(String parameters) { + return parameters(Output.of(parameters)); + } + + public CoreDNSServerPluginArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSServerZoneArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSServerZoneArgs.java new file mode 100644 index 0000000..db8139b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSServerZoneArgs.java @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CoreDNSServerZoneArgs extends com.pulumi.resources.ResourceArgs { + + public static final CoreDNSServerZoneArgs Empty = new CoreDNSServerZoneArgs(); + + /** + * optional, defaults to "" (which equals "dns://" in CoreDNS) + * + */ + @Import(name="scheme") + private @Nullable Output scheme; + + /** + * @return optional, defaults to "" (which equals "dns://" in CoreDNS) + * + */ + public Optional> scheme() { + return Optional.ofNullable(this.scheme); + } + + /** + * set this parameter to optionally expose the port on tcp as well as udp for the DNS protocol. Note that this will not work if you are also exposing tls or grpc on the same server. + * + */ + @Import(name="use_tcp") + private @Nullable Output use_tcp; + + /** + * @return set this parameter to optionally expose the port on tcp as well as udp for the DNS protocol. Note that this will not work if you are also exposing tls or grpc on the same server. + * + */ + public Optional> use_tcp() { + return Optional.ofNullable(this.use_tcp); + } + + /** + * optional, defaults to "." + * + */ + @Import(name="zone") + private @Nullable Output zone; + + /** + * @return optional, defaults to "." + * + */ + public Optional> zone() { + return Optional.ofNullable(this.zone); + } + + private CoreDNSServerZoneArgs() {} + + private CoreDNSServerZoneArgs(CoreDNSServerZoneArgs $) { + this.scheme = $.scheme; + this.use_tcp = $.use_tcp; + this.zone = $.zone; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CoreDNSServerZoneArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CoreDNSServerZoneArgs $; + + public Builder() { + $ = new CoreDNSServerZoneArgs(); + } + + public Builder(CoreDNSServerZoneArgs defaults) { + $ = new CoreDNSServerZoneArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param scheme optional, defaults to "" (which equals "dns://" in CoreDNS) + * + * @return builder + * + */ + public Builder scheme(@Nullable Output scheme) { + $.scheme = scheme; + return this; + } + + /** + * @param scheme optional, defaults to "" (which equals "dns://" in CoreDNS) + * + * @return builder + * + */ + public Builder scheme(String scheme) { + return scheme(Output.of(scheme)); + } + + /** + * @param use_tcp set this parameter to optionally expose the port on tcp as well as udp for the DNS protocol. Note that this will not work if you are also exposing tls or grpc on the same server. + * + * @return builder + * + */ + public Builder use_tcp(@Nullable Output use_tcp) { + $.use_tcp = use_tcp; + return this; + } + + /** + * @param use_tcp set this parameter to optionally expose the port on tcp as well as udp for the DNS protocol. Note that this will not work if you are also exposing tls or grpc on the same server. + * + * @return builder + * + */ + public Builder use_tcp(Boolean use_tcp) { + return use_tcp(Output.of(use_tcp)); + } + + /** + * @param zone optional, defaults to "." + * + * @return builder + * + */ + public Builder zone(@Nullable Output zone) { + $.zone = zone; + return this; + } + + /** + * @param zone optional, defaults to "." + * + * @return builder + * + */ + public Builder zone(String zone) { + return zone(Output.of(zone)); + } + + public CoreDNSServerZoneArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSServiceAccountArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSServiceAccountArgs.java new file mode 100644 index 0000000..3574b30 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSServiceAccountArgs.java @@ -0,0 +1,139 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CoreDNSServiceAccountArgs extends com.pulumi.resources.ResourceArgs { + + public static final CoreDNSServiceAccountArgs Empty = new CoreDNSServiceAccountArgs(); + + @Import(name="annotations") + private @Nullable Output> annotations; + + public Optional>> annotations() { + return Optional.ofNullable(this.annotations); + } + + /** + * If true, create & use serviceAccount. + * + */ + @Import(name="create") + private @Nullable Output create; + + /** + * @return If true, create & use serviceAccount. + * + */ + public Optional> create() { + return Optional.ofNullable(this.create); + } + + /** + * The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + private CoreDNSServiceAccountArgs() {} + + private CoreDNSServiceAccountArgs(CoreDNSServiceAccountArgs $) { + this.annotations = $.annotations; + this.create = $.create; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CoreDNSServiceAccountArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CoreDNSServiceAccountArgs $; + + public Builder() { + $ = new CoreDNSServiceAccountArgs(); + } + + public Builder(CoreDNSServiceAccountArgs defaults) { + $ = new CoreDNSServiceAccountArgs(Objects.requireNonNull(defaults)); + } + + public Builder annotations(@Nullable Output> annotations) { + $.annotations = annotations; + return this; + } + + public Builder annotations(Map annotations) { + return annotations(Output.of(annotations)); + } + + /** + * @param create If true, create & use serviceAccount. + * + * @return builder + * + */ + public Builder create(@Nullable Output create) { + $.create = create; + return this; + } + + /** + * @param create If true, create & use serviceAccount. + * + * @return builder + * + */ + public Builder create(Boolean create) { + return create(Output.of(create)); + } + + /** + * @param name The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public CoreDNSServiceAccountArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSServiceArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSServiceArgs.java new file mode 100644 index 0000000..a213eb7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSServiceArgs.java @@ -0,0 +1,280 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +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 CoreDNSServiceArgs extends com.pulumi.resources.ResourceArgs { + + public static final CoreDNSServiceArgs Empty = new CoreDNSServiceArgs(); + + /** + * Annotations to add to service. + * + */ + @Import(name="annotations") + private @Nullable Output> annotations; + + /** + * @return Annotations to add to service. + * + */ + public Optional>> annotations() { + return Optional.ofNullable(this.annotations); + } + + /** + * IP address to assign to service. + * + */ + @Import(name="clusterIP") + private @Nullable Output clusterIP; + + /** + * @return IP address to assign to service. + * + */ + public Optional> clusterIP() { + return Optional.ofNullable(this.clusterIP); + } + + /** + * External IP addresses. + * + */ + @Import(name="externalIPs") + private @Nullable Output> externalIPs; + + /** + * @return External IP addresses. + * + */ + public Optional>> externalIPs() { + return Optional.ofNullable(this.externalIPs); + } + + /** + * Enable client source IP preservation. + * + */ + @Import(name="externalTrafficPolicy") + private @Nullable Output externalTrafficPolicy; + + /** + * @return Enable client source IP preservation. + * + */ + public Optional> externalTrafficPolicy() { + return Optional.ofNullable(this.externalTrafficPolicy); + } + + /** + * IP address to assign to load balancer (if supported). + * + */ + @Import(name="loadBalancerIP") + private @Nullable Output loadBalancerIP; + + /** + * @return IP address to assign to load balancer (if supported). + * + */ + public Optional> loadBalancerIP() { + return Optional.ofNullable(this.loadBalancerIP); + } + + /** + * The name of the Service. If not set, a name is generated using the fullname template. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the Service. If not set, a name is generated using the fullname template. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + private CoreDNSServiceArgs() {} + + private CoreDNSServiceArgs(CoreDNSServiceArgs $) { + this.annotations = $.annotations; + this.clusterIP = $.clusterIP; + this.externalIPs = $.externalIPs; + this.externalTrafficPolicy = $.externalTrafficPolicy; + this.loadBalancerIP = $.loadBalancerIP; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CoreDNSServiceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CoreDNSServiceArgs $; + + public Builder() { + $ = new CoreDNSServiceArgs(); + } + + public Builder(CoreDNSServiceArgs defaults) { + $ = new CoreDNSServiceArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param annotations Annotations to add to service. + * + * @return builder + * + */ + public Builder annotations(@Nullable Output> annotations) { + $.annotations = annotations; + return this; + } + + /** + * @param annotations Annotations to add to service. + * + * @return builder + * + */ + public Builder annotations(Map annotations) { + return annotations(Output.of(annotations)); + } + + /** + * @param clusterIP IP address to assign to service. + * + * @return builder + * + */ + public Builder clusterIP(@Nullable Output clusterIP) { + $.clusterIP = clusterIP; + return this; + } + + /** + * @param clusterIP IP address to assign to service. + * + * @return builder + * + */ + public Builder clusterIP(String clusterIP) { + return clusterIP(Output.of(clusterIP)); + } + + /** + * @param externalIPs External IP addresses. + * + * @return builder + * + */ + public Builder externalIPs(@Nullable Output> externalIPs) { + $.externalIPs = externalIPs; + return this; + } + + /** + * @param externalIPs External IP addresses. + * + * @return builder + * + */ + public Builder externalIPs(List externalIPs) { + return externalIPs(Output.of(externalIPs)); + } + + /** + * @param externalIPs External IP addresses. + * + * @return builder + * + */ + public Builder externalIPs(String... externalIPs) { + return externalIPs(List.of(externalIPs)); + } + + /** + * @param externalTrafficPolicy Enable client source IP preservation. + * + * @return builder + * + */ + public Builder externalTrafficPolicy(@Nullable Output externalTrafficPolicy) { + $.externalTrafficPolicy = externalTrafficPolicy; + return this; + } + + /** + * @param externalTrafficPolicy Enable client source IP preservation. + * + * @return builder + * + */ + public Builder externalTrafficPolicy(String externalTrafficPolicy) { + return externalTrafficPolicy(Output.of(externalTrafficPolicy)); + } + + /** + * @param loadBalancerIP IP address to assign to load balancer (if supported). + * + * @return builder + * + */ + public Builder loadBalancerIP(@Nullable Output loadBalancerIP) { + $.loadBalancerIP = loadBalancerIP; + return this; + } + + /** + * @param loadBalancerIP IP address to assign to load balancer (if supported). + * + * @return builder + * + */ + public Builder loadBalancerIP(String loadBalancerIP) { + return loadBalancerIP(Output.of(loadBalancerIP)); + } + + /** + * @param name The name of the Service. If not set, a name is generated using the fullname template. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the Service. If not set, a name is generated using the fullname template. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public CoreDNSServiceArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSZoneFileArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSZoneFileArgs.java new file mode 100644 index 0000000..e939c2e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/CoreDNSZoneFileArgs.java @@ -0,0 +1,97 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CoreDNSZoneFileArgs extends com.pulumi.resources.ResourceArgs { + + public static final CoreDNSZoneFileArgs Empty = new CoreDNSZoneFileArgs(); + + @Import(name="contents") + private @Nullable Output contents; + + public Optional> contents() { + return Optional.ofNullable(this.contents); + } + + @Import(name="domain") + private @Nullable Output domain; + + public Optional> domain() { + return Optional.ofNullable(this.domain); + } + + @Import(name="string") + private @Nullable Output string; + + public Optional> string() { + return Optional.ofNullable(this.string); + } + + private CoreDNSZoneFileArgs() {} + + private CoreDNSZoneFileArgs(CoreDNSZoneFileArgs $) { + this.contents = $.contents; + this.domain = $.domain; + this.string = $.string; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CoreDNSZoneFileArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CoreDNSZoneFileArgs $; + + public Builder() { + $ = new CoreDNSZoneFileArgs(); + } + + public Builder(CoreDNSZoneFileArgs defaults) { + $ = new CoreDNSZoneFileArgs(Objects.requireNonNull(defaults)); + } + + public Builder contents(@Nullable Output contents) { + $.contents = contents; + return this; + } + + public Builder contents(String contents) { + return contents(Output.of(contents)); + } + + public Builder domain(@Nullable Output domain) { + $.domain = domain; + return this; + } + + public Builder domain(String domain) { + return domain(Output.of(domain)); + } + + public Builder string(@Nullable Output string) { + $.string = string; + return this; + } + + public Builder string(String string) { + return string(Output.of(string)); + } + + public CoreDNSZoneFileArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/ReleaseArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/ReleaseArgs.java new file mode 100644 index 0000000..b282c7b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/ReleaseArgs.java @@ -0,0 +1,1290 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.asset.AssetOrArchive; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.kubernetescoredns.inputs.RepositoryOptsArgs; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.Object; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +/** + * A Release is an instance of a chart running in a Kubernetes cluster. + * A Chart is a Helm package. It contains all of the resource definitions necessary to run an application, tool, or service inside of a Kubernetes cluster. + * Note - Helm Release is currently in BETA and may change. Use in production environment is discouraged. + * + */ +public final class ReleaseArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReleaseArgs Empty = new ReleaseArgs(); + + /** + * If set, installation process purges chart on fail. `skipAwait` will be disabled automatically if atomic is used. + * + */ + @Import(name="atomic") + private @Nullable Output atomic; + + /** + * @return If set, installation process purges chart on fail. `skipAwait` will be disabled automatically if atomic is used. + * + */ + public Optional> atomic() { + return Optional.ofNullable(this.atomic); + } + + /** + * Chart name to be installed. A path may be used. + * + */ + @Import(name="chart") + private @Nullable Output chart; + + /** + * @return Chart name to be installed. A path may be used. + * + */ + public Optional> chart() { + return Optional.ofNullable(this.chart); + } + + /** + * Allow deletion of new resources created in this upgrade when upgrade fails. + * + */ + @Import(name="cleanupOnFail") + private @Nullable Output cleanupOnFail; + + /** + * @return Allow deletion of new resources created in this upgrade when upgrade fails. + * + */ + public Optional> cleanupOnFail() { + return Optional.ofNullable(this.cleanupOnFail); + } + + /** + * Create the namespace if it does not exist. + * + */ + @Import(name="createNamespace") + private @Nullable Output createNamespace; + + /** + * @return Create the namespace if it does not exist. + * + */ + public Optional> createNamespace() { + return Optional.ofNullable(this.createNamespace); + } + + /** + * Run helm dependency update before installing the chart. + * + */ + @Import(name="dependencyUpdate") + private @Nullable Output dependencyUpdate; + + /** + * @return Run helm dependency update before installing the chart. + * + */ + public Optional> dependencyUpdate() { + return Optional.ofNullable(this.dependencyUpdate); + } + + /** + * Add a custom description + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Add a custom description + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Use chart development versions, too. Equivalent to version '>0.0.0-0'. If `version` is set, this is ignored. + * + */ + @Import(name="devel") + private @Nullable Output devel; + + /** + * @return Use chart development versions, too. Equivalent to version '>0.0.0-0'. If `version` is set, this is ignored. + * + */ + public Optional> devel() { + return Optional.ofNullable(this.devel); + } + + /** + * Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook + * + */ + @Import(name="disableCRDHooks") + private @Nullable Output disableCRDHooks; + + /** + * @return Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook + * + */ + public Optional> disableCRDHooks() { + return Optional.ofNullable(this.disableCRDHooks); + } + + /** + * If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema + * + */ + @Import(name="disableOpenapiValidation") + private @Nullable Output disableOpenapiValidation; + + /** + * @return If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema + * + */ + public Optional> disableOpenapiValidation() { + return Optional.ofNullable(this.disableOpenapiValidation); + } + + /** + * Prevent hooks from running. + * + */ + @Import(name="disableWebhooks") + private @Nullable Output disableWebhooks; + + /** + * @return Prevent hooks from running. + * + */ + public Optional> disableWebhooks() { + return Optional.ofNullable(this.disableWebhooks); + } + + /** + * Force resource update through delete/recreate if needed. + * + */ + @Import(name="forceUpdate") + private @Nullable Output forceUpdate; + + /** + * @return Force resource update through delete/recreate if needed. + * + */ + public Optional> forceUpdate() { + return Optional.ofNullable(this.forceUpdate); + } + + /** + * Location of public keys used for verification. Used only if `verify` is true + * + */ + @Import(name="keyring") + private @Nullable Output keyring; + + /** + * @return Location of public keys used for verification. Used only if `verify` is true + * + */ + public Optional> keyring() { + return Optional.ofNullable(this.keyring); + } + + /** + * Run helm lint when planning. + * + */ + @Import(name="lint") + private @Nullable Output lint; + + /** + * @return Run helm lint when planning. + * + */ + public Optional> lint() { + return Optional.ofNullable(this.lint); + } + + /** + * The rendered manifests as JSON. Not yet supported. + * + */ + @Import(name="manifest") + private @Nullable Output> manifest; + + /** + * @return The rendered manifests as JSON. Not yet supported. + * + */ + public Optional>> manifest() { + return Optional.ofNullable(this.manifest); + } + + /** + * Limit the maximum number of revisions saved per release. Use 0 for no limit. + * + */ + @Import(name="maxHistory") + private @Nullable Output maxHistory; + + /** + * @return Limit the maximum number of revisions saved per release. Use 0 for no limit. + * + */ + public Optional> maxHistory() { + return Optional.ofNullable(this.maxHistory); + } + + /** + * Release name. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Release name. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Namespace to install the release into. + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return Namespace to install the release into. + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + /** + * Postrender command to run. + * + */ + @Import(name="postrender") + private @Nullable Output postrender; + + /** + * @return Postrender command to run. + * + */ + public Optional> postrender() { + return Optional.ofNullable(this.postrender); + } + + /** + * Perform pods restart during upgrade/rollback. + * + */ + @Import(name="recreatePods") + private @Nullable Output recreatePods; + + /** + * @return Perform pods restart during upgrade/rollback. + * + */ + public Optional> recreatePods() { + return Optional.ofNullable(this.recreatePods); + } + + /** + * If set, render subchart notes along with the parent. + * + */ + @Import(name="renderSubchartNotes") + private @Nullable Output renderSubchartNotes; + + /** + * @return If set, render subchart notes along with the parent. + * + */ + public Optional> renderSubchartNotes() { + return Optional.ofNullable(this.renderSubchartNotes); + } + + /** + * Re-use the given name, even if that name is already used. This is unsafe in production + * + */ + @Import(name="replace") + private @Nullable Output replace; + + /** + * @return Re-use the given name, even if that name is already used. This is unsafe in production + * + */ + public Optional> replace() { + return Optional.ofNullable(this.replace); + } + + /** + * Specification defining the Helm chart repository to use. + * + */ + @Import(name="repositoryOpts") + private @Nullable Output repositoryOpts; + + /** + * @return Specification defining the Helm chart repository to use. + * + */ + public Optional> repositoryOpts() { + return Optional.ofNullable(this.repositoryOpts); + } + + /** + * When upgrading, reset the values to the ones built into the chart. + * + */ + @Import(name="resetValues") + private @Nullable Output resetValues; + + /** + * @return When upgrading, reset the values to the ones built into the chart. + * + */ + public Optional> resetValues() { + return Optional.ofNullable(this.resetValues); + } + + /** + * Names of resources created by the release grouped by "kind/version". + * + */ + @Import(name="resourceNames") + private @Nullable Output>> resourceNames; + + /** + * @return Names of resources created by the release grouped by "kind/version". + * + */ + public Optional>>> resourceNames() { + return Optional.ofNullable(this.resourceNames); + } + + /** + * When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored + * + */ + @Import(name="reuseValues") + private @Nullable Output reuseValues; + + /** + * @return When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored + * + */ + public Optional> reuseValues() { + return Optional.ofNullable(this.reuseValues); + } + + /** + * By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic. + * + */ + @Import(name="skipAwait") + private @Nullable Output skipAwait; + + /** + * @return By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic. + * + */ + public Optional> skipAwait() { + return Optional.ofNullable(this.skipAwait); + } + + /** + * If set, no CRDs will be installed. By default, CRDs are installed if not already present. + * + */ + @Import(name="skipCrds") + private @Nullable Output skipCrds; + + /** + * @return If set, no CRDs will be installed. By default, CRDs are installed if not already present. + * + */ + public Optional> skipCrds() { + return Optional.ofNullable(this.skipCrds); + } + + /** + * Time in seconds to wait for any individual kubernetes operation. + * + */ + @Import(name="timeout") + private @Nullable Output timeout; + + /** + * @return Time in seconds to wait for any individual kubernetes operation. + * + */ + public Optional> timeout() { + return Optional.ofNullable(this.timeout); + } + + /** + * List of assets (raw yaml files). Content is read and merged with values. Not yet supported. + * + */ + @Import(name="valueYamlFiles") + private @Nullable Output> valueYamlFiles; + + /** + * @return List of assets (raw yaml files). Content is read and merged with values. Not yet supported. + * + */ + public Optional>> valueYamlFiles() { + return Optional.ofNullable(this.valueYamlFiles); + } + + /** + * Custom values set for the release. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Custom values set for the release. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + /** + * Verify the package before installing it. + * + */ + @Import(name="verify") + private @Nullable Output verify; + + /** + * @return Verify the package before installing it. + * + */ + public Optional> verify() { + return Optional.ofNullable(this.verify); + } + + /** + * Specify the exact chart version to install. If this is not specified, the latest version is installed. + * + */ + @Import(name="version") + private @Nullable Output version; + + /** + * @return Specify the exact chart version to install. If this is not specified, the latest version is installed. + * + */ + public Optional> version() { + return Optional.ofNullable(this.version); + } + + /** + * Will wait until all Jobs have been completed before marking the release as successful. This is ignored if `skipAwait` is enabled. + * + */ + @Import(name="waitForJobs") + private @Nullable Output waitForJobs; + + /** + * @return Will wait until all Jobs have been completed before marking the release as successful. This is ignored if `skipAwait` is enabled. + * + */ + public Optional> waitForJobs() { + return Optional.ofNullable(this.waitForJobs); + } + + private ReleaseArgs() {} + + private ReleaseArgs(ReleaseArgs $) { + this.atomic = $.atomic; + this.chart = $.chart; + this.cleanupOnFail = $.cleanupOnFail; + this.createNamespace = $.createNamespace; + this.dependencyUpdate = $.dependencyUpdate; + this.description = $.description; + this.devel = $.devel; + this.disableCRDHooks = $.disableCRDHooks; + this.disableOpenapiValidation = $.disableOpenapiValidation; + this.disableWebhooks = $.disableWebhooks; + this.forceUpdate = $.forceUpdate; + this.keyring = $.keyring; + this.lint = $.lint; + this.manifest = $.manifest; + this.maxHistory = $.maxHistory; + this.name = $.name; + this.namespace = $.namespace; + this.postrender = $.postrender; + this.recreatePods = $.recreatePods; + this.renderSubchartNotes = $.renderSubchartNotes; + this.replace = $.replace; + this.repositoryOpts = $.repositoryOpts; + this.resetValues = $.resetValues; + this.resourceNames = $.resourceNames; + this.reuseValues = $.reuseValues; + this.skipAwait = $.skipAwait; + this.skipCrds = $.skipCrds; + this.timeout = $.timeout; + this.valueYamlFiles = $.valueYamlFiles; + this.values = $.values; + this.verify = $.verify; + this.version = $.version; + this.waitForJobs = $.waitForJobs; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReleaseArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReleaseArgs $; + + public Builder() { + $ = new ReleaseArgs(); + } + + public Builder(ReleaseArgs defaults) { + $ = new ReleaseArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param atomic If set, installation process purges chart on fail. `skipAwait` will be disabled automatically if atomic is used. + * + * @return builder + * + */ + public Builder atomic(@Nullable Output atomic) { + $.atomic = atomic; + return this; + } + + /** + * @param atomic If set, installation process purges chart on fail. `skipAwait` will be disabled automatically if atomic is used. + * + * @return builder + * + */ + public Builder atomic(Boolean atomic) { + return atomic(Output.of(atomic)); + } + + /** + * @param chart Chart name to be installed. A path may be used. + * + * @return builder + * + */ + public Builder chart(@Nullable Output chart) { + $.chart = chart; + return this; + } + + /** + * @param chart Chart name to be installed. A path may be used. + * + * @return builder + * + */ + public Builder chart(String chart) { + return chart(Output.of(chart)); + } + + /** + * @param cleanupOnFail Allow deletion of new resources created in this upgrade when upgrade fails. + * + * @return builder + * + */ + public Builder cleanupOnFail(@Nullable Output cleanupOnFail) { + $.cleanupOnFail = cleanupOnFail; + return this; + } + + /** + * @param cleanupOnFail Allow deletion of new resources created in this upgrade when upgrade fails. + * + * @return builder + * + */ + public Builder cleanupOnFail(Boolean cleanupOnFail) { + return cleanupOnFail(Output.of(cleanupOnFail)); + } + + /** + * @param createNamespace Create the namespace if it does not exist. + * + * @return builder + * + */ + public Builder createNamespace(@Nullable Output createNamespace) { + $.createNamespace = createNamespace; + return this; + } + + /** + * @param createNamespace Create the namespace if it does not exist. + * + * @return builder + * + */ + public Builder createNamespace(Boolean createNamespace) { + return createNamespace(Output.of(createNamespace)); + } + + /** + * @param dependencyUpdate Run helm dependency update before installing the chart. + * + * @return builder + * + */ + public Builder dependencyUpdate(@Nullable Output dependencyUpdate) { + $.dependencyUpdate = dependencyUpdate; + return this; + } + + /** + * @param dependencyUpdate Run helm dependency update before installing the chart. + * + * @return builder + * + */ + public Builder dependencyUpdate(Boolean dependencyUpdate) { + return dependencyUpdate(Output.of(dependencyUpdate)); + } + + /** + * @param description Add a custom description + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Add a custom description + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param devel Use chart development versions, too. Equivalent to version '>0.0.0-0'. If `version` is set, this is ignored. + * + * @return builder + * + */ + public Builder devel(@Nullable Output devel) { + $.devel = devel; + return this; + } + + /** + * @param devel Use chart development versions, too. Equivalent to version '>0.0.0-0'. If `version` is set, this is ignored. + * + * @return builder + * + */ + public Builder devel(Boolean devel) { + return devel(Output.of(devel)); + } + + /** + * @param disableCRDHooks Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook + * + * @return builder + * + */ + public Builder disableCRDHooks(@Nullable Output disableCRDHooks) { + $.disableCRDHooks = disableCRDHooks; + return this; + } + + /** + * @param disableCRDHooks Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook + * + * @return builder + * + */ + public Builder disableCRDHooks(Boolean disableCRDHooks) { + return disableCRDHooks(Output.of(disableCRDHooks)); + } + + /** + * @param disableOpenapiValidation If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema + * + * @return builder + * + */ + public Builder disableOpenapiValidation(@Nullable Output disableOpenapiValidation) { + $.disableOpenapiValidation = disableOpenapiValidation; + return this; + } + + /** + * @param disableOpenapiValidation If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema + * + * @return builder + * + */ + public Builder disableOpenapiValidation(Boolean disableOpenapiValidation) { + return disableOpenapiValidation(Output.of(disableOpenapiValidation)); + } + + /** + * @param disableWebhooks Prevent hooks from running. + * + * @return builder + * + */ + public Builder disableWebhooks(@Nullable Output disableWebhooks) { + $.disableWebhooks = disableWebhooks; + return this; + } + + /** + * @param disableWebhooks Prevent hooks from running. + * + * @return builder + * + */ + public Builder disableWebhooks(Boolean disableWebhooks) { + return disableWebhooks(Output.of(disableWebhooks)); + } + + /** + * @param forceUpdate Force resource update through delete/recreate if needed. + * + * @return builder + * + */ + public Builder forceUpdate(@Nullable Output forceUpdate) { + $.forceUpdate = forceUpdate; + return this; + } + + /** + * @param forceUpdate Force resource update through delete/recreate if needed. + * + * @return builder + * + */ + public Builder forceUpdate(Boolean forceUpdate) { + return forceUpdate(Output.of(forceUpdate)); + } + + /** + * @param keyring Location of public keys used for verification. Used only if `verify` is true + * + * @return builder + * + */ + public Builder keyring(@Nullable Output keyring) { + $.keyring = keyring; + return this; + } + + /** + * @param keyring Location of public keys used for verification. Used only if `verify` is true + * + * @return builder + * + */ + public Builder keyring(String keyring) { + return keyring(Output.of(keyring)); + } + + /** + * @param lint Run helm lint when planning. + * + * @return builder + * + */ + public Builder lint(@Nullable Output lint) { + $.lint = lint; + return this; + } + + /** + * @param lint Run helm lint when planning. + * + * @return builder + * + */ + public Builder lint(Boolean lint) { + return lint(Output.of(lint)); + } + + /** + * @param manifest The rendered manifests as JSON. Not yet supported. + * + * @return builder + * + */ + public Builder manifest(@Nullable Output> manifest) { + $.manifest = manifest; + return this; + } + + /** + * @param manifest The rendered manifests as JSON. Not yet supported. + * + * @return builder + * + */ + public Builder manifest(Map manifest) { + return manifest(Output.of(manifest)); + } + + /** + * @param maxHistory Limit the maximum number of revisions saved per release. Use 0 for no limit. + * + * @return builder + * + */ + public Builder maxHistory(@Nullable Output maxHistory) { + $.maxHistory = maxHistory; + return this; + } + + /** + * @param maxHistory Limit the maximum number of revisions saved per release. Use 0 for no limit. + * + * @return builder + * + */ + public Builder maxHistory(Integer maxHistory) { + return maxHistory(Output.of(maxHistory)); + } + + /** + * @param name Release name. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Release name. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param namespace Namespace to install the release into. + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace Namespace to install the release into. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param postrender Postrender command to run. + * + * @return builder + * + */ + public Builder postrender(@Nullable Output postrender) { + $.postrender = postrender; + return this; + } + + /** + * @param postrender Postrender command to run. + * + * @return builder + * + */ + public Builder postrender(String postrender) { + return postrender(Output.of(postrender)); + } + + /** + * @param recreatePods Perform pods restart during upgrade/rollback. + * + * @return builder + * + */ + public Builder recreatePods(@Nullable Output recreatePods) { + $.recreatePods = recreatePods; + return this; + } + + /** + * @param recreatePods Perform pods restart during upgrade/rollback. + * + * @return builder + * + */ + public Builder recreatePods(Boolean recreatePods) { + return recreatePods(Output.of(recreatePods)); + } + + /** + * @param renderSubchartNotes If set, render subchart notes along with the parent. + * + * @return builder + * + */ + public Builder renderSubchartNotes(@Nullable Output renderSubchartNotes) { + $.renderSubchartNotes = renderSubchartNotes; + return this; + } + + /** + * @param renderSubchartNotes If set, render subchart notes along with the parent. + * + * @return builder + * + */ + public Builder renderSubchartNotes(Boolean renderSubchartNotes) { + return renderSubchartNotes(Output.of(renderSubchartNotes)); + } + + /** + * @param replace Re-use the given name, even if that name is already used. This is unsafe in production + * + * @return builder + * + */ + public Builder replace(@Nullable Output replace) { + $.replace = replace; + return this; + } + + /** + * @param replace Re-use the given name, even if that name is already used. This is unsafe in production + * + * @return builder + * + */ + public Builder replace(Boolean replace) { + return replace(Output.of(replace)); + } + + /** + * @param repositoryOpts Specification defining the Helm chart repository to use. + * + * @return builder + * + */ + public Builder repositoryOpts(@Nullable Output repositoryOpts) { + $.repositoryOpts = repositoryOpts; + return this; + } + + /** + * @param repositoryOpts Specification defining the Helm chart repository to use. + * + * @return builder + * + */ + public Builder repositoryOpts(RepositoryOptsArgs repositoryOpts) { + return repositoryOpts(Output.of(repositoryOpts)); + } + + /** + * @param resetValues When upgrading, reset the values to the ones built into the chart. + * + * @return builder + * + */ + public Builder resetValues(@Nullable Output resetValues) { + $.resetValues = resetValues; + return this; + } + + /** + * @param resetValues When upgrading, reset the values to the ones built into the chart. + * + * @return builder + * + */ + public Builder resetValues(Boolean resetValues) { + return resetValues(Output.of(resetValues)); + } + + /** + * @param resourceNames Names of resources created by the release grouped by "kind/version". + * + * @return builder + * + */ + public Builder resourceNames(@Nullable Output>> resourceNames) { + $.resourceNames = resourceNames; + return this; + } + + /** + * @param resourceNames Names of resources created by the release grouped by "kind/version". + * + * @return builder + * + */ + public Builder resourceNames(Map> resourceNames) { + return resourceNames(Output.of(resourceNames)); + } + + /** + * @param reuseValues When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored + * + * @return builder + * + */ + public Builder reuseValues(@Nullable Output reuseValues) { + $.reuseValues = reuseValues; + return this; + } + + /** + * @param reuseValues When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored + * + * @return builder + * + */ + public Builder reuseValues(Boolean reuseValues) { + return reuseValues(Output.of(reuseValues)); + } + + /** + * @param skipAwait By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic. + * + * @return builder + * + */ + public Builder skipAwait(@Nullable Output skipAwait) { + $.skipAwait = skipAwait; + return this; + } + + /** + * @param skipAwait By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic. + * + * @return builder + * + */ + public Builder skipAwait(Boolean skipAwait) { + return skipAwait(Output.of(skipAwait)); + } + + /** + * @param skipCrds If set, no CRDs will be installed. By default, CRDs are installed if not already present. + * + * @return builder + * + */ + public Builder skipCrds(@Nullable Output skipCrds) { + $.skipCrds = skipCrds; + return this; + } + + /** + * @param skipCrds If set, no CRDs will be installed. By default, CRDs are installed if not already present. + * + * @return builder + * + */ + public Builder skipCrds(Boolean skipCrds) { + return skipCrds(Output.of(skipCrds)); + } + + /** + * @param timeout Time in seconds to wait for any individual kubernetes operation. + * + * @return builder + * + */ + public Builder timeout(@Nullable Output timeout) { + $.timeout = timeout; + return this; + } + + /** + * @param timeout Time in seconds to wait for any individual kubernetes operation. + * + * @return builder + * + */ + public Builder timeout(Integer timeout) { + return timeout(Output.of(timeout)); + } + + /** + * @param valueYamlFiles List of assets (raw yaml files). Content is read and merged with values. Not yet supported. + * + * @return builder + * + */ + public Builder valueYamlFiles(@Nullable Output> valueYamlFiles) { + $.valueYamlFiles = valueYamlFiles; + return this; + } + + /** + * @param valueYamlFiles List of assets (raw yaml files). Content is read and merged with values. Not yet supported. + * + * @return builder + * + */ + public Builder valueYamlFiles(List valueYamlFiles) { + return valueYamlFiles(Output.of(valueYamlFiles)); + } + + /** + * @param valueYamlFiles List of assets (raw yaml files). Content is read and merged with values. Not yet supported. + * + * @return builder + * + */ + public Builder valueYamlFiles(AssetOrArchive... valueYamlFiles) { + return valueYamlFiles(List.of(valueYamlFiles)); + } + + /** + * @param values Custom values set for the release. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Custom values set for the release. + * + * @return builder + * + */ + public Builder values(Map values) { + return values(Output.of(values)); + } + + /** + * @param verify Verify the package before installing it. + * + * @return builder + * + */ + public Builder verify(@Nullable Output verify) { + $.verify = verify; + return this; + } + + /** + * @param verify Verify the package before installing it. + * + * @return builder + * + */ + public Builder verify(Boolean verify) { + return verify(Output.of(verify)); + } + + /** + * @param version Specify the exact chart version to install. If this is not specified, the latest version is installed. + * + * @return builder + * + */ + public Builder version(@Nullable Output version) { + $.version = version; + return this; + } + + /** + * @param version Specify the exact chart version to install. If this is not specified, the latest version is installed. + * + * @return builder + * + */ + public Builder version(String version) { + return version(Output.of(version)); + } + + /** + * @param waitForJobs Will wait until all Jobs have been completed before marking the release as successful. This is ignored if `skipAwait` is enabled. + * + * @return builder + * + */ + public Builder waitForJobs(@Nullable Output waitForJobs) { + $.waitForJobs = waitForJobs; + return this; + } + + /** + * @param waitForJobs Will wait until all Jobs have been completed before marking the release as successful. This is ignored if `skipAwait` is enabled. + * + * @return builder + * + */ + public Builder waitForJobs(Boolean waitForJobs) { + return waitForJobs(Output.of(waitForJobs)); + } + + public ReleaseArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/RepositoryOptsArgs.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/RepositoryOptsArgs.java new file mode 100644 index 0000000..f5c9422 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/inputs/RepositoryOptsArgs.java @@ -0,0 +1,272 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +/** + * Specification defining the Helm chart repository to use. + * + */ +public final class RepositoryOptsArgs extends com.pulumi.resources.ResourceArgs { + + public static final RepositoryOptsArgs Empty = new RepositoryOptsArgs(); + + /** + * The Repository's CA File + * + */ + @Import(name="caFile") + private @Nullable Output caFile; + + /** + * @return The Repository's CA File + * + */ + public Optional> caFile() { + return Optional.ofNullable(this.caFile); + } + + /** + * The repository's cert file + * + */ + @Import(name="certFile") + private @Nullable Output certFile; + + /** + * @return The repository's cert file + * + */ + public Optional> certFile() { + return Optional.ofNullable(this.certFile); + } + + /** + * The repository's cert key file + * + */ + @Import(name="keyFile") + private @Nullable Output keyFile; + + /** + * @return The repository's cert key file + * + */ + public Optional> keyFile() { + return Optional.ofNullable(this.keyFile); + } + + /** + * Password for HTTP basic authentication + * + */ + @Import(name="password") + private @Nullable Output password; + + /** + * @return Password for HTTP basic authentication + * + */ + public Optional> password() { + return Optional.ofNullable(this.password); + } + + /** + * Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository. + * + */ + @Import(name="repo") + private @Nullable Output repo; + + /** + * @return Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository. + * + */ + public Optional> repo() { + return Optional.ofNullable(this.repo); + } + + /** + * Username for HTTP basic authentication + * + */ + @Import(name="username") + private @Nullable Output username; + + /** + * @return Username for HTTP basic authentication + * + */ + public Optional> username() { + return Optional.ofNullable(this.username); + } + + private RepositoryOptsArgs() {} + + private RepositoryOptsArgs(RepositoryOptsArgs $) { + this.caFile = $.caFile; + this.certFile = $.certFile; + this.keyFile = $.keyFile; + this.password = $.password; + this.repo = $.repo; + this.username = $.username; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RepositoryOptsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RepositoryOptsArgs $; + + public Builder() { + $ = new RepositoryOptsArgs(); + } + + public Builder(RepositoryOptsArgs defaults) { + $ = new RepositoryOptsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param caFile The Repository's CA File + * + * @return builder + * + */ + public Builder caFile(@Nullable Output caFile) { + $.caFile = caFile; + return this; + } + + /** + * @param caFile The Repository's CA File + * + * @return builder + * + */ + public Builder caFile(String caFile) { + return caFile(Output.of(caFile)); + } + + /** + * @param certFile The repository's cert file + * + * @return builder + * + */ + public Builder certFile(@Nullable Output certFile) { + $.certFile = certFile; + return this; + } + + /** + * @param certFile The repository's cert file + * + * @return builder + * + */ + public Builder certFile(String certFile) { + return certFile(Output.of(certFile)); + } + + /** + * @param keyFile The repository's cert key file + * + * @return builder + * + */ + public Builder keyFile(@Nullable Output keyFile) { + $.keyFile = keyFile; + return this; + } + + /** + * @param keyFile The repository's cert key file + * + * @return builder + * + */ + public Builder keyFile(String keyFile) { + return keyFile(Output.of(keyFile)); + } + + /** + * @param password Password for HTTP basic authentication + * + * @return builder + * + */ + public Builder password(@Nullable Output password) { + $.password = password; + return this; + } + + /** + * @param password Password for HTTP basic authentication + * + * @return builder + * + */ + public Builder password(String password) { + return password(Output.of(password)); + } + + /** + * @param repo Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository. + * + * @return builder + * + */ + public Builder repo(@Nullable Output repo) { + $.repo = repo; + return this; + } + + /** + * @param repo Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository. + * + * @return builder + * + */ + public Builder repo(String repo) { + return repo(Output.of(repo)); + } + + /** + * @param username Username for HTTP basic authentication + * + * @return builder + * + */ + public Builder username(@Nullable Output username) { + $.username = username; + return this; + } + + /** + * @param username Username for HTTP basic authentication + * + * @return builder + * + */ + public Builder username(String username) { + return username(Output.of(username)); + } + + public RepositoryOptsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescoredns/outputs/ReleaseStatus.java b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/outputs/ReleaseStatus.java new file mode 100644 index 0000000..1cbb053 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/kubernetescoredns/outputs/ReleaseStatus.java @@ -0,0 +1,197 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.kubernetescoredns.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class ReleaseStatus { + /** + * @return The version number of the application being deployed. + * + */ + private String appVersion; + /** + * @return The name of the chart. + * + */ + private String chart; + /** + * @return Name is the name of the release. + * + */ + private String name; + /** + * @return Namespace is the kubernetes namespace of the release. + * + */ + private String namespace; + /** + * @return Version is an int32 which represents the version of the release. + * + */ + private Integer revision; + /** + * @return Status of the release. + * + */ + private String status; + /** + * @return A SemVer 2 conformant version string of the chart. + * + */ + private String version; + + private ReleaseStatus() {} + /** + * @return The version number of the application being deployed. + * + */ + public String appVersion() { + return this.appVersion; + } + /** + * @return The name of the chart. + * + */ + public String chart() { + return this.chart; + } + /** + * @return Name is the name of the release. + * + */ + public String name() { + return this.name; + } + /** + * @return Namespace is the kubernetes namespace of the release. + * + */ + public String namespace() { + return this.namespace; + } + /** + * @return Version is an int32 which represents the version of the release. + * + */ + public Integer revision() { + return this.revision; + } + /** + * @return Status of the release. + * + */ + public String status() { + return this.status; + } + /** + * @return A SemVer 2 conformant version string of the chart. + * + */ + public String version() { + return this.version; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ReleaseStatus defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String appVersion; + private String chart; + private String name; + private String namespace; + private Integer revision; + private String status; + private String version; + public Builder() {} + public Builder(ReleaseStatus defaults) { + Objects.requireNonNull(defaults); + this.appVersion = defaults.appVersion; + this.chart = defaults.chart; + this.name = defaults.name; + this.namespace = defaults.namespace; + this.revision = defaults.revision; + this.status = defaults.status; + this.version = defaults.version; + } + + @CustomType.Setter + public Builder appVersion(String appVersion) { + if (appVersion == null) { + throw new MissingRequiredPropertyException("ReleaseStatus", "appVersion"); + } + this.appVersion = appVersion; + return this; + } + @CustomType.Setter + public Builder chart(String chart) { + if (chart == null) { + throw new MissingRequiredPropertyException("ReleaseStatus", "chart"); + } + this.chart = chart; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("ReleaseStatus", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder namespace(String namespace) { + if (namespace == null) { + throw new MissingRequiredPropertyException("ReleaseStatus", "namespace"); + } + this.namespace = namespace; + return this; + } + @CustomType.Setter + public Builder revision(Integer revision) { + if (revision == null) { + throw new MissingRequiredPropertyException("ReleaseStatus", "revision"); + } + this.revision = revision; + return this; + } + @CustomType.Setter + public Builder status(String status) { + if (status == null) { + throw new MissingRequiredPropertyException("ReleaseStatus", "status"); + } + this.status = status; + return this; + } + @CustomType.Setter + public Builder version(String version) { + if (version == null) { + throw new MissingRequiredPropertyException("ReleaseStatus", "version"); + } + this.version = version; + return this; + } + public ReleaseStatus build() { + final var _resultValue = new ReleaseStatus(); + _resultValue.appVersion = appVersion; + _resultValue.chart = chart; + _resultValue.name = name; + _resultValue.namespace = namespace; + _resultValue.revision = revision; + _resultValue.status = status; + _resultValue.version = version; + return _resultValue; + } + } +} diff --git a/sdk/nodejs/README.md b/sdk/nodejs/README.md index e69de29..33beac8 100644 --- a/sdk/nodejs/README.md +++ b/sdk/nodejs/README.md @@ -0,0 +1 @@ +Strongly-typed CoreDNS installation diff --git a/sdk/nodejs/coreDNS.ts b/sdk/nodejs/coreDNS.ts index 1af1117..03342c7 100644 --- a/sdk/nodejs/coreDNS.ts +++ b/sdk/nodejs/coreDNS.ts @@ -1,8 +1,9 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "./types"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; import * as utilities from "./utilities"; import * as pulumiKubernetes from "@pulumi/kubernetes"; @@ -85,7 +86,7 @@ export class CoreDNS extends pulumi.ComponentResource { */ export interface CoreDNSArgs { /** - * Affinity settings for pod assignment . + * Affinity settings for pod assignment. */ affinity?: pulumi.Input; /** diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 0e4fcca..8e7eab4 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -1,12 +1,20 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; // Export members: -export * from "./coreDNS"; -export * from "./provider"; +export { CoreDNSArgs } from "./coreDNS"; +export type CoreDNS = import("./coreDNS").CoreDNS; +export const CoreDNS: typeof import("./coreDNS").CoreDNS = null as any; +utilities.lazyLoad(exports, ["CoreDNS"], () => require("./coreDNS")); + +export { ProviderArgs } from "./provider"; +export type Provider = import("./provider").Provider; +export const Provider: typeof import("./provider").Provider = null as any; +utilities.lazyLoad(exports, ["Provider"], () => require("./provider")); + // Export sub-modules: import * as types from "./types"; @@ -15,9 +23,6 @@ export { types, }; -// Import resources to register: -import { CoreDNS } from "./coreDNS"; - const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { @@ -30,9 +35,6 @@ const _module = { }, }; pulumi.runtime.registerResourceModule("kubernetes-coredns", "index", _module) - -import { Provider } from "./provider"; - pulumi.runtime.registerResourcePackage("kubernetes-coredns", { version: utilities.getVersion(), constructProvider: (name: string, type: string, urn: string): pulumi.ProviderResource => { diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json index edfd2ec..fd8d130 100644 --- a/sdk/nodejs/package.json +++ b/sdk/nodejs/package.json @@ -1,6 +1,6 @@ { "name": "@pulumi/kubernetes-coredns", - "version": "${VERSION}", + "version": "1.0.0-alpha.0+dev", "keywords": [ "pulumi", "kubernetes", @@ -8,20 +8,23 @@ "kind/component", "category/infrastructure" ], + "homepage": "https://pulumi.io", + "repository": "https://github.com/pulumi/pulumi-kubernetes-coredns", + "license": "Apache-2.0", "scripts": { - "build": "tsc", - "install": "node scripts/install-pulumi-plugin.js resource kubernetes-coredns ${VERSION}" + "build": "tsc" }, "dependencies": { - "@pulumi/kubernetes": "^3.7.1" + "@pulumi/kubernetes": "^4.0.0", + "@pulumi/pulumi": "^3.0.0" }, "devDependencies": { - "typescript": "^3.7.0" - }, - "peerDependencies": { - "@pulumi/pulumi": "latest" + "@types/node": "^14", + "typescript": "^4.3.5" }, "pulumi": { - "resource": true + "resource": true, + "name": "kubernetes-coredns", + "version": "1.0.0-alpha.0+dev" } } diff --git a/sdk/nodejs/provider.ts b/sdk/nodejs/provider.ts index 9dd45ae..2566d43 100644 --- a/sdk/nodejs/provider.ts +++ b/sdk/nodejs/provider.ts @@ -1,4 +1,4 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; @@ -16,7 +16,7 @@ export class Provider extends pulumi.ProviderResource { if (obj === undefined || obj === null) { return false; } - return obj['__pulumiType'] === Provider.__pulumiType; + return obj['__pulumiType'] === "pulumi:providers:" + Provider.__pulumiType; } diff --git a/sdk/nodejs/scripts/install-pulumi-plugin.js b/sdk/nodejs/scripts/install-pulumi-plugin.js deleted file mode 100644 index fefc6e0..0000000 --- a/sdk/nodejs/scripts/install-pulumi-plugin.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; -var childProcess = require("child_process"); - -var args = process.argv.slice(2); - -if (args.indexOf("${VERSION}") !== -1) { - process.exit(0); -} - -var res = childProcess.spawnSync("pulumi", ["plugin", "install"].concat(args), { - stdio: ["ignore", "inherit", "inherit"] -}); - -if (res.error && res.error.code === "ENOENT") { - console.error("\nThere was an error installing the resource provider plugin. " + - "It looks like `pulumi` is not installed on your system. " + - "Please visit https://pulumi.com/ to install the Pulumi CLI.\n" + - "You may try manually installing the plugin by running " + - "`pulumi plugin install " + args.join(" ") + "`"); -} else if (res.error || res.status !== 0) { - console.error("\nThere was an error installing the resource provider plugin. " + - "You may try to manually installing the plugin by running " + - "`pulumi plugin install " + args.join(" ") + "`"); -} - -process.exit(0); diff --git a/sdk/nodejs/types/index.ts b/sdk/nodejs/types/index.ts index fe3818e..f0db274 100644 --- a/sdk/nodejs/types/index.ts +++ b/sdk/nodejs/types/index.ts @@ -1,6 +1,8 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** +import * as utilities from "../utilities"; + // Export sub-modules: import * as input from "./input"; import * as output from "./output"; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 3b9c307..edb06b4 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -1,8 +1,9 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; import * as pulumiKubernetes from "@pulumi/kubernetes"; diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index bdf7bf4..c011b39 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -1,8 +1,9 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; import * as pulumiKubernetes from "@pulumi/kubernetes"; diff --git a/sdk/nodejs/utilities.ts b/sdk/nodejs/utilities.ts index 5df64c4..fb0d823 100644 --- a/sdk/nodejs/utilities.ts +++ b/sdk/nodejs/utilities.ts @@ -1,7 +1,10 @@ -// *** WARNING: this file was generated by Pulumi SDK Generator. *** +// *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** +import * as runtime from "@pulumi/pulumi/runtime"; +import * as pulumi from "@pulumi/pulumi"; + export function getEnv(...vars: string[]): string | undefined { for (const v of vars) { const value = process.env[v]; @@ -52,3 +55,41 @@ export function getVersion(): string { export function resourceOptsDefaults(): any { return { version: getVersion() }; } + +/** @internal */ +export function lazyLoad(exports: any, props: string[], loadModule: any) { + for (let property of props) { + Object.defineProperty(exports, property, { + enumerable: true, + get: function() { + return loadModule()[property]; + }, + }); + } +} + +export async function callAsync( + tok: string, + props: pulumi.Inputs, + res?: pulumi.Resource, + opts?: {property?: string}, +): Promise { + const o: any = runtime.call(tok, props, res); + const value = await o.promise(true /*withUnknowns*/); + const isKnown = await o.isKnown; + const isSecret = await o.isSecret; + const problem: string|undefined = + !isKnown ? "an unknown value" + : isSecret ? "a secret value" + : undefined; + // Ingoring o.resources silently. They are typically non-empty, r.f() calls include r as a dependency. + if (problem) { + throw new Error(`Plain resource method "${tok}" incorrectly returned ${problem}. ` + + "This is an error in the provider, please report this to the provider developer."); + } + // Extract a single property if requested. + if (opts && opts.property) { + return value[opts.property]; + } + return value; +} diff --git a/sdk/python/pulumi_kubernetes_coredns/README.md b/sdk/python/pulumi_kubernetes_coredns/README.md index e69de29..33beac8 100644 --- a/sdk/python/pulumi_kubernetes_coredns/README.md +++ b/sdk/python/pulumi_kubernetes_coredns/README.md @@ -0,0 +1 @@ +Strongly-typed CoreDNS installation diff --git a/sdk/python/pulumi_kubernetes_coredns/__init__.py b/sdk/python/pulumi_kubernetes_coredns/__init__.py index 744c410..08ed912 100644 --- a/sdk/python/pulumi_kubernetes_coredns/__init__.py +++ b/sdk/python/pulumi_kubernetes_coredns/__init__.py @@ -1,5 +1,5 @@ # coding=utf-8 -# *** WARNING: this file was generated by Pulumi SDK Generator. *** +# *** WARNING: this file was generated by pulumi-language-python. *** # *** Do not edit by hand unless you're certain you know what you are doing! *** from . import _utilities diff --git a/sdk/python/pulumi_kubernetes_coredns/_inputs.py b/sdk/python/pulumi_kubernetes_coredns/_inputs.py index 41f0df9..1d5046e 100644 --- a/sdk/python/pulumi_kubernetes_coredns/_inputs.py +++ b/sdk/python/pulumi_kubernetes_coredns/_inputs.py @@ -1,33 +1,94 @@ # coding=utf-8 -# *** WARNING: this file was generated by Pulumi SDK Generator. *** +# *** WARNING: this file was generated by pulumi-language-python. *** # *** 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 import pulumi_kubernetes __all__ = [ 'CoreDNSAutoscalerArgs', + 'CoreDNSAutoscalerArgsDict', 'CoreDNSDeploymentArgs', + 'CoreDNSDeploymentArgsDict', 'CoreDNSHPAArgs', + 'CoreDNSHPAArgsDict', 'CoreDNSImageArgs', + 'CoreDNSImageArgsDict', 'CoreDNSPrometheusMonitorArgs', + 'CoreDNSPrometheusMonitorArgsDict', 'CoreDNSPrometheusServiceArgs', + 'CoreDNSPrometheusServiceArgsDict', 'CoreDNSPrometheusArgs', + 'CoreDNSPrometheusArgsDict', 'CoreDNSRBACArgs', + 'CoreDNSRBACArgsDict', 'CoreDNSServerPluginArgs', + 'CoreDNSServerPluginArgsDict', 'CoreDNSServerZoneArgs', + 'CoreDNSServerZoneArgsDict', 'CoreDNSServerArgs', + 'CoreDNSServerArgsDict', 'CoreDNSServiceAccountArgs', + 'CoreDNSServiceAccountArgsDict', 'CoreDNSServiceArgs', + 'CoreDNSServiceArgsDict', 'CoreDNSZoneFileArgs', + 'CoreDNSZoneFileArgsDict', 'ReleaseArgs', + 'ReleaseArgsDict', 'RepositoryOptsArgs', + 'RepositoryOptsArgsDict', ] +MYPY = False + +if not MYPY: + class CoreDNSAutoscalerArgsDict(TypedDict): + cores_per_replica: NotRequired[pulumi.Input[int]] + """ + Number of cores in the cluster per coredns replica. + """ + enabled: NotRequired[pulumi.Input[bool]] + """ + Enabled the cluster-proportional-autoscaler. + """ + image: NotRequired[pulumi.Input['CoreDNSImageArgsDict']] + """ + The image to pull from for the autoscaler. + """ + include_unschedulable_nodes: NotRequired[pulumi.Input[bool]] + """ + Whether to include unschedulable nodes in the nodes/cores calculations - this requires version 1.8.0+ of the autoscaler. + """ + max: NotRequired[pulumi.Input[int]] + """ + Max size of replicaCount + """ + min: NotRequired[pulumi.Input[int]] + """ + Min size of replicaCount + """ + nodes_per_replica: NotRequired[pulumi.Input[int]] + """ + Number of nodes in the cluster per coredns replica. + """ + prevent_single_point_failure: NotRequired[pulumi.Input[bool]] + """ + If true does not allow single points of failure to form. + """ +elif False: + CoreDNSAutoscalerArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CoreDNSAutoscalerArgs: def __init__(__self__, *, @@ -163,6 +224,19 @@ def prevent_single_point_failure(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "prevent_single_point_failure", value) +if not MYPY: + class CoreDNSDeploymentArgsDict(TypedDict): + enabled: NotRequired[pulumi.Input[bool]] + """ + Optionally disable the main deployment and its respective resources. + """ + name: NotRequired[pulumi.Input[str]] + """ + Name of the deployment if deployment.enabled is true. Otherwise the name of an existing deployment for the autoscaler or HPA to target. + """ +elif False: + CoreDNSDeploymentArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CoreDNSDeploymentArgs: def __init__(__self__, *, @@ -202,6 +276,15 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) +if not MYPY: + class CoreDNSHPAArgsDict(TypedDict): + enabled: NotRequired[pulumi.Input[bool]] + max_replicas: NotRequired[pulumi.Input[int]] + metrics: NotRequired[pulumi.Input['pulumi_kubernetes.autoscaling.v2beta2.MetricSpecArgsDict']] + min_replicas: NotRequired[pulumi.Input[int]] +elif False: + CoreDNSHPAArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CoreDNSHPAArgs: def __init__(__self__, *, @@ -255,6 +338,27 @@ def min_replicas(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "min_replicas", value) +if not MYPY: + class CoreDNSImageArgsDict(TypedDict): + pull_policy: NotRequired[pulumi.Input[str]] + """ + Image pull policy. + """ + pull_secrets: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Specify container image pull secrets. + """ + repository: NotRequired[pulumi.Input[str]] + """ + The image repository to pull from. + """ + tag: NotRequired[pulumi.Input[str]] + """ + The image tag to pull from. + """ +elif False: + CoreDNSImageArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CoreDNSImageArgs: def __init__(__self__, *, @@ -326,6 +430,23 @@ def tag(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tag", value) +if not MYPY: + class CoreDNSPrometheusMonitorArgsDict(TypedDict): + additional_labels: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Additional labels that can be used so ServiceMonitor will be discovered by Prometheus. + """ + enabled: NotRequired[pulumi.Input[bool]] + """ + Set this to true to create ServiceMonitor for Prometheus operator. + """ + namespace: NotRequired[pulumi.Input[str]] + """ + Selector to select which namespaces the Endpoints objects are discovered from. + """ +elif False: + CoreDNSPrometheusMonitorArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CoreDNSPrometheusMonitorArgs: def __init__(__self__, *, @@ -381,6 +502,19 @@ def namespace(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "namespace", value) +if not MYPY: + class CoreDNSPrometheusServiceArgsDict(TypedDict): + annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Annotations to add to the metrics Service. + """ + enabled: NotRequired[pulumi.Input[bool]] + """ + Set this to true to create Service for Prometheus metrics. + """ +elif False: + CoreDNSPrometheusServiceArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CoreDNSPrometheusServiceArgs: def __init__(__self__, *, @@ -420,6 +554,13 @@ def enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "enabled", value) +if not MYPY: + class CoreDNSPrometheusArgsDict(TypedDict): + monitor: NotRequired[pulumi.Input['CoreDNSPrometheusMonitorArgsDict']] + service: NotRequired[pulumi.Input['CoreDNSPrometheusServiceArgsDict']] +elif False: + CoreDNSPrometheusArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CoreDNSPrometheusArgs: def __init__(__self__, *, @@ -449,6 +590,23 @@ def service(self, value: Optional[pulumi.Input['CoreDNSPrometheusServiceArgs']]) pulumi.set(self, "service", value) +if not MYPY: + class CoreDNSRBACArgsDict(TypedDict): + create: NotRequired[pulumi.Input[bool]] + """ + If true, create & use RBAC resources + """ + name: NotRequired[pulumi.Input[str]] + """ + The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template. + """ + psp_enable: NotRequired[pulumi.Input[bool]] + """ + If true, create and use PodSecurityPolicy + """ +elif False: + CoreDNSRBACArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CoreDNSRBACArgs: def __init__(__self__, *, @@ -504,6 +662,23 @@ def psp_enable(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "psp_enable", value) +if not MYPY: + class CoreDNSServerPluginArgsDict(TypedDict): + config_block: NotRequired[pulumi.Input[str]] + """ + if the plugin supports extra block style config, supply it here + """ + name: NotRequired[pulumi.Input[str]] + """ + name of plugin, if used multiple times ensure that the plugin supports it! + """ + parameters: NotRequired[pulumi.Input[str]] + """ + list of parameters after the plugin + """ +elif False: + CoreDNSServerPluginArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CoreDNSServerPluginArgs: def __init__(__self__, *, @@ -559,6 +734,23 @@ def parameters(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "parameters", value) +if not MYPY: + class CoreDNSServerZoneArgsDict(TypedDict): + scheme: NotRequired[pulumi.Input[str]] + """ + optional, defaults to "" (which equals "dns://" in CoreDNS) + """ + use_tcp: NotRequired[pulumi.Input[bool]] + """ + set this parameter to optionally expose the port on tcp as well as udp for the DNS protocol. Note that this will not work if you are also exposing tls or grpc on the same server. + """ + zone: NotRequired[pulumi.Input[str]] + """ + optional, defaults to "." + """ +elif False: + CoreDNSServerZoneArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CoreDNSServerZoneArgs: def __init__(__self__, *, @@ -614,6 +806,23 @@ def zone(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "zone", value) +if not MYPY: + class CoreDNSServerArgsDict(TypedDict): + plugins: NotRequired[pulumi.Input[Sequence[pulumi.Input['CoreDNSServerPluginArgsDict']]]] + """ + the plugins to use for this server block. + """ + port: NotRequired[pulumi.Input[int]] + """ + optional, defaults to "" (which equals 53 in CoreDNS). + """ + zones: NotRequired[pulumi.Input[Sequence[pulumi.Input['CoreDNSServerZoneArgsDict']]]] + """ + the `zones` block can be left out entirely, defaults to "." + """ +elif False: + CoreDNSServerArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CoreDNSServerArgs: def __init__(__self__, *, @@ -669,6 +878,20 @@ def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CoreDNSServe pulumi.set(self, "zones", value) +if not MYPY: + class CoreDNSServiceAccountArgsDict(TypedDict): + annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + create: NotRequired[pulumi.Input[bool]] + """ + If true, create & use serviceAccount. + """ + name: NotRequired[pulumi.Input[str]] + """ + The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template + """ +elif False: + CoreDNSServiceAccountArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CoreDNSServiceAccountArgs: def __init__(__self__, *, @@ -720,6 +943,35 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) +if not MYPY: + class CoreDNSServiceArgsDict(TypedDict): + annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Annotations to add to service. + """ + cluster_ip: NotRequired[pulumi.Input[str]] + """ + IP address to assign to service. + """ + external_ips: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + External IP addresses. + """ + external_traffic_policy: NotRequired[pulumi.Input[str]] + """ + Enable client source IP preservation. + """ + load_balancer_ip: NotRequired[pulumi.Input[str]] + """ + IP address to assign to load balancer (if supported). + """ + name: NotRequired[pulumi.Input[str]] + """ + The name of the Service. If not set, a name is generated using the fullname template. + """ +elif False: + CoreDNSServiceArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CoreDNSServiceArgs: def __init__(__self__, *, @@ -823,6 +1075,14 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) +if not MYPY: + class CoreDNSZoneFileArgsDict(TypedDict): + contents: NotRequired[pulumi.Input[str]] + domain: NotRequired[pulumi.Input[str]] + string: NotRequired[pulumi.Input[str]] +elif False: + CoreDNSZoneFileArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CoreDNSZoneFileArgs: def __init__(__self__, *, @@ -864,6 +1124,148 @@ def string(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "string", value) +if not MYPY: + class ReleaseArgsDict(TypedDict): + """ + A Release is an instance of a chart running in a Kubernetes cluster. + A Chart is a Helm package. It contains all of the resource definitions necessary to run an application, tool, or service inside of a Kubernetes cluster. + Note - Helm Release is currently in BETA and may change. Use in production environment is discouraged. + """ + atomic: NotRequired[pulumi.Input[bool]] + """ + If set, installation process purges chart on fail. `skipAwait` will be disabled automatically if atomic is used. + """ + chart: NotRequired[pulumi.Input[str]] + """ + Chart name to be installed. A path may be used. + """ + cleanup_on_fail: NotRequired[pulumi.Input[bool]] + """ + Allow deletion of new resources created in this upgrade when upgrade fails. + """ + create_namespace: NotRequired[pulumi.Input[bool]] + """ + Create the namespace if it does not exist. + """ + dependency_update: NotRequired[pulumi.Input[bool]] + """ + Run helm dependency update before installing the chart. + """ + description: NotRequired[pulumi.Input[str]] + """ + Add a custom description + """ + devel: NotRequired[pulumi.Input[bool]] + """ + Use chart development versions, too. Equivalent to version '>0.0.0-0'. If `version` is set, this is ignored. + """ + disable_crd_hooks: NotRequired[pulumi.Input[bool]] + """ + Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook + """ + disable_openapi_validation: NotRequired[pulumi.Input[bool]] + """ + If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema + """ + disable_webhooks: NotRequired[pulumi.Input[bool]] + """ + Prevent hooks from running. + """ + force_update: NotRequired[pulumi.Input[bool]] + """ + Force resource update through delete/recreate if needed. + """ + keyring: NotRequired[pulumi.Input[str]] + """ + Location of public keys used for verification. Used only if `verify` is true + """ + lint: NotRequired[pulumi.Input[bool]] + """ + Run helm lint when planning. + """ + manifest: NotRequired[pulumi.Input[Mapping[str, Any]]] + """ + The rendered manifests as JSON. Not yet supported. + """ + max_history: NotRequired[pulumi.Input[int]] + """ + Limit the maximum number of revisions saved per release. Use 0 for no limit. + """ + name: NotRequired[pulumi.Input[str]] + """ + Release name. + """ + namespace: NotRequired[pulumi.Input[str]] + """ + Namespace to install the release into. + """ + postrender: NotRequired[pulumi.Input[str]] + """ + Postrender command to run. + """ + recreate_pods: NotRequired[pulumi.Input[bool]] + """ + Perform pods restart during upgrade/rollback. + """ + render_subchart_notes: NotRequired[pulumi.Input[bool]] + """ + If set, render subchart notes along with the parent. + """ + replace: NotRequired[pulumi.Input[bool]] + """ + Re-use the given name, even if that name is already used. This is unsafe in production + """ + repository_opts: NotRequired[pulumi.Input['RepositoryOptsArgsDict']] + """ + Specification defining the Helm chart repository to use. + """ + reset_values: NotRequired[pulumi.Input[bool]] + """ + When upgrading, reset the values to the ones built into the chart. + """ + resource_names: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[Sequence[pulumi.Input[str]]]]]] + """ + Names of resources created by the release grouped by "kind/version". + """ + reuse_values: NotRequired[pulumi.Input[bool]] + """ + When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored + """ + skip_await: NotRequired[pulumi.Input[bool]] + """ + By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic. + """ + skip_crds: NotRequired[pulumi.Input[bool]] + """ + If set, no CRDs will be installed. By default, CRDs are installed if not already present. + """ + timeout: NotRequired[pulumi.Input[int]] + """ + Time in seconds to wait for any individual kubernetes operation. + """ + value_yaml_files: NotRequired[pulumi.Input[Sequence[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]]]] + """ + List of assets (raw yaml files). Content is read and merged with values. Not yet supported. + """ + values: NotRequired[pulumi.Input[Mapping[str, Any]]] + """ + Custom values set for the release. + """ + verify: NotRequired[pulumi.Input[bool]] + """ + Verify the package before installing it. + """ + version: NotRequired[pulumi.Input[str]] + """ + Specify the exact chart version to install. If this is not specified, the latest version is installed. + """ + wait_for_jobs: NotRequired[pulumi.Input[bool]] + """ + Will wait until all Jobs have been completed before marking the release as successful. This is ignored if `skipAwait` is enabled. + """ +elif False: + ReleaseArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ReleaseArgs: def __init__(__self__, *, @@ -1402,6 +1804,38 @@ def wait_for_jobs(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "wait_for_jobs", value) +if not MYPY: + class RepositoryOptsArgsDict(TypedDict): + """ + Specification defining the Helm chart repository to use. + """ + ca_file: NotRequired[pulumi.Input[str]] + """ + The Repository's CA File + """ + cert_file: NotRequired[pulumi.Input[str]] + """ + The repository's cert file + """ + key_file: NotRequired[pulumi.Input[str]] + """ + The repository's cert key file + """ + password: NotRequired[pulumi.Input[str]] + """ + Password for HTTP basic authentication + """ + repo: NotRequired[pulumi.Input[str]] + """ + Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository. + """ + username: NotRequired[pulumi.Input[str]] + """ + Username for HTTP basic authentication + """ +elif False: + RepositoryOptsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RepositoryOptsArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_kubernetes_coredns/_utilities.py b/sdk/python/pulumi_kubernetes_coredns/_utilities.py index b12d50f..67959f3 100644 --- a/sdk/python/pulumi_kubernetes_coredns/_utilities.py +++ b/sdk/python/pulumi_kubernetes_coredns/_utilities.py @@ -1,22 +1,30 @@ # coding=utf-8 -# *** WARNING: this file was generated by Pulumi SDK Generator. *** +# *** WARNING: this file was generated by pulumi-language-python. *** # *** Do not edit by hand unless you're certain you know what you are doing! *** +import asyncio +import functools +import importlib.metadata import importlib.util import inspect import json import os -import pkg_resources import sys import typing +import warnings +import base64 import pulumi import pulumi.runtime +from pulumi.runtime.sync_await import _sync_await +from pulumi.runtime.proto import resource_pb2 from semver import VersionInfo as SemverVersion from parver import Version as PEP440Version +C = typing.TypeVar("C", bound=typing.Callable) + def get_env(*args): for v in args: @@ -70,7 +78,7 @@ def _get_semver_version(): # to receive a valid semver string when receiving requests from the language host, so it's our # responsibility as the library to convert our own PEP440 version into a valid semver string. - pep440_version_string = pkg_resources.require(root_package)[0].version + pep440_version_string = importlib.metadata.version(root_package) pep440_version = PEP440Version.parse(pep440_version_string) (major, minor, patch) = pep440_version.release prerelease = None @@ -94,10 +102,17 @@ def _get_semver_version(): _version = _get_semver_version() _version_str = str(_version) +def get_resource_opts_defaults() -> pulumi.ResourceOptions: + return pulumi.ResourceOptions( + version=get_version(), + plugin_download_url=get_plugin_download_url(), + ) -def get_version(): - return _version_str - +def get_invoke_opts_defaults() -> pulumi.InvokeOptions: + return pulumi.InvokeOptions( + version=get_version(), + plugin_download_url=get_plugin_download_url(), + ) def get_resource_args_opts(resource_args_type, resource_options_type, *args, **kwargs): """ @@ -234,3 +249,79 @@ def lifted_func(*args, opts=None, **kwargs): **resolved_args['kwargs'])) return (lambda _: lifted_func) + + +def call_plain( + tok: str, + props: pulumi.Inputs, + res: typing.Optional[pulumi.Resource] = None, + typ: typing.Optional[type] = None, +) -> typing.Any: + """ + Wraps pulumi.runtime.plain to force the output and return it plainly. + """ + + output = pulumi.runtime.call(tok, props, res, typ) + + # Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency. + result, known, secret, _ = _sync_await(asyncio.create_task(_await_output(output))) + + problem = None + if not known: + problem = ' an unknown value' + elif secret: + problem = ' a secret value' + + if problem: + raise AssertionError( + f"Plain resource method '{tok}' incorrectly returned {problem}. " + + "This is an error in the provider, please report this to the provider developer." + ) + + return result + + +async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bool, bool, set]: + return ( + await o._future, + await o._is_known, + await o._is_secret, + await o._resources, + ) + + +# This is included to provide an upgrade path for users who are using a version +# of the Pulumi SDK (<3.121.0) that does not include the `deprecated` decorator. +def deprecated(message: str) -> typing.Callable[[C], C]: + """ + Decorator to indicate a function is deprecated. + + As well as inserting appropriate statements to indicate that the function is + deprecated, this decorator also tags the function with a special attribute + so that Pulumi code can detect that it is deprecated and react appropriately + in certain situations. + + message is the deprecation message that should be printed if the function is called. + """ + + def decorator(fn: C) -> C: + if not callable(fn): + raise TypeError("Expected fn to be callable") + + @functools.wraps(fn) + def deprecated_fn(*args, **kwargs): + warnings.warn(message) + pulumi.warn(f"{fn.__name__} is deprecated: {message}") + + return fn(*args, **kwargs) + + deprecated_fn.__dict__["_pulumi_deprecated_callable"] = fn + return typing.cast(C, deprecated_fn) + + return decorator + +def get_plugin_download_url(): + return None + +def get_version(): + return _version_str diff --git a/sdk/python/pulumi_kubernetes_coredns/core_dns.py b/sdk/python/pulumi_kubernetes_coredns/core_dns.py index 802e1db..7630d8a 100644 --- a/sdk/python/pulumi_kubernetes_coredns/core_dns.py +++ b/sdk/python/pulumi_kubernetes_coredns/core_dns.py @@ -1,11 +1,17 @@ # coding=utf-8 -# *** WARNING: this file was generated by Pulumi SDK Generator. *** +# *** WARNING: this file was generated by pulumi-language-python. *** # *** 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 * @@ -48,7 +54,7 @@ def __init__(__self__, *, zone_files: Optional[pulumi.Input[Sequence[pulumi.Input['CoreDNSZoneFileArgs']]]] = None): """ The set of arguments for constructing a CoreDNS resource. - :param pulumi.Input['pulumi_kubernetes.core.v1.AffinityArgs'] affinity: Affinity settings for pod assignment . + :param pulumi.Input['pulumi_kubernetes.core.v1.AffinityArgs'] affinity: Affinity settings for pod assignment. :param pulumi.Input['CoreDNSAutoscalerArgs'] autoscaler: Configue a cluster-proportional-autoscaler for coredns. See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler. :param pulumi.Input['pulumi_kubernetes.autoscaling.v2beta2.HorizontalPodAutoscalerSpecArgs'] autoscaling: Create HorizontalPodAutoscaler object. :param pulumi.Input['CoreDNSDeploymentArgs'] deployment: Configure the CoreDNS Deployment. @@ -143,7 +149,7 @@ def __init__(__self__, *, @pulumi.getter def affinity(self) -> Optional[pulumi.Input['pulumi_kubernetes.core.v1.AffinityArgs']]: """ - Affinity settings for pod assignment . + Affinity settings for pod assignment. """ return pulumi.get(self, "affinity") @@ -503,15 +509,15 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, affinity: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.AffinityArgs']]] = None, - autoscaler: Optional[pulumi.Input[pulumi.InputType['CoreDNSAutoscalerArgs']]] = None, + autoscaler: Optional[pulumi.Input[Union['CoreDNSAutoscalerArgs', 'CoreDNSAutoscalerArgsDict']]] = None, autoscaling: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.autoscaling.v2beta2.HorizontalPodAutoscalerSpecArgs']]] = None, - deployment: Optional[pulumi.Input[pulumi.InputType['CoreDNSDeploymentArgs']]] = None, + deployment: Optional[pulumi.Input[Union['CoreDNSDeploymentArgs', 'CoreDNSDeploymentArgsDict']]] = None, extra_secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]]] = None, extra_volume_mounts: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]]] = None, extra_volumes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeArgs']]]]] = None, - helm_options: Optional[pulumi.Input[pulumi.InputType['ReleaseArgs']]] = None, - hpa: Optional[pulumi.Input[pulumi.InputType['CoreDNSHPAArgs']]] = None, - image: Optional[pulumi.Input[pulumi.InputType['CoreDNSImageArgs']]] = None, + helm_options: Optional[pulumi.Input[Union['ReleaseArgs', 'ReleaseArgsDict']]] = None, + hpa: Optional[pulumi.Input[Union['CoreDNSHPAArgs', 'CoreDNSHPAArgsDict']]] = None, + image: Optional[pulumi.Input[Union['CoreDNSImageArgs', 'CoreDNSImageArgsDict']]] = None, is_cluster_service: Optional[pulumi.Input[bool]] = None, liveness_probe: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ProbeArgs']]] = None, node_selector: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -519,35 +525,35 @@ def __init__(__self__, pod_disruption_budget: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.policy.v1.PodDisruptionBudgetSpecArgs']]] = None, pre_stop_sleep: Optional[pulumi.Input[int]] = None, priority_class_name: Optional[pulumi.Input[str]] = None, - prometheus: Optional[pulumi.Input[pulumi.InputType['CoreDNSPrometheusArgs']]] = None, - rbac: Optional[pulumi.Input[pulumi.InputType['CoreDNSRBACArgs']]] = None, + prometheus: Optional[pulumi.Input[Union['CoreDNSPrometheusArgs', 'CoreDNSPrometheusArgsDict']]] = None, + rbac: Optional[pulumi.Input[Union['CoreDNSRBACArgs', 'CoreDNSRBACArgsDict']]] = None, readiness_probe: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ProbeArgs']]] = None, replica_count: Optional[pulumi.Input[int]] = None, resources: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']]] = None, rolling_update: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.apps.v1.RollingUpdateDeploymentArgs']]] = None, - servers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CoreDNSServerArgs']]]]] = None, - service: Optional[pulumi.Input[pulumi.InputType['CoreDNSServiceArgs']]] = None, - service_account: Optional[pulumi.Input[pulumi.InputType['CoreDNSServiceAccountArgs']]] = None, + servers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CoreDNSServerArgs', 'CoreDNSServerArgsDict']]]]] = None, + service: Optional[pulumi.Input[Union['CoreDNSServiceArgs', 'CoreDNSServiceArgsDict']]] = None, + service_account: Optional[pulumi.Input[Union['CoreDNSServiceAccountArgs', 'CoreDNSServiceAccountArgsDict']]] = None, service_type: Optional[pulumi.Input[str]] = None, termination_grace_period_seconds: Optional[pulumi.Input[int]] = None, tolerations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.TolerationArgs']]]]] = None, - zone_files: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CoreDNSZoneFileArgs']]]]] = None, + zone_files: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CoreDNSZoneFileArgs', 'CoreDNSZoneFileArgsDict']]]]] = None, __props__=None): """ Enable fast and flexible in-cluster DNS. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.AffinityArgs']] affinity: Affinity settings for pod assignment . - :param pulumi.Input[pulumi.InputType['CoreDNSAutoscalerArgs']] autoscaler: Configue a cluster-proportional-autoscaler for coredns. See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler. + :param pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.AffinityArgs']] affinity: Affinity settings for pod assignment. + :param pulumi.Input[Union['CoreDNSAutoscalerArgs', 'CoreDNSAutoscalerArgsDict']] autoscaler: Configue a cluster-proportional-autoscaler for coredns. See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler. :param pulumi.Input[pulumi.InputType['pulumi_kubernetes.autoscaling.v2beta2.HorizontalPodAutoscalerSpecArgs']] autoscaling: Create HorizontalPodAutoscaler object. - :param pulumi.Input[pulumi.InputType['CoreDNSDeploymentArgs']] deployment: Configure the CoreDNS Deployment. + :param pulumi.Input[Union['CoreDNSDeploymentArgs', 'CoreDNSDeploymentArgsDict']] deployment: Configure the CoreDNS Deployment. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]] extra_secrets: Optional array of secrets to mount inside coredns container. Possible usecase: need for secure connection with etcd backend. Optional array of mount points for extraVolumes. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]] extra_volume_mounts: Optional array of mount points for extraVolumes. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeArgs']]]] extra_volumes: Optional array of extra volumes to create. - :param pulumi.Input[pulumi.InputType['ReleaseArgs']] helm_options: HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args. - :param pulumi.Input[pulumi.InputType['CoreDNSHPAArgs']] hpa: Alternative configuration for HPA deployment if wanted. - :param pulumi.Input[pulumi.InputType['CoreDNSImageArgs']] image: The image to pull. + :param pulumi.Input[Union['ReleaseArgs', 'ReleaseArgsDict']] helm_options: HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args. + :param pulumi.Input[Union['CoreDNSHPAArgs', 'CoreDNSHPAArgsDict']] hpa: Alternative configuration for HPA deployment if wanted. + :param pulumi.Input[Union['CoreDNSImageArgs', 'CoreDNSImageArgsDict']] image: The image to pull. :param pulumi.Input[bool] is_cluster_service: Specifies whether chart should be deployed as cluster-service or normal k8s app. :param pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ProbeArgs']] liveness_probe: Configure the liveness probe. To use the livenessProbe, the health plugin needs to be enabled in CoreDNS' server config. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] node_selector: Node labels for pod assignment. @@ -555,18 +561,18 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['pulumi_kubernetes.policy.v1.PodDisruptionBudgetSpecArgs']] pod_disruption_budget: Optional PodDisruptionBudget. :param pulumi.Input[int] pre_stop_sleep: Under heavy load it takes more that standard time to remove Pod endpoint from a cluster. This will delay termination of our pod by `preStopSleep`. To make sure kube-proxy has enough time to catch up. :param pulumi.Input[str] priority_class_name: Optional priority class to be used for the coredns pods. Used for autoscaler if autoscaler.priorityClassName not set. - :param pulumi.Input[pulumi.InputType['CoreDNSPrometheusArgs']] prometheus: Configure Prometheus installation. - :param pulumi.Input[pulumi.InputType['CoreDNSRBACArgs']] rbac: Configure CoreDNS RBAC resources. + :param pulumi.Input[Union['CoreDNSPrometheusArgs', 'CoreDNSPrometheusArgsDict']] prometheus: Configure Prometheus installation. + :param pulumi.Input[Union['CoreDNSRBACArgs', 'CoreDNSRBACArgsDict']] rbac: Configure CoreDNS RBAC resources. :param pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ProbeArgs']] readiness_probe: Configure the readiness probe. To use the readinessProbe, the health plugin needs to be enabled in CoreDNS' server config. :param pulumi.Input[int] replica_count: Number of replicas. :param pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']] resources: Container resource limits. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CoreDNSServerArgs']]]] servers: Configuration for CoreDNS and plugins. Default zone is what Kubernetes recommends: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns-configmap-options - :param pulumi.Input[pulumi.InputType['CoreDNSServiceArgs']] service: Configure CoreDNS Service parameters. - :param pulumi.Input[pulumi.InputType['CoreDNSServiceAccountArgs']] service_account: Configure CoreDNS Service Account. + :param pulumi.Input[Sequence[pulumi.Input[Union['CoreDNSServerArgs', 'CoreDNSServerArgsDict']]]] servers: Configuration for CoreDNS and plugins. Default zone is what Kubernetes recommends: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns-configmap-options + :param pulumi.Input[Union['CoreDNSServiceArgs', 'CoreDNSServiceArgsDict']] service: Configure CoreDNS Service parameters. + :param pulumi.Input[Union['CoreDNSServiceAccountArgs', 'CoreDNSServiceAccountArgsDict']] service_account: Configure CoreDNS Service Account. :param pulumi.Input[str] service_type: Kubernetes Service type. :param pulumi.Input[int] termination_grace_period_seconds: Optional duration in seconds the pod needs to terminate gracefully. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.TolerationArgs']]]] tolerations: Tolerations for pod assignment. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CoreDNSZoneFileArgs']]]] zone_files: Configure custom Zone files. + :param pulumi.Input[Sequence[pulumi.Input[Union['CoreDNSZoneFileArgs', 'CoreDNSZoneFileArgsDict']]]] zone_files: Configure custom Zone files. """ ... @overload @@ -593,15 +599,15 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, affinity: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.AffinityArgs']]] = None, - autoscaler: Optional[pulumi.Input[pulumi.InputType['CoreDNSAutoscalerArgs']]] = None, + autoscaler: Optional[pulumi.Input[Union['CoreDNSAutoscalerArgs', 'CoreDNSAutoscalerArgsDict']]] = None, autoscaling: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.autoscaling.v2beta2.HorizontalPodAutoscalerSpecArgs']]] = None, - deployment: Optional[pulumi.Input[pulumi.InputType['CoreDNSDeploymentArgs']]] = None, + deployment: Optional[pulumi.Input[Union['CoreDNSDeploymentArgs', 'CoreDNSDeploymentArgsDict']]] = None, extra_secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]]] = None, extra_volume_mounts: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]]] = None, extra_volumes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeArgs']]]]] = None, - helm_options: Optional[pulumi.Input[pulumi.InputType['ReleaseArgs']]] = None, - hpa: Optional[pulumi.Input[pulumi.InputType['CoreDNSHPAArgs']]] = None, - image: Optional[pulumi.Input[pulumi.InputType['CoreDNSImageArgs']]] = None, + helm_options: Optional[pulumi.Input[Union['ReleaseArgs', 'ReleaseArgsDict']]] = None, + hpa: Optional[pulumi.Input[Union['CoreDNSHPAArgs', 'CoreDNSHPAArgsDict']]] = None, + image: Optional[pulumi.Input[Union['CoreDNSImageArgs', 'CoreDNSImageArgsDict']]] = None, is_cluster_service: Optional[pulumi.Input[bool]] = None, liveness_probe: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ProbeArgs']]] = None, node_selector: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -609,26 +615,23 @@ def _internal_init(__self__, pod_disruption_budget: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.policy.v1.PodDisruptionBudgetSpecArgs']]] = None, pre_stop_sleep: Optional[pulumi.Input[int]] = None, priority_class_name: Optional[pulumi.Input[str]] = None, - prometheus: Optional[pulumi.Input[pulumi.InputType['CoreDNSPrometheusArgs']]] = None, - rbac: Optional[pulumi.Input[pulumi.InputType['CoreDNSRBACArgs']]] = None, + prometheus: Optional[pulumi.Input[Union['CoreDNSPrometheusArgs', 'CoreDNSPrometheusArgsDict']]] = None, + rbac: Optional[pulumi.Input[Union['CoreDNSRBACArgs', 'CoreDNSRBACArgsDict']]] = None, readiness_probe: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ProbeArgs']]] = None, replica_count: Optional[pulumi.Input[int]] = None, resources: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']]] = None, rolling_update: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.apps.v1.RollingUpdateDeploymentArgs']]] = None, - servers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CoreDNSServerArgs']]]]] = None, - service: Optional[pulumi.Input[pulumi.InputType['CoreDNSServiceArgs']]] = None, - service_account: Optional[pulumi.Input[pulumi.InputType['CoreDNSServiceAccountArgs']]] = None, + servers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CoreDNSServerArgs', 'CoreDNSServerArgsDict']]]]] = None, + service: Optional[pulumi.Input[Union['CoreDNSServiceArgs', 'CoreDNSServiceArgsDict']]] = None, + service_account: Optional[pulumi.Input[Union['CoreDNSServiceAccountArgs', 'CoreDNSServiceAccountArgsDict']]] = None, service_type: Optional[pulumi.Input[str]] = None, termination_grace_period_seconds: Optional[pulumi.Input[int]] = None, tolerations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.TolerationArgs']]]]] = None, - zone_files: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CoreDNSZoneFileArgs']]]]] = None, + zone_files: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CoreDNSZoneFileArgs', 'CoreDNSZoneFileArgsDict']]]]] = None, __props__=None): - if opts is None: - opts = pulumi.ResourceOptions() + 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.version is None: - opts.version = _utilities.get_version() if opts.id is not None: raise ValueError('ComponentResource classes do not support opts.id') else: diff --git a/sdk/python/pulumi_kubernetes_coredns/outputs.py b/sdk/python/pulumi_kubernetes_coredns/outputs.py index 3a2323c..c8f3cf9 100644 --- a/sdk/python/pulumi_kubernetes_coredns/outputs.py +++ b/sdk/python/pulumi_kubernetes_coredns/outputs.py @@ -1,11 +1,17 @@ # coding=utf-8 -# *** WARNING: this file was generated by Pulumi SDK Generator. *** +# *** WARNING: this file was generated by pulumi-language-python. *** # *** 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__ = [ diff --git a/sdk/python/pulumi_kubernetes_coredns/provider.py b/sdk/python/pulumi_kubernetes_coredns/provider.py index fc91bd8..6436790 100644 --- a/sdk/python/pulumi_kubernetes_coredns/provider.py +++ b/sdk/python/pulumi_kubernetes_coredns/provider.py @@ -1,11 +1,17 @@ # coding=utf-8 -# *** WARNING: this file was generated by Pulumi SDK Generator. *** +# *** WARNING: this file was generated by pulumi-language-python. *** # *** 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__ = ['ProviderArgs', 'Provider'] @@ -54,12 +60,9 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, __props__=None): - if opts is None: - opts = pulumi.ResourceOptions() + 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.version is None: - opts.version = _utilities.get_version() 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') diff --git a/sdk/python/pulumi_kubernetes_coredns/pulumi-plugin.json b/sdk/python/pulumi_kubernetes_coredns/pulumi-plugin.json index ab9997c..cad90a1 100644 --- a/sdk/python/pulumi_kubernetes_coredns/pulumi-plugin.json +++ b/sdk/python/pulumi_kubernetes_coredns/pulumi-plugin.json @@ -1,4 +1,5 @@ { "resource": true, - "name": "kubernetes-coredns" + "name": "kubernetes-coredns", + "version": "1.0.0-alpha.0+dev" } diff --git a/sdk/python/pyproject.toml b/sdk/python/pyproject.toml new file mode 100644 index 0000000..6fb1aac --- /dev/null +++ b/sdk/python/pyproject.toml @@ -0,0 +1,22 @@ +[project] + name = "pulumi_kubernetes_coredns" + description = "Strongly-typed CoreDNS installation" + dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "pulumi-kubernetes>=4.19.0,<5.0.0", "semver>=2.8.1", "typing-extensions>=4.11; python_version < \"3.11\""] + keywords = ["pulumi", "kubernetes", "coredns", "kind/component", "category/infrastructure"] + readme = "README.md" + requires-python = ">=3.9" + version = "1.0.0a0+dev" + [project.license] + text = "Apache-2.0" + [project.urls] + Homepage = "https://pulumi.io" + Repository = "https://github.com/pulumi/pulumi-kubernetes-coredns" + +[build-system] + requires = ["setuptools>=61.0"] + build-backend = "setuptools.build_meta" + +[tool] + [tool.setuptools] + [tool.setuptools.package-data] + pulumi_kubernetes_coredns = ["py.typed", "pulumi-plugin.json"] diff --git a/sdk/python/setup.py b/sdk/python/setup.py deleted file mode 100644 index 39c30a7..0000000 --- a/sdk/python/setup.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by Pulumi SDK Generator. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import errno -from setuptools import setup, find_packages -from setuptools.command.install import install -from subprocess import check_call - - -VERSION = "0.0.0" -PLUGIN_VERSION = "0.0.0" - -class InstallPluginCommand(install): - def run(self): - install.run(self) - try: - check_call(['pulumi', 'plugin', 'install', 'resource', 'kubernetes-coredns', PLUGIN_VERSION]) - except OSError as error: - if error.errno == errno.ENOENT: - print(f""" - There was an error installing the kubernetes-coredns resource provider plugin. - It looks like `pulumi` is not installed on your system. - Please visit https://pulumi.com/ to install the Pulumi CLI. - You may try manually installing the plugin by running - `pulumi plugin install resource kubernetes-coredns {PLUGIN_VERSION}` - """) - else: - raise - - -def readme(): - try: - with open('README.md', encoding='utf-8') as f: - return f.read() - except FileNotFoundError: - return "kubernetes-coredns Pulumi Package - Development Version" - - -setup(name='pulumi_kubernetes_coredns', - version=VERSION, - long_description=readme(), - long_description_content_type='text/markdown', - cmdclass={ - 'install': InstallPluginCommand, - }, - keywords='pulumi kubernetes coredns kind/component category/infrastructure', - packages=find_packages(), - package_data={ - 'pulumi_kubernetes_coredns': [ - 'py.typed', - 'pulumi-plugin.json', - ] - }, - install_requires=[ - 'parver>=0.2.1', - 'pulumi>=3.0.0,<4.0.0', - 'pulumi-kubernetes>=3.7.1,<4.0.0', - 'semver>=2.8.1' - ], - zip_safe=False)